oracle sdeveloper suite 2 0 njv Nieznany

background image

V Konferencja PLOUG
Zakopane
Październik 1999

Oracle JDeveloper Suite 2.0 jako wydajne środowisko

do tworzenia aplikacji intra- i internetowych,

na przykładzie sklepu elektronicznego

Agnieszka Węgrzyn

A.Wegrzyn@iie.pz.zgora.pl

Michał Małecki

M.Malecki@iie.pz.zgora.pl

Politechnika Zielonogórska

Instytut Informatyki i Elektroniki

ul. Podgórna 50, 65-001 Zielona Góra

Streszczenie

W referacie przedstawiono sposób tworzenia aplikacji intra i internetowych, na przykładzie sklepu
elektronicznego z wykorzystaniem pakietu JDeveloper firmy Oracle. Interfejs użytkownika przygotowano
w języku Java w postaci apletu osadzonego na stronie WWW. Umożliwia on użytkownikowi dokonywanie
zakupów sprzętu komputerowego poprzez sieć Internet wraz z obsługą autoryzacji dostępu do konta.
Aplikacja została przygotowana z wykorzystaniem technologii trójwarstwowej. W warstwie serwera
wykorzystano Oracle Application Server, natomiast jako serwer baz danych Oracle 8i. Komunikacja z bazą
danych odbywa się poprzez interfejs JDBC.

background image

2

1 Wprowadzenie

Tworzenie przez przedsiębiorstwa rozproszonych aplikacji obiektowych

wykorzystywanych do prowadzenia biznesu opartego o WWW, wymaga koncentracji na

warstwie pośredniej. Logika biznesu umieszczana jest na serwerach pracujących w

warstwie pośredniej, dzięki czemu przedsiębiorstwa mogą z łatwością dokonywać zmian w

aplikacjach przeznaczonych dla tysięcy klientów - bez konieczności każdorazowego

wykonywania instalacji u wszystkich klientów.

Niestety wzrost ilości warstw tworzonego oprogramowania, wiąże się ze wzrostem

stopnia komplikacji, oraz ze sprostaniem przez programistów unikalnym problemom

pojawiającym się przy wdrażaniu i zarządzaniu tak zbudowanymi aplikacjami.

Do tej pory większość firm korzysta z architektury klient-serwer. Powstanie nowej

technologii intra i internetowej pozwoliło na rozwiązanie problemów z jakimi spotykano

się w architekturze klient-serwer, czyli koniecznością zastosowania bardzo dobrych

komputerów (tzw. "grubych klientów") oraz ceną kosztów administracji i utrzymania

takiego rozwiązania. W architekturze klient-serwer, logika aplikacji umieszczana jest na

kliencie, a baza danych na serwerze, natomiast przy zastosowaniu technologii

internetowej, ciężar zostaje przeniesiony na serwer aplikacji. Na nim umieszczana jest nie

tylko baza danych ale również część logiki biznesowej. W tym trójwarstwowym modelu

na stacjach klienckich uruchamiana jest jedynie przeglądarka WWW ("cienki klient").

2 Architektura

trójwarstwowa

Pojęcie warstw w informatyce jest używane przy opisie rozdziału pomiędzy

logicznymi częściami aplikacji. Występuje ono również przy opisie architektury

klient/serwer. Do niedawna uważano że wystarczą jedynie dwie warstwy. Silne maszyny

klienckie zajmują się zarówno warstwą prezentacyjną (interfejs użytkownika) jak również

przejmują większość obciążenia związanego z przetwarzaniem danych. Rola serwera w

architekturze dwuwarstwowej sprowadza się do serwera bazy danych i serwera plików.

Komunikacja pomiędzy warstwami sprowadza się do wysyłania zapytań SQL ze strony

klienta i zwracania rekordów z danymi z serwera. Takie rozwiązanie, powszechnie

stosowane do dziś niesie niestety wiele ograniczeń, które szczególnie widoczne są przy

budowaniu aplikacji Internetowych. Aplikacje takie charakteryzują się pracą w

środowiskach heterogenicznych, rozproszonych. Wymaga się aby były to rozwiązania

background image

3

skalowalne, wydajne, zapewniały bezpieczeństwo przesyłanych danych oraz łatwo

zarządzane.

Powyższe wymagania można spełnić tylko po wprowadzeniu warstwy trzeciej,

która będzie pośredniczyć pomiędzy „cienkim” klientem, a serwerem bazy danych lub

interfejsem innej aplikacji. Logika aplikacji zostaje przeniesiona na warstwę pośrednią, a

rola klienta sprowadza się do prezentacji interfejsu użytkownika. Sama warstwa pośrednia

nie musi być zaimplementowana w sposób monolityczny. W jej skład może wchodzić

wiele programów funkcjonujących w środowisku heterogenicznym. Możliwe jest więc

tworzenie aplikacji n-warstwowych.

Wśród wielu cech rozszerzających możliwości architektury klient/serwer, poprzez

zastosowanie dodatkowej warstwy, można wyróżnić następujące:

• zmniejszenie obciążenia sieci, poprzez redukcję konwersacją pomiędzy serwerem

bazy danych, a klientem. Aplikacja klienta wywoływać będzie tylko serwisy osadzone

w warstwie pośredniej i oczekiwać na odpowiedzi co znacznie zwiększa wydajność

systemu,

• warstwa pośrednia może być dystrybuowana na wiele serwerów (również

heterogenicznych),

• możliwość dystrybucji warstwy pośredniej na wiele serwerów znakomicie wpływa na

skalowalność systemu oraz pozwala na wykorzystanie baz danych różnych

producentów, pracujących na różnych platformach,

• w przypadku wykorzystania wielu serwerów w warstwie pośredniej możliwe jest

również równoważenie obciążenia (load balancing), oraz zapewnia przejęcie zadań

maszyn, które uległy awarii, przez pozostałe serwery systemu (fault-tolerance),

• enkapsulacja danych – klient wywołuje tylko serwisy, komponenty lub metody

warstwy pośredniej, dzięki czemu mogą one pochodzić z różnych źródeł danych

(zarówno baz danych jak i aplikacji, które potrafią udostępnić odpowiedni interfejs do

komunikacji z serwerem warstwy pośredniej),

• możliwość wielokrotnego wykorzystania komponentów po stronie serwera,
• uproszczona procedura instalacji i modyfikacji aplikacji.

Niestety aplikacje wykorzystujące architekturę pośrednią są droższe od rozwiązań

wykorzystujących architekturę dwuwarstwową. Przed rozpoczęciem prac nad nowym

systemem należy dokonać analizy i wybrać odpowiednie rozwiązanie. Według Gartner

background image

4

Group System, który spełnia jedną z poniższych cech, powinien być tworzony w

architekturze z warstwą pośrednią:

• duża liczba serwisów, komponentów bądź klas aplikacji (ponad 50),
• duże obciążenie systemu – ponad 50 0000 transakcji na dobę lub 300 użytkowników

działających równocześnie,

• więcej niż jedno źródło danych (zwłaszcza heterogeniczne),
• komponenty aplikacji pisane w różnych językach,
• w rachubę wchodzi duża liczba modyfikacji,
• działanie systemu zaplanowane jest na dłużej niż trzy lata.

koszt stworzenia
i utrzymania systemu

czas użytkowania systemu

architektura dwuwarstwowa

architektura trójwarstwowa

Rys 1 Zależność kosztu budowy i utrzymania systemu o architekturze wielowarstwowej od

czasu użytkowania systemu.

3 JDeveloper Suite 2.0

Oracle JDeveloper Suite 2.0 dostarcza kompletny zestaw narzędzi wspomagających

tworzenie testowanie i dystrybucji aplikacji bazodanowych dla Internetu. JDeveloper Suite

zawiera następujące produkty:

• Oracle JDeveloper, wersja 2.0, kompletne narzędzie do tworzenia, testowania i

dystrybucji Javowych aplikacji Internetowych.

• Oracle8i Enterprise Edition w wersji 8.1.5, baza danych klasy Enterprise z wbudowaną

Wirtualną Maszyną Javy (JVM).

• Oracle Aplikacji Serwer, wersja 4.0.7, skalowany, oparty na otwartych standardach

serwer aplikacji służący do uruchamiania biznesowych i komercyjnych aplikacji dla

Web-u.

background image

5

• Oracle Procedure Builder, wersja 6.0, narzędzie do wizualnego tworzenia i testowania

procedur i wyzwalaczy.

• Oracle8i Lite, wersja 3.6.
• Książka o technologii Java: Thinking in Java, Bruce Eckel.

3.1 Oracle

JDeveloper

Oracle JDeveloper, wersja 2.0 jest wizualnym, opartym o komponenty

środowiskiem do tworzenia, testowania i uruchamiania aplikacji bazodanowych dla

Internetu.

Elementy wyróżniające JDeveloper-a:

Java w bazie danych Oracle 8i - JDeveloper wspiera tworzenie i uruchamianie metod

w języku Java w serwerze bazy danych Oracle 8i. Z narzędziem dostarczeni są

asystenci wspierający tworzenie Java Stored Peocedure, Enterprise JavaBeans i

obiektów CORBA. Środowisko umożliwia projektantowi skupić się nad logiką

aplikacji, zaś samo narzędzie generuje wymaganą logikę komunikacji.

Enterprise JavaBeans - Zarówno serwer bazy danych Oracle 8i jak i serwer aplikacji

Oracle Application Server zawierają wydajne serwery komponentów Enterprise

JavaBeans. JDeveloper 2.0 wspiera tworzenie i uruchamianie komponentów EJB.

Dzięki zastosowanie EJB możliwe jest tworzenie przenośnych komponentów

pracujących po stronie serwera.

Obiekty CORBA - Aplikacje wielowarstwowe mają wiele zalet takich jak: lepsza

skalowalność, odporność na awarie i niższe koszty ogólne. Dzięki obiektom CORBA

możliwe jest tworzenie aplikacji wielowarstwowych. Technologia CORBA umożliwia

komunikację pomiędzy obiektami napisanymi przy pomocy różnych języków

programowania. Przykładowo, obiekty zaimplementowane w języka zorientowanych

obiektowo (Java, Smalltalk) mogą się komunikować z obiektami napisanym w

językach nieobiektowych i odwrotnie. JDeveloper Suite ułatwia tworzenie i

uruchamianie obiektów CORBA w języku Java bez konieczności posiadania wiedzy o

programowaniu w standardzie CORBA.

SQLJ - W trakcie tworzenia aplikacji bazodanowych w języku Java konieczne jest

tworzenie odwołań przy pomocy API JDBC. Zdumiewać nas może liczba linii kodu,

potrzebnych do uzyskania tego co narzędzia klient-serwer potrafią zrobić z użyciem

prostych instrukcji SQL. Z pomocą przychodzi nam SQLJ, dzięki, któremu możemy

background image

6

osadzać instrukcje SQL bezpośrednio w plikach Java. Specyfikacja SQLJ powstała

między innymi dzięki firmie Oracle. Pozwala ona skupić się projektantowi na logice

biznesowej aplikacji.

Rys 2 JDeveloper jest wizualnym narzędziem, pozwalającym programiście na ingerencje w

kod źródłowy bez dodatkowych znaczników.

InfoBus – kontrolki „świadome danych” - Wraz z pakietem dostarczany jest zestaw

asystentów wspierających tworzenie aplikacji bazodanowych wykorzystujących

„świadome danych” kontrolki. InfoBus, oparte na komponentach Swing. Dzięki tym

komponentom możliwy jest dostęp do danych bez konieczności pisania kodu

wykorzystującego API JDBC.

Tworzenie Serwletów - JDeveloper ofiarowuje kompletne środowisko do tworzenia

serwletów. Serwlety są przenośnymi klasami Javy, które obsługują wywołania HTTP i

dynamicznie generują strony HTML. Projektant może używać asystentów JDeveloper-

a do generowania serwletów korzystających z informacji zawartych w bazie danych.

Cascading Style Sheets umożliwiają dostosowywanie generowanych serwletów

bazodanowych. JDeveloper stosuje serwlety zgodne ze standardami przemysłowymi i

może umieszczać je na dowolnym serwerze WWW.

background image

7

Integracja z Oracle Application Server - JDeveloper pozwala przenieść logikę

aplikacji z klienta do warstwy pośredniej. JDeveloper rozmieszcza klasy Javy jako

aplikacje JWeb lub CORBA Objects.

3.2 Oracle Application Server

Firma Oracle dostarcza serwer aplikacji klasy Enterprise: Oracle Application

Server do tworzenia aplikacji wielowarstwowych. Stanowi on integrowane rozwiązanie

łączące w sobie najlepsze elementy technologii serwerów aplikacji wychodząc na przeciw

potrzebom przedsiębiorstw zwracających się w stronę wielowarstwowych, rozproszonych

rozwiązań opartych na Webie.

Rys 3 Ogólna architektura Oracle Application Server

Oracle Application Server to otwarta, oparta na standardach architektura doskonale

nadająca się do tworzenia, i wdrażania nowoczesnych aplikacji dla środowiska Web.

Skalowana, rozproszona architektura i integracja z bazą danych jest podstawą dla

tworzenia wielowarstwowych, rozproszonych aplikacji dla przedsiębiorstw.

background image

8

KLIENT

ORACLE APPLICATION

SERVER

Przeglądarka

JCO Object Factory

Aplet

ORB

ORB

Zarządca zasobów

JCO Server Process

Obiekt

Obiekt

IIOP

IIOP

IIOP

HTTP

Serwer

baz danych

ORACLE

SQL*Net

Rys 4 Architektura serwera aplikacji Webowych

Oracle Application Server jest pierwszym serwerem Webowym, który umożliwia

utrzymywanie trwałych Internetowych sesji pomiędzy przeglądarkami WWW, serwerami

aplikacji i serwerami baz danych w celu prowadzenia transakcji poprzez sieć Internet.

Utrzymywanie trwałych sesji jest niezbędne do prowadzenia bezpiecznych i godnych

zaufania transakcji biznesowych.

Web Request Broker (WRB) jest podstawą serwera aplikacji firmy Oracle. Zajmuje

się on nasłuchiwaniem żądań od przeglądarek i wysyła je do stosownych kartridżów

(moduły oprogramowania). Oracle Application Server obsługuje kartridże PL/SQL,

LiveHTML, PERL oraz Java (Enterprise Java Beans).

Najważniejsze cechy serwera aplikacji firmy Oracle:

• duża skalowalność oraz wydajność,
• bezpieczeństwo korporacyjnych danych,
• oparcie na standardach,
• łatwiejsze zarządzanie aplikacjami w środowisku rozproszonym,
• transakcje w rozproszonym środowisku,
• przenośność pomiędzy platformami,
• łatwe udostępnianie danych w sieci Internet.

background image

9

3.3 Środowisko Oracle 8i

Jeszcze kilka lat temu sieć Internet służyła do umieszczania statycznych witryn,

które stanowiły jedynie reklamę dla firm. Kolejnym etapem rozwoju sieci Internet były

dynamiczne strony WWW, które zwiększały atrakcyjność witryn. Obecnie w sieci tej

umieszczane są również aplikacje WWW pozwalające w znacznie szerszy i łatwiejszy

sposób obsłużyć klienta oraz zwiększyć efektywność i atrakcyjność firmy.

System baz danych Oracle 8i jest środowiskiem do tworzenia i uruchamiania

aplikacji internetowych wykorzystujących zasoby baz danych. W jądro systemu zostało

wbudowanych wiele właściwości internetowych. System ten znacznie upraszcza technikę

budowania aplikacji internetowych, pozwalając projektantowi na wykorzystywanie

bardziej wyrafinowanych elementów.

W wersji systemu Oracle 8i wbudowana została wirtualna maszyna Javy (Java VM),

co sprawiło, że środowisko to jest bardziej elastyczne i przenaszalne między różnymi

platformami i klasami komputerów. Dzięki takiemu rozwiązaniu do aplikacji ma dostęp

każdy, kto posiada przeglądarkę internetową.

System Oracle 8i, dzięki systemowi plików Internet File System (iFS), daje

możliwość przechowywania nie tylko danych tekstowych, ale również stron WWW,

arkuszy kalkulacyjnych, plików zawierających grafikę, czy filmy.

Dzięki wprowadzeniu architektury Oracle 8i, administratorzy mogą w łatwy sposób

zarządzać zasobami firmy. Dane i aplikacje znajdują się na centralnym serwerze, dostęp do

nich jest bardziej ogólny - odbywa się poprzez sieć Internet, a zarządzanie staje się

pewniejsze i bezpieczniejsze.

4 Przykładowa aplikacja – sklep internetowy

4.1 Charakterystyka

aplikacji

Prezentowana aplikacja stanowi jedynie przykład wykorzystania pakietu Oracle

JDeveloper Suite 2.0 w tworzeniu wielowarstwowych aplikacji internetowych. Jest ona

przykładem rozwiązania, tak ostatnio popularnego problemu sprzedaży elektronicznej

przez przedsiębiorstwa.

Jako studium poznawcze wybrano sklep komputerowy proponujący szeroką gamę

sprzętu komputerowego. Użytkownik korzystający z aplikacji musi posiadać jedynie

przeglądarkę internetową, a sama aplikacja jest każdorazowo dynamicznie transportowana

background image

10

do klienta poprzez Internet. Aby dokonać zakupu w sklepie, użytkownik jednorazowo przy

pierwszym uruchomieniu musi zarejestrować się w bazie klientów. Ustala wtedy hasło

dostępowe, wymagane do korzystania każdorazowo z aplikacji.

Po zalogowaniu klient ma możliwość dodawania kolejnych towarów dostępnych w

sklepie, do swego koszyka. Istnieje również funkcja edycji zawartości koszyka, dzięki

której można usuwać z niego wcześniej wybrane towary. Po umieszczeniu przez klienta w

koszyku wybranych towarów, może on podjąć decyzję o zakupie. Wybiera wówczas

funkcję „Kupuje!” i jest proszony o podanie formy płatności. Klient ma możliwość

„kompletowania” zawartości koszyka podczas wielu sesji z aplikacją. Realizacja zakupu

zawartości bieżącego koszyka, powoduje utworzenie pustego, nowego koszyka.

Aplikacja nie jest powiązana z obrotem towarowym firmy, a jedynie służy do

gromadzenia zamówień od klientów. W chwili obecnej aplikacja nie jest wyposażona w

interfejs komunikacyjny z systemami bankowymi klientów, na przykład w celu

sprawdzenia ich zdolności kredytowej przy korzystaniu z kart płatniczych.

Rys 5 Ekran logowania aplikacji Internetowy Sklep Komputerowy

4.2 Wykorzystane

technologie

Do tworzenia aplikacji Internetowy Sklep Elektroniczny zostały wykorzystane

następujące technologie: OAS, CORBA Objects, Serwlety, InfoBus, JDBC/SQLJ,

Enterprise JavaBeans, JavaBeans, które zostały opisane w poprzednich rozdziałach.

background image

11

4.3 Schemat bazy danych - sklep internetowy

Podstawowe informacje w aplikacji Sklep internetowy umieszczone są w trzech

tabelach: towar, zakupy i klient. Szczegóły dotyczące proponowanych towarów (producent,

cena, opis, grupa do jakiej towar jest zaliczany) znajdują się w tabelach: grupy_towarow,

podgrupy_towarow, szczegoly oraz producent. W tabeli klient przechowywane są dane

dotyczące wszystkich klientów, którzy kiedykolwiek zostali zarejestrowani w systemie i

dokonali zakupów. Umieszczone są tam dane zawierające nazwę i hasło danego

użytkownika, rodzaj płatności oraz numer karty kredytowej. Najważniejszą tabelą systemu

jest tabela zakupy, w której zamieszczone są transakcje przeprowadzone przez

użytkowników systemu, czyli jaki i ile towar, i który klient dokonał zakupu. W aplikacji

wykorzystywana jest również tabela zawierająca dane na temat administratorów aplikacji

(administrator). Przechowuje one dane na temat nazw administratorów oraz ich haseł.

ID_GT
NAZWA

ID_PT
NAZWA

ID_GT

Grupy_towarow

Podgrupy_towarow

ID_SZCZEGOLY
CENA

OPIS

ID_T

ID_PRODUCENTA

Szczegoly

ID_KLIENTA
NAZWA

HASLO

E-MAIL

NUMER_KARTY

ID_PLATNOSCI

Klient

ID_PLATNOSCI

RODZAJ

Platnosc

ID_ADMIN
NAZWA

HASLO

OPIS

Administrator

ID_PRODUCENTA
NAZWA

GRAFIKA_LOGO

Producent

ID_T
NAZWA
ID_PT

Towar

ID_ZAKUPU
ILOSC

ID_KLIENTA

ID_T

Zakupy

Rys 6 Schemat bazy danych sklep internetowy

5 Podsumowanie

Wykorzystanie środowiska Oracle 8i stwarza nowe możliwość korzystania z

aplikacji dostępnych do tej pory tylko lokalnie, albo też przy zastosowaniu

specjalizowanego oprogramowania. Dzięki nowym rozwiązaniom powstające systemy

informatyczne stają się niezależne od platformy. Aby wykorzystać nawet wyjątkowo

background image

12

wyszukane i złożone oprogramowanie, wystarczy posiadać prosty komputer podłączony do

sieci Internet.

Po stronie klienta niezbędne jest zainstalowanie ogólnodostępnego oprogramowania

umożliwiającego przeglądanie stron WWW. W takim przypadku nie jest wymagane

instalowanie specjalizowanego programu u każdego użytkownika aplikacji. Aplikacja taka

jest ogólnie dostępna, w łatwy sposób można ograniczyć dostęp osobom nieuprawnionym.

Jest ona również łatwiejsza w zarządzaniu. Aplikacje tego typu są wygodniejsze w

użytkowaniu, nie tylko dla administratora, ale również dla użytkowników.

Literatura

1. Banachowski L., Bazy danych. Tworzenie aplikacji, Akademicka Oficyna

Wydawnicza, Warszawa, 1998

2. JDeveloper User’s Guide

3. Oracle Application Server User’s Guide

4. Dokumentacja on-line:

http://www.oracle.com


Wyszukiwarka

Podobne podstrony:
Oracle 8i a internet IGA2QB7WKB Nieznany
helion oracle 10g i delphi pro Nieznany
! oracle projektowanie rozprosz Nieznany
Hack Proofing Oracle hackproofi Nieznany
coreldraw graphics suite 11 pl Nieznany
oracle pl 2UYJLNFVGD7SHNROPQHEE Nieznany
oracledb10g id 339056 Nieznany
Programowanie serwera Oracle 11 Nieznany
oracle TVB2K735YDTHPLZ7NUSATEFM Nieznany
! oracle projektowanie rozprosz Nieznany
Gor±czka o nieznanej etiologii
02 VIC 10 Days Cumulative A D O Nieznany (2)
Abolicja podatkowa id 50334 Nieznany (2)
45 sekundowa prezentacja w 4 ro Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
Mechanika Plynow Lab, Sitka Pro Nieznany
katechezy MB id 233498 Nieznany
2012 styczen OPEXid 27724 Nieznany

więcej podobnych podstron