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