Technologie J2EE

Transkrypt

Technologie J2EE
4. Technologie J2EE
Jednym z czolowych rozwiązań aplikacji sieciowych opartych na architekturze klient-serwer jest
technologia zaprojektowana przez firme Sun Microsystems Java 2 Enterprise Edition. Java 2
Enterprise Edition sama w sobie nie jest produktem jest ona bowiem zbiorem specyfikacji, dla
których stworzono wiele implementacji (komercyjnych i nie komercyjnych). Podstawą dla wszystkich
specyfikacji jest język programowania JAVA. Z faktu, że jest to język cross-platformowy wynika jego
duża elastyczność i przenośność,gdyż aplikacje napisane w Javie stają się niezależne od systemu
operacyjnego.
Użycie technologii Java 2 Enterpise Edition pozwala na oddzielenie warstwy dla każdej z usług.
- Warstwa prezentacji - odpowiada za wyświetlanie wyników zapytania w przeglądarce internetowej,
aplikacji, telefonie komórkowym, palmtopie.
- Warstwa dynamicznie generowanych prezentacji - odpowiada za dynamiczne generowanie danych
po stronie serwera, używając do tego celu JSP, Serwletów i XML.
- Warstwa logiki biznesowej - implementacja poprzez komponenty Sesion Enterpise Java Beans.
- Warstwa dostępu do danych - implementacja poprzez komponenty Entity Enterpise Java Beans.
- Warstwa integracji z systemem - odpowiada za integracje aplikacji z systemem operacyjnym na, na
którym pracuje tworzona aplikacja.
Stworzenie tylu warstw umożliwia wysoką skalowalność aplikacji oraz pozwala na skupienie się na
konkretnej funkcji jaką pełni poszczególna warstwa np. (serwer stron internetowych udostępnia tylko
i wyłącznie strony internetowe, serwer bazy danych udostępnia tylko i wyłącznie dane gotowe do
przeglądania lub przetwarzania).
Komponenty poszczególnych warstw sa zwykle osadzane na serwerze aplikacyjnym obslugujacym
Java Enterprise, na tzw. kontenerze servletow. Kontener serwletów działa podobnie jak serwer www,
tzn. obsługuje zapytania klientów oraz generuje odpowiedzi. Ponadto odpowiedzialny jest za
zarządzanie całym cyklem życia serwletów, tj. od inicjalizacji, poprzez zarządzanie usługami, po
zniszczenie. Kontener serwletów może być samodzielną usługą, lecz częściej pracuje jako moduł
serwera WWW. Przykladowym serwerem jest Apache Tomcat, czy Glassfish.
Wśród technologii platformy J2EE wyróżnić należy:
• Serwlety
• JSP, JSF do definiowania interfejsu uzytkownika
• JavaBeans do tworzenia komponentow implementujących logike biznesowa
• JMS do obsługi komunikacji za pomoca komunikatow
• JPA do dostępu do danych za pomoca mapowania obiektowo relacyjnego
Podstawowym elementem sa serwlety. Sa to klasy Javy działające po stronie serwera WWW w
modelu Get-reponse, czyli zadanie-odpowiedz. Klasa serwletu jest ladowana do pamieci tylko raz,
przy starcie kontenera webowego, lub przy pierwszym wczytaniu strony.
JavaServerPages (JSP) to technologia bazująca na języku Java umożliwiająca szybkie i łatwe tworzenie
dynamicznych stron www. Pliki JSP są plikami HTML wraz z kodem źródłowym Javy zawartym w
specjalnych znacznikach. Dość istotnym jest fakt, iż kod plików JSP nie jest czytany linia po linii (jak
ma to miejsce w PHP) lecz najpierw konwertowany do postaci serwletu (postać binarna) i następnie
uruchamiany przez silnik serwletów (np. Tomcat).
W czesci dynamicznej JSP można wykorzystać 5 elementów:
1. dyrektywy <%@ dyrektywa %>
2. deklaracje <%! deklaracja %>
3. wyrażenia <%= wyrażenie %>
4. Fragmenty kodu/scriptlety <% kod %>
5. komentarze <%-- komentarz --%>
Dyrektywy JSP są przeznaczone dla silnika JSP. Dyrektywy nie generują bezpośrednio wyników
działania lecz mówią silnikowi co ma zrobić z resztą strony JSP. Najczęściej spotykanymi dyrektywami
są page i include, rzadziej taglib.
Dyrektywa page jest często spotykana na początku strony JSP i pozwala określić na przykład adres
strony na którą zostanie przekierowany użytkownik w przypadku problemów z wykonaniem kodu
Javy albo uruchomić mechanizm sesji:
Dyrektywa include pozwala dołączać zawartość osobnych plików do bieżącego pliku JSP, których
treść może być zarówno kodem HTML jak i JSP. Dyrektywa taglib pozwala używać własnej biblioteki
znaczników w kodzie strony przez co ukryć kod aplikacji.
Deklaracje
Do zdefiniowania zmiennych czy metod wykorzystywanych w całej stronie JSP używa się znaczników
deklaracji.
Wyrażenia
Wynik danego wyrażenia w JSP może zostać skonwertowany do postaci łańcucha znakowego i
wstawiony bezpośrednio w kod wynikowy strony.
JSF czyli Java Server Faces to Framework dla jezyka Java, który upraszcza tworzenie interfejsu
użytkownika dla aplikacji JEE. JSF uzywa JSP, ale może te zkorzystac z innych rozwiązań.
JPA jest oficjalnym standardem mapowania obiektowo-relacyjnego firmy SUN Microsystems dla
JAVA. JPA jest elementem standardu EJB 3.0. JPA daje możliwość operowania na obiektach zwanych
encjami oraz zapisywania wynikow operacji do relacyjnej bazy danych. Sposób w jaki obiekty i ich
polaczenia przekładają się na elementy bazy danych sa definiowane za pomoca adnotacji i/lub
dokumentow XML.
Enterprise Java Bean to specyfikacja, i zarazem szkielet, będąca najbardziej rozbudowanym
narzędziem do tworzenia aplikacji korporacyjnych. Wraz z JPA stanowi rewolucyjne rozwiązanie w
zakresie tworzenia aplikacji korporacyjnych, aplikacji rozproszonych oraz nowe spojrzenie na proces
wytwarzania oprogramowania.
EJB czyli Enterprise JavaBeans opiera się na tworzeniu komponentow, ziaren EJB, fasolek, które mogą
być osadzane na serwerze aplikacji, który z kolei udostepnia je do wykonania lokalnie lub zdalnie.
Dzięki takiemu podejściu programista może składać końcową aplikację tak jak domek z klocków
Lego™. Dzięki temu czas tworzenia aplikacji jest krótszy.
Wyroznia się trzy glowne rodzaje ziaren EJB:
• sesyjne EJB (ang. session EJB) bezstanowe i stanowe,
• sterowane komunikatami EJB (ang. message-driven EJB),
• encyjne EJB (ang. entity EJB) (w EJB 3.0 zastąpione przez encje, które doczekały się własnej
specyfikacji - Java Persistence API - wciąż jednak będące częścią specyfikacji EJB).
Każde z ziaren ma różne zastosowanie. Ziarna sesyjne są używane do umieszczania w nich logiki
aplikacji - czyli kodu, który przetwarza dane. Encyjne EJB reprezentują w sposób obiektowy dane (np.
dostarczają obiektowego spojrzenia na relacyjną bazę danych). Ziarna sterowane komunikatami
znajdują zastosowanie w przetwarzaniu asynchronicznym i w zaawansowanych modelach współpracy
oprogramowania. Np. model abonent-dostawca: bean rejestruje się jako dostawca pewnej usługi,
klienci mogą zarejestrować się jako abonenci.

Podobne dokumenty