Enterprise JavaBeans.pdf

(344 KB) Pobierz
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Enterprise JavaBeans
SPIS TRECI
KATALOG KSI¥¯EK
Autorzy: Ed Roman, Scott W. Ambler, Tyler Jewell
T³umaczenie: Pawe³ Gonera, Miko³aj Szczepaniak
ISBN: 83-7361-073-1
2nd Edition
Format: B5, stron: 609
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Technologia EJB stanowi podstawê platformy Java 2 Enterprise Edition. Umo¿liwia ona
tworzenie komponentów programistycznych dzia³aj¹cych po stronie serwera, które mog¹
byæ instalowane i uruchamiane na serwerach aplikacyjnych ró¿nych producentów,
zgodnych ze standardem EJB. Technologia EJB umo¿liwia zakup gotowych komponentów
od konkretnego sprzedawcy, po³¹czenie z komponentami od innego sprzedawcy
i uruchomienie ich na serwerze aplikacji dostarczonym przez jeszcze kogo innego.
EJB doczeka³o siê ju¿ drugiej wersji specyfikacji. EJB 2.0 wprowadza wiele zmian,
w tym nowy rodzaj komponentów: sterowane komunikatami.
Ksi¹¿ka „Enterprise JavaBeans” opisuje EJB 2.0 prezentuj¹c zarówno podstawowe
zagadnienia zwi¹zane z komponentami EJB, jak i tematy najbardziej zaawansowane.
Pokazuje w ten sposób zalety i wady budowania aplikacji opartych na tej technologii.
Dziêki tej ksi¹¿ce nauczysz siê tak pasjonuj¹cych zagadnieñ, jak strategie projektowe EJB,
relacje EJB oraz rozmaite spojrzenia na kwestiê trwa³oci danych przetwarzanych przez
komponenty. Do zrozumienia tej ksi¹¿ki wymagana jest wy³¹cznie znajomoæ Javy.
Ksi¹¿ka przedstawia:
• Podstawy tworzenia komponentów EJB
• Komponenty sesyjne, encyjne i sterowane komunikatami
• Zarz¹dzanie trwa³oci¹, komponenty encyjne typu CMP
• Java Message Service (JMS)
• Relacje miêdzy komponentami encyjnymi
• Najlepsze wzorce tworzenia sta³ych komponentów
• Zarz¹dzanie projektami wykorzystuj¹cymi EJB
• Ró¿ne serwery EJB i kryteria wyboru serwera
• Budowê aplikacji z wykorzystaniem EJB, serwletów i JSP
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
944988905.018.png 944988905.019.png 944988905.020.png 944988905.021.png 944988905.001.png 944988905.002.png 944988905.003.png 944988905.004.png 944988905.005.png 944988905.006.png 944988905.007.png 944988905.008.png 944988905.009.png 944988905.010.png 944988905.011.png 944988905.012.png 944988905.013.png 944988905.014.png 944988905.015.png 944988905.016.png 944988905.017.png
 
Spis treci
O Autorze ........................................................................................15
Przedmowa......................................................................................17
Wstp .............................................................................................21
Cz I Wprowadzenie .................................................................27
Rozdział 1. Wstp do EJB..................................................................................29
Przyczyny powstania EJB........................................................................................29
Dziel i zwyciaj....................................................................................................32
Architektura komponentowa....................................................................................36
Wprowadzenie Enterprise JavaBeans........................................................................37
Dlaczego Java?.................................................................................................38
EJB jako rozwi)zanie biznesowe........................................................................39
„Ekosystem” EJB...................................................................................................41
Dostawca komponentu......................................................................................41
Programista aplikacji.........................................................................................42
Wdroeniowiec EJB..........................................................................................42
Administrator systemu.......................................................................................43
Dostawca kontenera i serwera............................................................................43
Sprzedawcy narzdzi.........................................................................................44
Podsumowanie ról.............................................................................................44
Platforma Java 2, Enterprise Edition (J2EE)..............................................................46
Technologie J2EE.............................................................................................47
Podsumowanie.......................................................................................................51
Rozdział 2. Podstawy EJB..................................................................................53
Komponenty EJB...................................................................................................53
Rodzaje komponentów......................................................................................54
Obiekty rozproszone. Podstawa technologii EJB........................................................55
Obiekty rozproszone i oprogramowanie po:rednicz)ce...............................................57
Jawne oprogramowanie po:rednicz)ce................................................................57
Niejawne oprogramowanie po:rednicz)ce...........................................................59
Z czego składa si komponent EJB?.........................................................................60
Klasa komponentu EJB.....................................................................................60
Obiekt EJB.......................................................................................................62
Obiekt domowy................................................................................................67
6
Enterprise JavaBeans
Interfejsy lokalne..............................................................................................69
Deskryptor rozmieszczenia................................................................................71
Pliki wymagane przez producentów serwerów.....................................................73
Plik ejb-jar.......................................................................................................73
Podsumowanie dotycz)ce wprowadzonych pojA.................................................74
Podsumowanie.......................................................................................................76
Rozdział 3. Twój pierwszy komponent ................................................................77
Jak opracowaA komponent EJB?..............................................................................77
Interfejs zdalny.......................................................................................................78
Interfejs lokalny......................................................................................................79
Interfejs domowy....................................................................................................80
Lokalny interfejs domowy.......................................................................................81
Klasa komponentu..................................................................................................83
Deskryptor rozmieszczenia......................................................................................86
Pliki wymagane przez producentów serwerów..........................................................87
Plik ejb-jar.............................................................................................................87
Wdraanie komponentu...........................................................................................88
Opcjonalny plik jar dla klienta EJB..........................................................................89
Jak wywoływaA komponenty?..................................................................................90
Znajdowanie obiektu domowego........................................................................90
Uruchamianie systemu............................................................................................94
Wyj:cie po stronie serwera................................................................................94
Wyj:cie po stronie klienta..................................................................................95
Implementacja interfejsów komponentu....................................................................95
Rozwi)zanie.....................................................................................................96
Podsumowanie.......................................................................................................96
Cz II Triada komponentów .......................................................97
Rozdział 4. Wprowadzenie do komponentów sesyjnych.......................................99
Czas ycia komponentu sesyjnego............................................................................99
Podtypy komponentów sesyjnych..........................................................................100
Stanowe komponenty sesyjne..........................................................................100
Bezstanowe komponenty sesyjne.....................................................................101
Specjalne wła:ciwo:ci stanowych komponentów sesyjnych......................................102
Realizowanie efektu gromadzenia komponentów stanowych...............................102
Zasady zarz)dzania stanem konwersacji............................................................104
Zwrotne metody aktywacji i pasywacji..............................................................105
Podsumowanie implementacji metod................................................................107
Prosty bezstanowy komponent sesyjny.............................................................109
Diagramy cyklu ycia komponentów sesyjnych.................................................116
Podsumowanie.....................................................................................................119
Rozdział 5. Wprowadzenie do komponentów encyjnych.....................................121
Pojcia zwi)zane z trwało:ci)................................................................................122
Serializacja obiektów Javy...............................................................................122
Odwzorowanie obiektowo-relacyjne.................................................................122
Obiektowe bazy danych...................................................................................124
Czym jest komponent encyjny?..............................................................................125
Pliki składaj)ce si na komponent encyjny........................................................127
Własno:ci komponentów encyjnych.......................................................................128
Komponenty encyjne — odporno:A na awarie...................................................128
Komponent encyjny — perspektywa bazy danych.............................................129
Wiele egzemplarzy komponentu encyjnego moe reprezentowaA te same dane.....130
Spis treci
7
Egzemplarze komponentów encyjnych mog) byA gromadzone............................131
Istniej) dwa sposoby utrwalania komponentów encyjnych..................................134
Tworzenie i usuwanie komponentów encyjnych................................................135
Wyszukiwanie komponentów encyjnych...........................................................136
Modyfikacja danych komponentu encyjnego bez EJB........................................137
Kontekst encji......................................................................................................138
Metody getEJBLocalObject() oraz getEJBObject().............................................139
Metoda getPrimaryKey().................................................................................139
Podsumowanie.....................................................................................................140
Rozdział 6. Pisanie komponentów encyjnych
bezpo+rednio zarz,dzaj,cych trwało+ci,..........................................141
Podstawy kodowania komponentów encyjnych.......................................................141
Znajdowanie istniej)cych komponentów encyjnych — metody ejbFind().............143
Przykład komponentu encyjnego
bezpo:rednio zarz)dzaj)cego trwało:ci) — konto bankowe...................................148
Plik Konto.java...............................................................................................149
Plik KontoLokalny.java...................................................................................150
Plik KontoDomowy.java.................................................................................151
Plik KontoLokalnyDomowy.java......................................................................153
Plik KontoKG.java..........................................................................................154
Plik KontoKomponent.java..............................................................................155
Plik KontoException.java................................................................................166
Plik Klient.java...............................................................................................166
Deskryptor rozmieszczenia..............................................................................168
Deskryptor rozmieszczenia charakterystyczny dla kontenera EJB........................170
Przygotowanie bazy danych.............................................................................170
Uruchamianie programu klienta.............................................................................171
Wyj:cie po stronie serwera..............................................................................171
Wyj:cie po stronie klienta................................................................................172
Podsumowanie — cykl ycia komponentów encyjnych typu BMP............................173
Podsumowanie.....................................................................................................175
Rozdział 7. Pisanie komponentów encyjnych
o trwało+ci zarz,dzanej przez kontener ...........................................177
Cechy komponentów encyjnych CMP....................................................................177
Komponenty encyjne CMP jako podklasy.........................................................177
Komponenty Encyjne CMP nie zawieraj) zadeklarowanych pól..........................178
Definiowanie metod zwracaj)cych (ustawiaj)cych) warto:ci pól
w podklasie komponentu...............................................................................180
Komponenty encyjne CMP
— działanie według abstrakcyjnego schematu trwało:ci...................................182
Własny jzyk zapytaJ komponentów encyjnych CMP........................................183
Komponenty encyjne CMP zawieraj)ce metody ejbSelect()................................185
Wskazówki dotycz)ce programowania komponentów encyjnych
o trwało:ci zarz)dzanej przez kontener.................................................................186
Przykład komponentu encyjnego
o trwało:ci zarz)dzanej przez kontener Linia produktów........................................190
Plik Produkt.java............................................................................................191
Plik ProduktLokalny.java................................................................................191
Plik ProduktDomowy.java...............................................................................192
Plik ProduktLokalnyDomowy.java...................................................................194
Plik ProduktKG.java.......................................................................................195
Plik ProduktKomponent.java...........................................................................196
8
Enterprise JavaBeans
Deskryptor rozmieszczenia..............................................................................200
Deskryptor rozmieszczenia specyficzny dla kontenera........................................203
Plik Klient.java...............................................................................................203
Uruchamianie programu klienta.............................................................................206
Cykl ycia komponentów encyjnych typu CMP.......................................................206
Podsumowanie.....................................................................................................207
Rozdział 8. Komponenty sterowane komunikatami — wprowadzenie.................209
Powody stosowania komponentów sterowanych komunikatami................................210
Java Message Service (JMS)..................................................................................211
Domeny przesyłania komunikatów...................................................................212
Interfejs programowy JMS...............................................................................214
Poł)czenie usług JMS z technologi) EJB................................................................217
Komponent sterowany komunikatami...............................................................219
Programowanie komponentów sterowanych komunikatami......................................222
Semantyka.....................................................................................................222
Prosty przykład...............................................................................................224
Zagadnienia zaawansowane...................................................................................230
Problemy zwi)zane z komponentami sterowanymi komunikatami.............................233
Uporz)dkowanie komunikatów........................................................................233
Brak wywołaJ metody ejbRemove().................................................................234
Truj)ce komunikaty........................................................................................234
Jak zwracaA wyniki do producentów komunikatów?...........................................237
Przyszło:A — asynchroniczne wywoływanie metod...........................................241
Podsumowanie.....................................................................................................242
Rozdział 9. Dodawanie funkcjonalno+ci do komponentów .................................243
Wywoływanie komponentów z poziomu innych komponentów.................................243
Domy:lne wyszukiwanie JNDI.........................................................................244
Odwołania EJB...............................................................................................245
Kródła zasobów....................................................................................................247
Własno:ci :rodowiska...........................................................................................249
Zagadnienia zwi)zane z bezpieczeJstwem EJB.......................................................251
Krok pierwszy — uwierzytelnienie...................................................................251
Krok drugi — autoryzacja................................................................................261
Propagacja bezpieczeJstwa..............................................................................269
Mechanizm uchwytów..........................................................................................271
Uchwyty domowe...........................................................................................272
Podsumowanie.....................................................................................................272
Cz III Zaawansowane elementy
technologii Enterprise JavaBeans ..................................273
Rozdział 10. Transakcje ....................................................................................275
Przyczyny stosowania transakcji............................................................................275
Operacje atomowe..........................................................................................276
Awaria sieci lub komputera..............................................................................277
Dane współdzielone przez wielu uytkowników................................................278
Korzy:ci płyn)ce ze stosowania transakcji..............................................................279
Własno:ci ACID.............................................................................................279
Modele transakcyjne.............................................................................................282
Transakcje płaskie...........................................................................................282
Transakcje zagniedone.................................................................................284
Inne modele transakcyjne................................................................................285
Zgłoś jeśli naruszono regulamin