Oracle Internet Application Server 9i
1. Wprowadzenie. 2
2. Architektura I komponenty. 4
2.1. Dwu i trzy warstwowe modele
aplikacji 4
Model
dwuwarstwowy. 4
Model
trzywarstwowy. 4
2.2. Architektura Oracle Internet
Application Server 5
2.3. Dostępne wersje. 5
Standard
Edition. 5
Enterprise
Edition. 5
Wireless
Edition. 5
3. Serwisy Oracle Internet Application
Serwer 6
3.1. Serwisy komunikacyjne
(Communication Services) 6
3.2. Serwisy zarządania zawartością
(Content Management) 7
Oracle
Internet File System.. 7
3.3. Serwisy logiki aplikacji (Business
Logic) 9
BC4J (Business Components for Java) 10
Oracle8i
JVM.. 10
Oracle8i
PLSQL. 10
Oracle
Forms. 10
3.4. Serwisy Prezentacji (Presentation) 11
Apache
Jserv. 11
OracleJSP
(JavaServer Pages) 11
Oracle PL/SQL Server Pages (PSP) 12
Interpreter
Perla. 12
3.5. Biblioteki narzędziowe (Developer’s
Kits) 12
Bioblioteki
dostępu do bazy danych. 12
Biblioteki
narzędziowe dla XML. 12
Biblioteki
narzędziowe LDAP.. 13
3.6. Serwisy portalowe. 13
Oracle
Portal 14
Oracle
Portal-to-Go. 14
3.7. Serwisy Buforujące (Caching) 17
Buforowanie
dostępu do bazy danych (Oracle Database Cache) 17
Buforowanie
www (Oracle Web Cache) 17
3.8. Serwisy systemowe. 18
Oracle Enterprise Manager 18
Oracle Advanced Security. 18
3.9. Raportowanie (Business
Intelligence) 19
Oracle Reports. 19
Oracle Discoverer 3i Viewer 19
·
Platforma iAS dostarcza
zintegrowanego środowiska programistycznego dla tworzenia aplikacji
internetowych.
·
W połączeniu z
wydajnością bazy danych Oracle9i tworzą niezawodny, skalowalny i bezpieczny
serwer aplikacyjny.
- Dostarcza zbiór usług, które powodują, że
zawiłości technologiczne tworzenia środkowej warstwy infrastruktury
Internetowej nie wymagają poświęcania uwagi.
- Wiele zalet iAS wynika z prostego
trzystopniowego modelu: klient, serwer aplikacji, baza danych. iAS jest
interfejsem pomiędzy klientami a bazami danych, dzięki temu:
- Logika aplikacji jest scentralizowana i można
nią dzięki temu łatwiej zarządzać
- Architektura została zaprojektowana z myślą o
funkcjach serwera, włączając w to dostęp do bazy danych
- Oracle Database Cache przyspiesza generowanie
stron internetowych dostarczając buforowanie odczytu z bazy danych w
warstwie środkowej, redukując obciążenie samej bazy danych i zmniejszając
ruch w sieci.
- Serwer HTTP oparty na Apache
- Oracle Internet File
System – umożliwia zapisanie
plików różnych typów w jednej hierarchii systemu plików. Heterogeniczna
struktura plików jest dostępna przez przeglądarkę www, protokół Microsoft
Networking, FTP lub klientów e-mailowych.
- Business Logic
Services – umożliwia tworzenie i uruchamianie tradycyjnych aplikacji
internetowych w Javie, PL/SQL i
Oracle Forms. iAS wspiera zarówno stanowe jak i bezstanowe transakcyjne
aplikacje www:
- Aplikacje bezstanowe – składają się z
zapytania i odpowiedzi. Żadna informacja o użytkowniku nie jest
przechowywana przez system. Żadna transakcja jest nie jest powiązana z
wcześniejszymi ani późniejszymi
- Aplikacje stanowe - są podobne do sesji z bazą danych. System
przechowuje informacje o użytkowniku, stan sesji, itp.
- Presentation Services – narzędzia do
tworzenia warstwy prezentacji w JavaServer Pages, servletach, PL/SQL
Server Pages, Perlu, XML + XLS.
- Dostęp do bazy danych – OCI (Oracle Interface Call), JDBC, SQLJ
- Portal Services – umożliwa integrację
komponentów w portal z jednolitym systemem nawigacji, haseł itp.
- Caching Services: wspomniany Oracle
Database Cache i Oracle Web Cache
- System Services: Oracle Enterprise
Manager i Oracle Advanced Security
- Business Intelligence Services:
Oracle Reports Service (definiowanie raportów publikowanych na
www), Oracle Discoverer 3i Viewer
Typowy
model klient – serwer, podstawowa wada to „gruby” klient, który obsługuje
częściowo logikę aplikacji, co powoduje, że taki klient jest kosztowny i trudny
w zarządzaniu. Co więcej w modelu tym istnieją duże ograniczenia na środowisko
klienta – wymagana jest konkretna platforma, środowisko itp.
Powstał
z potrzeby wyeliminowania problemów towarzyszących modelowi dwuwarstwowemu.
Warstwa środkowa pomiędzy klientem i bazą danych składa się z serwera
aplikacji, który obsługuje przeważającą większość logiki aplikacji. Dzięki temu
klienci mogą być „cienkimi” klientami, a logiką aplikacji łatwiej jest
zarządzać. Architektura warstwy drugiej jest zoptymalizowana pod kątem dostępu
do bazy danych.
Dla
serwisów o małej liczbie transakcji i małych potrzebach wsparcia dla aplikacji.
Zawiera:
·
Standardową podstawową
infrastrukturę
·
Wsparcie dla API J2EE
·
Intergrację z bazą
danych Oracle
Zalecany
dla średnich i dużych serwisów. Standard + Oracle Database Cache + Oracle Web
Cache + Oracle PL/SQL + Oracle Forms Services + Oracle Reports Services + Oracle
Discoverer 3i Viewer
Enterprise
+ Oracle Portal-to-Go umożliwiający dostęp do serwisów dla urządzeń
bezprzewodowych
Część komunikacyjna
obsługuje nadchodzące zapytania. Część z tych zapytań jest obsługiwana przez serwer
HTTP, a część jest kierowana do innych obszarów AS.
Serwer HTTP jest oparty na
technologii Apache (1.3.12). Umożliwia on korzystanie z licznych modułów, z
których część dostała dodana specjalnie dla zastosowań w AS. Najważniejsze
moduły to
- mod_ssl
– obsługa komunikacji po protokole HTTPS (SSL)
- mod_plsql – kieruje zapytania PL/SQL do usługi „Oracle8i PLSQL” z części
„Business Logic”
- mod_perl – główne zalety użycia perla to szybkość osiągana dzięki
wbudowanemu interpreterowi z funkcją cachowania, przez co moduły i skrypty
są ładowane i kompilowane tylko raz i później są gotowe do szybkiego
uruchomienia.
- mod_jserv – kieruje zapytania do Apache Jserv
- mod_ose
– deleguje URLe do stanowych servletów Javy i PL/SQL w Oracle Servlet
Engine (OSE).
- Trzyma id sesji w cookies lub URLu
- Kieruje zapytania do odpowiednich sesji OSE
- komunikuje się z OSE poprzez NS(SQL*Net), który
zapewnia firewall pomiędzy serwerem HTTP i OSE, buforowanie połączeń.
Usługi te ułatwiają
zarządzanie zawartością serwisu, niezależnie od jego typów plików w hierarchii
plików dostępnej przez www, Mircosoft Networking lub ftp, umożliwiają
konfigurację wyrafinowanego wyszukiwania plików, alarmów wywoływanych przez
zdefiniowane zdarzenia, obsługę wieloosobowych projektów przez mechanizmy
synchronizacji pracy (check-in-check-out)
- Operacje na plikach:
- Zmaina nazwy
- Usuwanie
- Upload
- Ustawianie daty automatycznego usuwania
- Modyfikacja atrybutów (opis, nazwa, prawa
dostępu)
- Funkcje zarządzania zawartością:
- Check-in, check-out – możliwość założenia
blokady na plik. Uniemożliwia innym użytkownikom zapis do czasu
odblokowania.
- Nadawanie wersji – po każdej operacji check-in
tworzona jest kolejna wersja pliku.
- Wyszukiwanie – wyszukiwanie w plikach dowolnych
rodzajów (od html po mail)
- Możliwość przypisania pliku do wielu katalogów
- Rozszerzalne atrybuty
- SDK zawierające:
- XML Parser – aplikacja Javy wyciągająca z
plików ich zawartość i pamiętająca ją niezależnie od ich samych. Można
dodawać własne parsery i rejestrować je przez XML
- XML Renderer – aplikacja Javy umożliwia
prezentację zparsowanych plików w innych formatach, np. HTML
- Agenci – wykonuje zdefiniowany harmonogram (np. wysyła email po wstawieniu nowego
pliku, usunięciu itp.)
- Java API
- Wspierane protokoły
Środowisko w Javie, z
obsługą XML, umożliwiające wydajną pracę nad wielowarstwowymi, bazodanowymi
aplikacjami korzystając z dostarczonych komponentów. Wytworzone elementy mogą
być używane jako EJB Session Beans bądź jako CORBA Serber Objects.
Wysoce skalowalna platforma
Javy. Wspiera Enterprise JavaBeans, CORBĘ, procedury pamiętane w baziedanych.
Architektura tej platformy została zaprojektowana z myślą o dużej wydajności
przy dużej ilości użytkowników.
- Rozwinięty mechanizm „garbage collection”
- Obsługa równoległych, stanowych, interaktywnych
klientów
- Wszystkie zasoby są dzielone pomiędzy sesje,
więc wystarczy JVM do korzystania z obsługi sesji
- Aplikacje wielowątkowe nie są potrzebne, gdyż
JVM zajmuje się równoważeniem obciążenia (load balancing)
Dostarcza środowisko
umożliwiające użytkownikom wywoływanie procedur pamiętanych w bazie danych
przez przeglądarkę. Procedury te mogą
pobierać dane z tabel i generować na ich podstawie strony HTML.
Umożliwia uruchamianie
aplikacji opartych na technologii Oracle Forms przez Internet lub Intranet. W
warstwie serwera aplikacji usługa ta składa się ze słuchacza (listener) oraz
mechanizmu wykonującego kod w którym zawarta jest logika aplikacji. W warstwie
klienta usługa składa się z appletu Javy realizującego Funkcje interfejsu
Oracle Forms oraz Oracle Jinitiatior’a – plug-inu Javy dostarczającego
możliwość korzystania ze specyficznej wirtualnej maszyny Javy po stronie
klienta.
Kiedy użytkownik wywołuje
zapytanie o adres URL uruchamiający aplikację opartą na Oracle Forms, słuchacz
(listener) akceptuje żądanie i ładuje applet do przeglądarki użytkownika.
Następnie applet ów nawiązuje trwałe połączenie z mechanizmem obsługi logiki
(Oracle Forms runtime engine).
Dostarczają dynamiczną
zawartość do przeglądarki klienta. Wspierane są servlety, JavaServer Pages,
skrypty Perl/CGI, PL/SQL Pages. Używając tych serwisów można tworzyć warstwę
prezentacyjną aplikacji.
Jest to mechanizm w pełni
zgodny ze specyfikacją Sun Microsystems Java Servlet APIs 2.0. Działa na JVM w
wersji 1.1 i uruchamia każdy servlet zgodny z wersją 2.0
Technologia ta rozszerza
servlety i umożliwia użycie kodu i skryptów Javy zagnieżdzonego w HTMLu lub
XMLu. Używając JSP można łączyć statyczny wzorzec z dynamiczną zawartością do
tworzenia interfejsów. JSP umożliwia programowanie oparte na komponentach,
oddzielając logię (zwykle w JavaBeans) od prezentacji. OracleJSP jest pełną
implementacje JavaServer Pages 1.1 rozszerzoną o:
- Przenośność pomiędzy środowiskami servletów
(umożliwia migrację z JSP 1.0)
- Obsługę SQLJ (składnia zagnieżdżania zapytań SQL
bezpośrednio w kodzie Javy)
- OracleJSP Markup Language (JML) - prosta biblioteka znaczników
umożliwiających użycie pętli, instrukcji warunkowej i innych instrukcji
wysokiego poziomu bez potrzeby znajomości składni Javy.
- Rozszerzoną obsługę języków narodowych (NLS)
- Rozrzerzone typy danych: klasy JmlBoolean,
JmlNumber, JmlFPNumber i JmlString (oracle.jsp.jml)
- Zbiór JavaBeans ułatwiających dostęp do bazy
danych.
Są analogiczne do JavaServer
Pages, ale korzystają z PL/SQL jako język skrytów.
Osadzony w serwerze HTTP
(mod_perl)
Są to biblioteki klienckie
Oracle8i oraz biblioteki dla Javy (JMS, SQLJ i JDBC)
o
Java Messaging Service – implementacja zgodna z Sun
Mirosystems Java Messaging Service 1.02. Dodatkowo
zawiera API dla Oracle Advancej Queuing (AQ). To API implementuje mechanizm
kolejek komunikatów między aplikacjami.
o
Oracle SQLJ
Translator – preprocesor używany do
osadzania zapytań SQL w kodzie Javy.
o
Oracle Java Database
Connectivity (JDBC) – sterownik
dostępu do bazy danych dla Javy
o
Oracle Interface
Call (OCI) – biblioteka dostępu do
bazy dla języków trzeciej generacji jak C, C++, COBOL, czy FORTRAN.
Zawiera następujące
komponenty:
- XML Parser dla Javy (DOM lub Simple API for XML – SAX)
- Generator klas XML dla Javy – Genruje kod źródłowy klas w oparciu o DTD.
Używając tych klas plikacja może tworzyć, weryfikować lub drukować
dokumentu XMLowe zgodne z danym DTD.
- XML Tansviewer JavaBeans – Wyświetla i przetwarza dokumenty XML przez
komponenty Javy, Komponenty:
- DOM Builder
Bean
- TreeViewer
Bean
- SourceViewer
Bean
- XSL
Transformer Bean
- XSQL Servlet – Przetwarza zapytania SQL I zwraca wyniki jako XML. Jest to
servlet dostający na wejściu plik XML z zapytaniem.
Umożliwia współpracę z Oracle Internet Directory, Oracle LDAP
(Lightweight Directory Access Protocol). Komponenty
- Oracle
Internet Directory C API
- JNDI 1.2
(Java Naming and Directory Interface)
- SSL Toolkit
- Oracle
Internet Directory Command Line Tools
- Oracle
Directory Manager
Pozwalają zintegrować różnorodne
typy stron w jeden, scentralizowany, personalizowalny widok odnoszący się do
aplikacji i danych.
Przeznaczony dla
użytkowników korzystających z www.
- Strona portalu składa się z portletów.
Dla użytkownika portlet to kawałek obszaru strony HTMLowej prezentującej
tekst lub grafikę jako odnośniki do informacji lub aplikacji. Portlety
należą do portlet providers, którzy dostarczają komunikacji między
stroną portalu a portletem. Każdy zasób, do którego dostęp dostarcza
portlet może być personalizowany i zarządzany przy użyciu Oracle Portal.
- Możliwe jest publikowanie informacji i
zawartości dynamicznej przez użytkowników
- Dostępne jest API, którego funkcjonalność
obejmuje m.in.
- dostęp do ogólnych informacji o użytkowniku
- magazyn definiowanych przez użytkownika
ustawień portletów
- NLS (portlet może być wyświetlany w języku
określonym w ustawieniach przeglądarki)
- Logowanie akcji wykonywanych na portletach
- Procedury obsługi błędów
- Obsługę praw dostępu
Przeznaczony dla urządzeń
przenośnych. Umożliwia tworzenie stron portalowych dostępnych dla tych urządzeń
bez potrzeby pisania osobnej wersji dla każdego typu urządzenia. Dzieje się
taki dzięki przechowywaniu informacji w formacie XML, zgodnym z pewnym DTD.
- Presonalization Portal – interfejs dostępny www
służący użytkownikom do konfiguracji portalu – np. zapamiętania
najczęściej używanych adresów, haseł, PINów, numerów kont itp.
- Adaptery do dynamicznie ładowane klasy Javy,
służące do pobierania zawartości z zewnętrznych źródeł. Dostępne są
następujące predefiniowane adaptery:
- Provisioning adapter – dodawanie, usuwanie,
modyfikowanie użytkowników
- SQL Adapter – umożliwia tworzenie serwisów
odpytujących bazę danych, wywołujących procedury PL/SQL
- Servlet Adapter – umożliwia odwoływanie się do
serveletów, które stają się dostępne dla urządzeń przenośnych
- Web Integration Adapter – umożliwia
korzystanie ze zwykłych stron www, które są mapowane do wspomnianego
standardu XML-owego.
- Stripper Adapter – podobnie jak powyższy
działa na dokumencie w formacie HTML, jednak jego działanie polega na
wycięciu wszystkich znaczników lub ich ignorowaniu.
- URL Adapter – pozwala odwołać się do dowolnej
zawartości portalu przez URL, co ułatwia integrację aplikacji różnych
typów
- Obsługiwane formaty urządzeń docelowych.
Dostępne są standardowe transformatory zawartości portalu na następujące
formaty:
1.
Wireless Markup Language 1.1
2. Tiny HTML (np. dla Palmtopów)
3. VoxML/VoiceXML: język Motoroli umożliwiający głosową
interakcję z aplikacją
4.
Handheld Device Markup Language: uproszczona wersja HTML
5.
Plain text
Mechanizm ten znajduje się w
środkowej warstwie i buforuje najczęsciej używane dane na poziome serwera
aplikacji. Odciąża w ten sposób bazę danych i zmniejsza ruch w sieci. Najlepiej
sprawdza się w środowisku w którym większość zapytań to operacje odczytu i/lub
dopuszczalne jest opóźnienie w synchronizacji danych (dane odczytywane nie
muszą bezwzględnie być aktualne).
Buforuje odpowiedzi na
najczęściej zadawane zapytania http. Ważniejsze cechy:
- Buforuje zarówno statyczne jak i dynamiczne
elementy
- Mechanizm sprawdzania zgodności zawartości z AS
- Heurystyka przypisująca dokumentom porządek
kolejki i wyznaczająca które mogą pozostać nieodświeżone, a które należy
natychmiast przeładować
- Ochrona przez przeładowaniem – możliwość
zdefiniowania limit jednoczesnych połączeń z serwerem HTTP
- Load Balancing – możliwość zarządzania
zapytaniami HTTP dla 100 maszyn AS.
- Backend Failover – kiedy serwer aplikacji
padnie, zapytania zostaną automatycznie rozdystrybuowane na pozostałe
- Śledzenie sesji
Służy do zarządania
serwisami AS. Z poziomu interfejsu klienta pozwala wykonać następujące
czynności:
- Centralnie zarządzać, administrować i
diagnozować Oracle Database Cache i Oracle Forms Services
- Wygodnie monitorować i operować na statusie
każdego z serwisów
- Planować harmonogramy wykonywanych czynności na
wielu maszynach w różnych odstępach czasowych
- Monitorować serwisy sieciowe
- Bezpieczeństwo sieciowe:
- transmisja kodowana przy użyciu RSA lub DES
- integralność danych zapewnia mechanizm sum
kontrolnych MD5
- autentykacja może być weryfikowana przy użyciu
m.in. SSL lub Kerberos
- Bezpieczeństwo użytkownika
- jednorodny system kont – użytkownik może używać
wielu kont w różnych częściach systemy posługując się jednym hasłem.
- Użytkownicy mogą mieć przypisane role, które
będą określały ich uprawnienia.
- Użytkownik nie musi być użytkownikiem każdej
bazy danych. Dla jednej roli może istnieć jedno konto w bazie danych i
jedno dzielone schema.
- Oracle Wallet Manager umożliwia zarządzanie
certyfikatami użytkowników, generuje zapytania do CA, przechowuje
certyfikaty, tworzy pary kluczy dla użytkowników. Dzięki temu użytkownik
łącząc się raz przy użyciu Oracle Enterprise Login Assistant uzyskuje
dostęp do wielu usług bez potrzeby każdorazowego logowania się
- Integracja z Oracle Iternet Directory lub innym
katalogiem zgodnym z LDAP
Umożliwia korzystanie z
istniejących I tworzenie nowych raportów Oracle Reports Developer przez www.
Składa się z komponentu serwera, maszyny wykonującej (runtime engine) i
servletu klienta
Służy do publikowania
raportów stworzonych przy użyciu Oracle Discoverer 3i Plus