
Wykorzystaj zaawansowane technologie
tworzenia aplikacji korporacyjnych
Enterprise JavaBeans to technologia przeznaczona do tworzenia złożonych programów, oparta na języku Java i platformie Java Enterprise Edition. Stosowana jest przy tworzeniu rozbudowanych aplikacji korporacyjnych i pozwala programistom na generowanie mechanizmów automatycznego zarządzania usługami kluczowymi dla systemu. Wersje EJB stosowane do tej pory wymagały od twórców aplikacji implementowania mechanizmów, które nie miały wiele wspólnego z właściwą logiką biznesową tworzonego oprogramowania, co znacznie wydłużało i komplikowało proces produkcji systemu. Najnowsza wersja, oznaczona numerem 3.0, jest pozbawiona tych wad.
Dzięki książce "Enterprise JavaBeans 3.0. Wydanie V" poznasz najnowsze wcielenie technologii EJB. Opisano tu wszystkie rozwiązania, które umożliwiły uproszczenie standardu Enterprise JavaBeans 3.0 względem jego poprzednich wersji. Czytając tę książkę, poznasz nowy interfejs Java Persistence API, który zastąpił stosowane dotychczas komponenty encyjne zwykłymi obiektami Javy, oraz nauczysz się sposobów eliminowania konieczności implementowania interfejsów EnterpriseBean. Dowiesz się, jak stosować adnotacje w miejsce elementów języka XML umieszczanych w deskryptorach wdrożenia. Znajdziesz tu również praktyczne przykłady, dzięki którym błyskawicznie opanujesz nową wersję EJB.
- Architektura EJB 3.0
- Relacje pomiędzy komponentami
- Zapytania i język EJB QL
- Komponenty sesyjne
- Obsługa transakcji
- Implementowanie usług WWW
- Instalacja i konfiguracja serwera JBoss
Nie trać więcej czasu! Zastosuj technologię,
która ułatwi Ci wytwarzanie systemów korporacyjnych.
Słowo wstępne (11)Przedmowa (15)
Część I Standard EJB 3.0 (23)
1. Wprowadzenie (25)
- Komponenty serwerowe (26)
- Utrwalanie danych i komponenty encyjne (28)
- Asynchroniczne przesyłanie komunikatów (29)
- Usługi Web Services (31)
- Titan Cruises - wymyślone przedsiębiorstwo (33)
- Co dalej? (33)
- Komponent encyjny (35)
- Komponent biznesowy (korporacyjny) (39)
- Stosowanie komponentów EJB i komponentów encyjnych (48)
- Kontrakt komponent-kontener (54)
- Podsumowanie (55)
- Zarządzanie zasobami (57)
- Usługi podstawowe (66)
- Co dalej? (78)
- Wytwarzanie komponentu encyjnego (79)
- Wytwarzanie komponentu sesyjnego (82)
- Encje są obiektami POJO (92)
- Encje zarządzane kontra encje niezarządzane (93)
- Pakowanie jednostek utrwalania (96)
- Uzyskiwanie dostępu do usługi EntityManager (100)
- Techniki współpracy z usługą EntityManager (104)
- Transakcje zasobów lokalnych (111)
- Model programowania (116)
- Podstawy odwzorowań relacyjnych (119)
- Klucze główne (123)
- Odwzorowywanie właściwości (133)
- Odwzorowania w wielu tabelach i adnotacja @SecondaryTable (140)
- Obiekty osadzone (oznaczone adnotacją @Embedded) (143)
- Siedem rodzajów relacji (145)
- Odwzorowywanie relacji reprezentowanych przez kolekcje (178)
- Encje odłączone i typ wyliczeniowy FetchType (181)
- Propagacja kaskadowa (182)
- Reprezentacja hierarchii klas w formie pojedynczej tabeli (188)
- Jedna tabela dla konkretnej klasy (191)
- Jedna tabela dla każdej podklasy (193)
- Strategie mieszane (195)
- Nieencyjne klasy bazowe (196)
- Interfejs Query API (200)
- Język EJB QL (204)
- Zapytania rdzenne (231)
- Zapytania nazwane (235)
- Zdarzenia zwrotne (239)
- Wywołania zwrotne klas komponentów encyjnych (240)
- Klasy nasłuchujące encji (241)
- Bezstanowy komponent sesyjny (247)
- Interfejs SessionContext (258)
- Cykl życia bezstanowego komponentu sesyjnego (261)
- Stanowy komponent sesyjny (265)
- Cykl życia stanowego komponentu sesyjnego (276)
- Stanowe komponenty sesyjne i rozszerzone konteksty utrwalania (280)
- Zagnieżdżanie stanowych komponentów sesyjnych (281)
- Usługa JMS i komponenty sterowane komunikatami (283)
- Komponenty sterowane komunikatami JMS (295)
- Cykl życia komponentu sterowanego komunikatami (309)
- Komponenty sterowane komunikatami wykorzystujące konektory (311)
- Wiązanie komunikatów (314)
- Harmonogram konserwacji statków linii Titan (321)
- Interfejs Timer Service API (321)
- Transakcje (331)
- Liczniki czasowe bezstanowych komponentów sesyjnych (331)
- Liczniki czasowe komponentów sterowanych komunikatami (334)
- Słowo końcowe (340)
- Kontekst JNDI ENC (341)
- Referencje i rodzaje wstrzyknięć (349)
- Metody przechwytujące (377)
- Obiekty przechwytujące i wstrzykiwanie (385)
- Przechwytywanie zdarzeń związanych z cyklem życia komponentu (387)
- Obsługa wyjątków (390)
- Cykl życia obiektu przechwytującego (393)
- Stosowanie adnotacji @AroundInvoke dla metod samych komponentów EJB (394)
- Kierunki rozwoju obiektów przechwytujących (394)
- Transakcje ACID (397)
- Deklaracyjne zarządzanie transakcjami (402)
- Izolacja i zabezpieczanie bazy danych (412)
- Nietransakcyjne komponenty EJB (422)
- Jawne zarządzanie transakcjami (423)
- Wyjątki i transakcje (433)
- Transakcyjne stanowe komponenty sesyjne (438)
- Konwersacyjny kontekst trwałości (440)
- Uwierzytelnianie i tożsamość (448)
- Autoryzacja (449)
- Identyfikator bezpieczeństwa RunAs (454)
- Bezpieczeństwo programowe (456)
- Ogólnie o usługach WWW (459)
- XML Schema oraz XML Namespaces (460)
- SOAP 1.1 (470)
- WSDL 1.1 (473)
- UDDI 2.0 (480)
- Od standardu do implementacji (480)
- Dostęp do usług WWW za pomocą JAX-RPC (482)
- Definiowanie usługi WWW za pomocą JAX-RPC (490)
- Korzystanie z JAX-WS (494)
- Inne adnotacje i API (503)
- Serwlety (505)
- Strony JavaServer (507)
- Komponenty WWW i EJB (507)
- Wypełnianie luki (508)
- Składanie kawałków w jedną całość (513)
- Projekt wstępny - kontenery i bazy danych (515)
- Projekt właściwy (517)
- Czy korzystać z EJB? (540)
- Opakowywanie (545)
Wprowadzenie (549)
22. Instalacja i konfiguracja serwera JBoss (551)
- O serwerze JBoss (551)
- Instalacja serwera aplikacji JBoss (552)
- Krótki przegląd struktury wewnętrznej serwera JBoss (555)
- Wdrażanie i konfigurowanie kodu źródłowego ćwiczeń (558)
- Ćwiczenie 4.1. Pierwsze komponenty w serwerze JBoss (561)
- Ćwiczenie 4.2. Deklarowanie związków z interfejsem JNDI za pomocą adnotacji (571)
- Ćwiczenie 4.3. Deklarowanie związków z interfejsem JNDI za pomocą elementów języka XML (573)
- Ćwiczenie 5.1. Interakcja z usługą EntityManager (577)
- Ćwiczenie 5.2. Utrwalanie w autonomicznych aplikacjach Javy (587)
- Ćwiczenie 6.1. Podstawowe odwzorowywanie właściwości (591)
- Ćwiczenie 6.2. Adnotacja @IdClass (595)
- Ćwiczenie 6.3. Adnotacja @EmbeddedId (597)
- Ćwiczenie 6.4. Odwzorowywanie pojedynczych encji w wielu tabelach (599)
- Ćwiczenie 6.5. Klasy osadzone (601)
- Ćwiczenie 7.1. Propagacja kaskadowa (605)
- Ćwiczenie 7.2. Relacje odwrotne (611)
- Ćwiczenie 7.3. Leniwa inicjalizacja (615)
- Ćwiczenie 8.1. Strategia odwzorowywania hierarchii w pojedynczych tabelach (621)
- Ćwiczenie 8.2. Strategia odwzorowywania klas w pojedynczych tabelach (625)
- Ćwiczenie 8.3. Strategia dziedziczenia JOINED (627)
- Ćwiczenie 9.1. Interfejs Query i podstawy języka zapytań EJB QL (631)
- Ćwiczenie 9.2. Rdzenne zapytania języka SQL (649)
- Ćwiczenie 10.1. Wywołania zwrotne (655)
- Ćwiczenie 10.2. Obiekty nasłuchujące (660)
- Ćwiczenie 11.1. Wywołania zwrotne (667)
- Ćwiczenie 11.2. Przykrywanie ustawień za pomocą elementów XML-a (671)
- Ćwiczenie 11.3. Bezstanowy komponent sesyjny bez adnotacji (674)
- Ćwiczenie 11.4. Stanowy komponent sesyjny (676)
- Ćwiczenie 11.5. Stanowy komponent sesyjny bez adnotacji (682)
- Ćwiczenie 12.1. Komponent sterowany komunikatami (685)
- Ćwiczenie 13.1. Usługa EJB Timer Service (693)
- Ćwiczenie 15.1. Obiekty przechwytujące EJB (697)
- Ćwiczenie 15.2. Przechwytywanie wywołań zwrotnych EJB (699)
- Ćwiczenie 16.1. Konwersacyjny kontekst trwałości (703)
- Ćwiczenie 17.1. Bezpieczeństwo (707)
- Ćwiczenie 17.2. Zabezpieczanie za pomocą XML (712)
- Ćwiczenie 19.1. Udostępnianie komponentu bezstanowego (715)
- Ćwiczenie 19.2. Korzystanie z klienta .NET (722)
A Konfiguracja bazy danych JBoss (727)
Skorowidz (731)