I Szkoła PLOUG: Przegląd tematyki

Java: komponentowe aplikacje internetowe dla baz danych

Poznań, 13-15.02.2002

Język Java wyznacza obecnie nowe standardy budowy aplikacji intra- i internetowych. Dzięki swojej przenoszalności, wydajności oraz bogactwu bibliotek i form programowych, pozwala programistom na budowę internetowego oprogramowania zorientowanego obiektowo, współpracującego z rozmaitymi systemami baz danych oraz realizującego koncepcję „komputera sieciowego”. Podstawowym akcentem I Szkoły PLOUG będzie prezentacja sposobów wykorzystania najważniejszych elementów tej technologii: architektur serwletów Java i aplikacji JavaServer Pages, w powiązaniu z interfejsami JDBC/SQLJ oraz architekturą rozproszonych komponentów Enterprise Java Beans.

Serwlety Java i aplikacje JavaServer Pages (JSP) to programy Java zlokalizowane po stronie serwera WWW, uruchamiane na żądanie przeglądarki WWW. W odpowiedzi na otrzymane żądanie, serwlet lub aplikacja JSP generuje dokument HTML lub XML, który jest następnie dostarczany do przeglądarki użytkownika. Forma i poziom interakcyjności wygenerowanego dokumentu HTML/XML mogą być wzbogacane poprzez zastosowanie zaawansowanych technologii CSS (arkusze reguł formatujących), XSL (szablony konwersji XML->HTML) i JavaScript (język programowania interakcji przeglądarki z użytkownikiem). W ramach I Szkoły PLOUG omówione zostaną zasady budowy serwletów Java i aplikacji JSP
z wykorzystaniem narzędzi firm Sun i Oracle. Ponadto, przedstawione będą podstawowe założenia architektury WWW, ze zwróceniem uwagi na technologie towarzyszące: HTML, XML, XSL, CSS, JavaScript.

Standard JDBC, zdefiniowany przez firmę Sun, jest powszechnie używanym standardem pozwalającym na dostęp do baz danych z aplikacji języka Java. JDBC jest interfejsem programisty dostępnym w postaci klas języka Java. Producenci systemów baz danych mogą dostarczać swoje implementacje standardu (oraz jego rozszerzenia) w postaci własnych sterowników JDBC. W standardzie JDBC treść instrukcji SQL jest przekazywana jako parametr tekstowy odpowiednim metodom obiektu reprezentującego instrukcję SQL lub połączenie z bazą danych w programie. Składnia SQL nie jest weryfikowana na etapie kompilacji programu i dlatego ewentualne błędy w instrukcjach SQL są wykrywane dopiero w trakcie działania programu. Zaletą JDBC jest możliwość dynamicznego budowania treści poleceń SQL w trakcie pracy programu.

Standard SQLJ dotyczy integracji technologii baz danych z językiem Java. Jest on wynikiem współpracy firm Oracle, Sybase, IBM, Tandem (obecnie część Compaq), JavaSoft i Informix. Standard SQLJ składa się z trzech części. Część 0 definiuje sposób zagnieżdżania instrukcji SQL w programach języka Java (SQLJ Part 0: SQLJ Embedded SQL). Ta część standardu stanowi alternatywę dla standardu JDBC, pozwalając na weryfikację poprawności zagnieżdżonych w programie instrukcji SQL na etapie kompilacji programu. Część 1 standardu SQLJ dotyczy wykorzystywania statycznych metod Java jako składowanych procedur i funkcji SQL (SQLJ Part 1: SQLJ Stored Procedures and UDFs). Procedury składowane w języku Java stanowią alternatywę dla procedur tworzonych w proceduralnych rozszerzeniach języka SQL, oferując elastyczność, uniwersalność i bogactwo bibliotek języka Java. Część 2 standardu SQLJ dotyczy używania czystych klas Java jako abstrakcyjnych typów danych SQL (SQLJ Part 2: SQLJ Data Types). Ostatnia z wymienionych części standardu jest alternatywą dla abstrakcyjnych typów danych standardu SQL99. W ramach I Szkoły PLOUG omówione zostaną możliwości i sposoby korzystania z rozwiązań JDBC i SQLJ. Przedstawione będą zalety i wady obu standardów oraz zakres ich zastosowań.

Technologia Enterprise Java Beans (EJB) zaproponowana przez firmę Sun służy do budowy skalowanych, przenaszalnych, komponentowych aplikacji usługowych pracujących w rozproszonym środowisku sieci Internet/Intranet. EJB implementuje ideę budowy oprogramowania usługowego z klocków zwanych komponentami. Podobną filozofię wykorzystują producenci płyt głównych, którzy budują swoje produkty z dostępnych na rynku składników (np.: chipsetów). Klocki posiadające określoną funkcjonalność mogą być samodzielnie budowane przez projektantów, jak i mogą być przygotowane i dystrybuowane przez firmy trzecie. Budowa systemu informatycznego w technologii EJB wymaga odpowiedniego zastosowania gotowych komponentów i konstrukcji komponentów specyficznych dla danego przedsięwzięcia. Dzięki standaryzacji środowiska uruchamiania komponentów EJB oraz wykorzystaniu technologii Java, raz przygotowane komponenty EJB mogą być uruchamiane na różnych platformach sprzętowych i w środowiskach uruchomieniowych różnych producentów (np. Sun, Oracle, IBM).

Środowiska uruchomieniowe dostarczają szereg dodatkowych usług systemowych, które zwalniają projektanta z obowiązku ich kodowania. Do usług tych należy: zarządzanie rozproszonymi transakcjami, katalog nazw, autoryzacja, szyfrowanie danych i wiele innych. W ramach I Szkoły PLOUG zostaną przedstawione teoretyczne i praktyczne aspekty budowy oraz uruchamiania komponentów EJB w środowisku Oracle Internet Aplication Server (iAS9) i DBMS Oracle 9i.