Opis książki: Podstawowymi zagadnieniami opisywanymi w książce są wzorce, najlepsze techniki, strategie projektowe i sprawdzone rozwiązania wykorzystujące kluczowe technologie J2EE, czyli strony JSP, serwlety, komponenty EJB i interfejs JMS. Katalog wzorców J2EE zawiera 21 wzorców i o wiele więcej strategii, przy wykorzystaniu których powstają najlepsze rozwiązania programistyczne. "J2EE. Wzorce projektowe. Wydanie drugie" zawiera opis następujących zagadnień:- 21 wzorców projektowych J2EE znane i w pełni sprawdzone oraz nowe wzorce zapewniające najlepsze rozwiązania dla aplikacji biznesowych
- strategie projektowe dla warstwy prezentacji, biznesowej i integracji
- opis zastosowania technologii JSP, EJB, JSM, usług sieciowych i serwletów
- przykłady nie zalecanych rozwiązań stosujących technologię J2EE
- sposoby refaktoryzacji poprawiające istniejące projekty
- diagramy UML ilustrujące przedstawiane zagadnienia
- dużą liczbę przykładów zastosowania wzorców, strategii i refaktoryzacji
O Autorach:Deepak Alur jest architektem rozwiązań biznesowych Javy w Sun Java Center z 14-letnim doświadczeniem. Zajmuje się głównie architekturą, projektowaniem i implementacją dużych rozwiązań biznesowych z zastosowaniem technologii Java i J2EE. John Crupi jest wybitnym inżynierem i szefem architektów Javy w Sun Java Center. Posiada 17-letnie doświadczenie w obliczeniach rozproszonych i zajmuje się przede wszystkim tworzeniem skalowalnych architektur J2EE wielokrotnego użytku. Dan Malks jest głównym inżynierem w Sun Java Center. Posiada 16-letnie doświadczenie i zajmuje się technologiami obiektowymi oraz ich zastosowaniem w projektach biznesowych i usługach sieciowych. Pisze artykuły do czasopism branżowych, jest także współautorem książek o Javie, wzorcach i technologii J2EE.
Przedmowa I (11)
Przedmowa II (13)
Wstęp (15)
Część I Wzorce i J2EE (21)
Rozdział 1. Wprowadzenie (23)
- Czym jest J2EE? (24)
- Czym są wzorce? (24)
- Odniesienie historyczne (24)
- Definiowanie wzorca (25)
- Kategoryzacja wzorców (26)
- Katalog wzorców J2EE (27)
- Ciągła ewolucja (27)
- Jak korzystać z katalogu wzorców? (28)
- Zalety stosowania wzorców (29)
- Wzorce, szkielety i ponowne użycie elementów (31)
- Podsumowanie (31)
Rozdział 2. Projektowanie warstwy prezentacji i złe praktyki (33)
- Zagadnienia projektowe warstwy prezentacji (33)
- Zarządzanie sesją (33)
- Kontrola dostępu klienta (36)
- Walidacja (40)
- Właściwości klas pomocniczych - integralność i spójność (42)
- Złe praktyki związane z warstwą prezentacji (44)
- Kod sterujący w wielu widokach (45)
- Udostępnianie struktur danych warstwy prezentacji warstwie biznesowej (45)
- Udostępnianie struktur danych warstwy prezentacji obiektom domeny (46)
- Duplikacja wysyłanych formularzy (46)
- Udostępnianie poufnych zasobów w sposób bezpośredni (47)
- Założenie, że zresetuje właściwości komponentu JavaBean (47)
- Tworzenie rozbudowanych kontrolerów (48)
- Użycie skryptletów w widoku (48)
Rozdział 3. Projektowanie warstwy biznesowej i złe praktyki (53)
- Zagadnienia projektowe warstwy biznesowej (53)
- Korzystanie z komponentów sesyjnych (53)
- Korzystanie z komponentów Entity (56)
- Buforowanie referencji i uchwytów do zdalnych komponentów enterprise bean (58)
- Złe praktyki związane z warstwą biznesową i warstwą integracji (59)
- Mapowanie modelu obiektowego bezpośrednio na model komponentów Entity (59)
- Mapowanie modelu relacyjnego bezpośrednio na model komponentów Entity (60)
- Mapowanie każdego przypadku użycia na jeden komponent sesyjny (60)
- Udostępnianie wszystkich atrybutów komponentów poprzez metody ustawiania i pobierania (61)
- Osadzanie wyszukiwania usług u klienta (61)
- Stosowanie komponentów Entity jako obiektów tylko do odczytu (62)
- Korzystanie z komponentów Entity jako drobnych obiektów (63)
- Zapisywanie całego grafu powiązanych komponentów Entity (64)
- Ujawnianie wyjątków związanych z EJB klientom spoza warstwy EJB (64)
- Stosowanie metod Finder komponentów Entity w celu zwrócenia większego zbioru wyników (65)
- Klient przechowuje dane z komponentów biznesowych (65)
- Korzystanie z komponentów EJB w długich transakcjach (66)
- Bezstanowy komponent sesyjny odtwarza stan sesji dla każdego wywołania (66)
Rozdział 4. Refaktoryzacja J2EE (69)
- Refaktoryzacja warstwy prezentacji (69)
- Wprowadzenie kontrolera (69)
- Wprowadzenie tokenu synchronizującego (72)
- Podział logiki na niezależne fragmenty (76)
- Ukrycie szczegółów warstwy prezentacji przed warstwą biznesową (81)
- Usunięcie konwersji z widoku (84)
- Ukrywanie zasobów przed klientem (87)
- Refaktoryzacja warstwy biznesowej i warstwy integracji (90)
- Ukrycie komponentów Entity za komponentami sesyjnymi (90)
- Wprowadzenie obiektów Business Delegate (92)
- Łączenie komponentów sesyjnych (94)
- Redukcja komunikacji między komponentami Entity (96)
- Przeniesienie logiki biznesowej do warstwy komponentów sesyjnych (98)
- Ogólne udoskonalanie projektu (99)
- Wydzielenie kodu dostępu do danych (99)
- Refaktoryzacja architektury z wykorzystaniem warstw (101)
- Stosowanie puli połączeń (103)
Część II Katalog wzorców J2EE (105)
Rozdział 5. Omówienie wzorców J2EE (107)
- Czym jest wzorzec? (108)
- Identyfikacja wzorca (108)
- Wzorce a strategie (109)
- Podejście warstwowe (109)
- Wzorce J2EE (111)
- Wzorce warstwy prezentacji (111)
- Wzorce warstwy biznesowej (111)
- Wzorce warstwy integracji (112)
- Wprowadzenie do katalogu (112)
- Terminologia (113)
- Stosowanie języka UML (115)
- Szablon wzorców (116)
- Związki między wzorcami J2EE (116)
- Związki z innymi znanymi wzorcami (120)
- Mapa wzorców (120)
- Podsumowanie (125)
Rozdział 6. Wzorce warstwy prezentacji (127)
- Intercepting Filter (127)
- Problem (127)
- Siły (128)
- Rozwiązanie (128)
- Konsekwencje (143)
- Powiązane wzorce (145)
- Front Controller (145)
- Problem (145)
- Siły (146)
- Rozwiązanie (146)
- Konsekwencje (156)
- Powiązane wzorce (157)
- Context Object (157)
- Problem (157)
- Siły (158)
- Rozwiązanie (158)
- Konsekwencje (175)
- Powiązane wzorce (175)
- Application Controller (176)
- Problem (176)
- Siły (176)
- Rozwiązanie (176)
- Konsekwencje (202)
- Powiązane wzorce (203)
- View Helper (203)
- Problem (203)
- Siły (204)
- Rozwiązanie (204)
- Konsekwencje (219)
- Powiązane wzorce (222)
- Composite View (222)
- Problem (222)
- Siły (222)
- Rozwiązanie (223)
- Konsekwencje (230)
- Przykładowy kod (231)
- Powiązane wzorce (233)
- Service to Worker (233)
- Problem (233)
- Siły (234)
- Rozwiązanie (234)
- Konsekwencje (238)
- Przykładowy kod (238)
- Powiązane wzorce (243)
- Dispatcher View (243)
- Problem (243)
- Siły (243)
- Rozwiązanie (244)
- Konsekwencje (248)
- Przykładowy kod (249)
- Powiązane wzorce (253)
Rozdział 7. Wzorce warstwy biznesowej (255)
- Business Delegate (255)
- Problem (255)
- Siły (256)
- Rozwiązanie (256)
- Konsekwencje (260)
- Przykładowy kod (262)
- Powiązane wzorce (265)
- Service Locator (265)
- Problem (265)
- Siły (266)
- Rozwiązanie (266)
- Konsekwencje (274)
- Przykładowy kod (276)
- Powiązane wzorce (285)
- Session FaĂParagrafade (286)
- Problem (286)
- Siły (286)
- Rozwiązanie (287)
- Konsekwencje (290)
- Przykładowy kod (291)
- Powiązane wzorce (297)
- Application Service (298)
- Problem (298)
- Siły (299)
- Rozwiązanie (299)
- Konsekwencje (306)
- Przykładowy kod (307)
- Powiązane wzorce (312)
- Business Object (312)
- Problem (312)
- Siły (313)
- Rozwiązanie (314)
- Konsekwencje (323)
- Przykładowy kod (324)
- Powiązane wzorce (326)
- Composite Entity (326)
- Problem (326)
- Siły (328)
- Rozwiązanie (328)
- Konsekwencje (336)
- Przykładowy kod (337)
- Powiązane wzorce (345)
- Transfer Object (346)
- Problem (346)
- Siły (346)
- Rozwiązanie (347)
- Konsekwencje (354)
- Przykładowy kod (355)
- Powiązane wzorce (360)
- Transfer Object Assembler (361)
- Problem (361)
- Siły (361)
- Rozwiązanie (361)
- Konsekwencje (365)
- Przykładowy kod (365)
- Powiązane wzorce (369)
- Value List Handler (369)
- Problem (369)
- Siły (370)
- Rozwiązanie (370)
- Konsekwencje (375)
- Przykładowy kod (376)
- Powiązane wzorce (381)
Rozdział 8. Wzorce warstwy integracji (383)
- Data Access Object (383)
- Problem (383)
- Siły (384)
- Rozwiązanie (384)
- Konsekwencje (407)
- Powiązane wzorce (409)
- Service Activator (410)
- Problem (410)
- Siły (410)
- Rozwiązanie (410)
- Konsekwencje (425)
- Powiązane wzorce (425)
- Domain Store (426)
- Problem (426)
- Siły (426)
- Rozwiązanie (427)
- Konsekwencje (458)
- Powiązane wzorce (458)
- Web Service Broker (459)
- Problem (459)
- Siły (460)
- Rozwiązanie (460)
- Konsekwencje (477)
- Powiązane wzorce (478)
Dodatki (479)
Dodatek A Epilog (481)
- Mikroarchitektura Web Worker (481)
- Czym są systemy organizacji pracy? (481)
- Mikroarchitektura Web Worker (484)
- Problem (484)
- Siły (486)
- Rozwiązanie (487)
- Konsekwencje (513)
Dodatek B Bibliografia (515)
Licencja (519)
Skorowidz (521)
|