J2EE_Wzorce_projektowe_j2eewp.pdf

(444 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
J2EE. Wzorce
projektowe
Autorzy: Deepak Alur, John Crupi, Dan Malks
T³umaczenie: Maciel Gorywoda
ISBN: 83-7197-988-6
Tytu³ orygina³u:
Core J2EE Patterns
Format: B5, stron: 360
TWÓJ KOSZYK
DODAJ DO KOSZYKA
W ci¹gu ostatnich kilku lat Java 2 Enterprise Edition sta³a siê standardow¹ platform¹
do budowy skomplikowanych aplikacji. Poniewa¿ jest ona rozbudowanym rodowiskiem
programistycznym, pozwalaj¹cym projektowaæ i programowaæ potê¿ne aplikacje,
nie jest ³atwa w obs³udze. W ksi¹¿ce, któr¹ trzymasz w rêku, do wiadczeni architekci
Sun Java Center, organizacji konsultingowej, dzia³aj¹cej w ramach Sun Java, dziel¹ siê
z czytelnikiem swoim do wiadczeniem w projektowaniu aplikacji opartych na
technologii J2EE.
Autorzy skupiaj¹ siê na wzorcach projektowych, opartych na najwa¿niejszych
technologiach J2EE, takich jak Java Server Pages (JSP), serwlety, Enterprise
JavaBeans (EJB) oraz Java Message Service (JMS). Omawiane s¹ równie¿ inne
technologie Javy, wa¿ne dla prawid³owej implementacji wzorców, takie jak JDBC i JNDI.
Katalog zawieraj¹cy wzorce projektowe J2EE dokumentuje i prezentuje najlepsze
sposoby wykorzystania tych technologii. To jednak nie wszystko. Ksi¹¿ka omawia
równie¿:
• wiele strategii przydatnych przy projektowaniu warstw prezentacyjnej
i biznesowej;
• identyfikacjê b³êdnych technik znajdywanych w warstwach prezentacyjnej,
biznesowej i integracyjnej oraz propozycje rozwi¹zañ wykorzystuj¹cych wzorce
projektowe oraz sposoby przebudowy systemów;
• metody przebudowy dla poszczególnych warstw aplikacji oraz techniki
zastêpowania b³êdnych implementacji prawid³owymi;
• przyk³adowy kod programów opartych na omawianych strategiach i wzorcach
projektowych.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Spis treści
Podziękowania
Przedsłowie I
Przedsłowie II
Wstęp
9
11
12
13
Część I Wzorce i J2EE
Rozdział 1. Wprowadzenie
19
21
Czym jest J2EE? .................................................................................................................... 21
Czym są wzorce?................................................................................................................... 22
Historia ............................................................................................................................ 22
Definicja wzorca............................................................................................................... 23
Kategorie wzorców ........................................................................................................... 24
Katalog wzorców J2EE ........................................................................................................... 25
Nieprzerwana ewolucja .................................................................................................... 25
Jak korzystać z katalogu wzorców J2EE ........................................................................... 26
Korzyści wynikające z używania wzorców ......................................................................... 27
Wzorce, struktury oraz powtórne wykorzystanie..................................................................... 29
Podsumowanie ...................................................................................................................... 29
Rozdział 2. Omówienie platformy J2EE
31
Krótko o historii..................................................................................................................... 31
Serwery aplikacji — nowe pokolenie................................................................................ 32
Właściwości technologii Javy ........................................................................................... 33
Powstanie platformy J2EE................................................................................................ 34
Ocena wartości J2EE ....................................................................................................... 34
Platforma J2EE ...................................................................................................................... 35
Architektura J2EE............................................................................................................. 35
Java 2 Standard Edition................................................................................................... 36
Komponenty i pojemniki aplikacji J2EE ............................................................................ 37
Serwisy standardowe....................................................................................................... 38
Role w platformie J2EE .................................................................................................... 39
Pliki opisów rozmieszczenia............................................................................................. 40
Wzorce J2EE a platforma J2EE .............................................................................................. 41
Podsumowanie ...................................................................................................................... 42
4
J2EE. Wzorce projektowe
Część II Elementy projektów, niewłaściwe techniki oraz przebudowa systemu
Rozdział 3. Elementy projektów oraz niewłaściwe techniki warstwy prezentacyjnej
43
45
Elementy projektowania warstwy prezentacyjnej.................................................................... 45
Zarządzanie sesją ............................................................................................................ 45
Kontrola praw dostępu klienta ......................................................................................... 48
Walidacja ......................................................................................................................... 52
Właściwości klas pomocniczych — integralność i konsekwencja..................................... 54
Niewłaściwe techniki zarządzania warstwą prezentacyjną...................................................... 56
Kontrola kodu w widokach wielokrotnych......................................................................... 57
Udostępnianie struktur danych warstwy prezentacyjnej warstwie komercyjnej ................. 57
Udostępnianie struktur danych warstwy prezentacyjnej obiektom rodzimym.................... 58
Powielanie wysyłanych formularzy.................................................................................... 58
Bezpośrednie udostępnianie ważnych zasobów............................................................... 59
Założenie, że <jsp:setProperty> będzie resetować własności komponentu ..................... 59
Tworzenie „grubych” sterowników.................................................................................... 60
Rozdział 4. Elementy projektów oraz niewłaściwe techniki warstwy komercyjnej
61
Elementy projektowania warstwy komercyjnej ....................................................................... 61
Korzystanie z komponentów sesyjnych ............................................................................ 61
Korzystanie z komponentów jednostkowych .................................................................... 65
Pamięć podręczna dla odległych referencji i uchwytów EnterpriseBeans ......................... 67
Niewłaściwe techniki zarządzania warstwą komercyjną ......................................................... 67
Mapowanie modelu obiektu bezpośrednio na model jednostki ........................................ 67
Mapowanie modelu relacji bezpośrednio na model jednostki .......................................... 68
Mapowanie każdego rodzaju wykorzystania na komponent sesyjny ................................. 69
Obsługa wszystkich atrybutów komponentu poprzez metody zmiany lub dostępu............ 69
Umieszczenie serwisu aktualizującego w aplikacjach klienckich...................................... 69
Używanie jednostki w charakterze obiektu tylko do odczytu............................................. 70
Używanie jednostek w charakterze obiektów wyspecjalizowanych.................................... 71
Przechowywanie pełnej struktury obiektów zależnych od jednostki .................................. 72
Niepotrzebne ujawnianie wyjątków związanych z EJB ....................................................... 72
Używanie metod przeszukujących komponentów jednostkowych
do zwracania dużych bloków danych ............................................................................. 73
Klient sortujący dane dla komponentów komercyjnych .................................................... 73
Używanie EnterpriseBeans do obsługi transakcji czasochłonnych ................................... 74
Niezachowujące stanu komponenty odtwarzają stan konwersacji dla każdego wywołania...... 74
Rozdział 5. Sposoby przebudowy J2EE
77
Sposoby przebudowy warstwy prezentacyjnej ........................................................................ 77
Korzystanie ze sterownika ............................................................................................... 77
Korzystanie z synchronizatora.......................................................................................... 79
Wyodrębnienie procedur rozproszonych ........................................................................... 83
Ukrycie danych warstwy prezentacyjnej przed warstwą komercyjną.................................. 89
Usuwanie konwersji z widoku........................................................................................... 92
Ukrywanie zasobów przed klientem ................................................................................. 95
Sposoby przebudowy warstwy komercyjnej i integracyjnej ..................................................... 98
Zamknięcie komponentów jednostkowych w sesji............................................................ 98
Korzystanie z delegatów komercyjnych .......................................................................... 100
Łączenie komponentów sesyjnych ................................................................................. 101
Ograniczanie komunikacji międzyjednostkowej .............................................................. 102
Przesunięcie procedur komercyjnych do sesji ................................................................ 104
Spis treści
5
Ogólne sposoby przebudowy ............................................................................................... 105
Separacja kodu dostępu do danych............................................................................... 105
Przebudowa architektury warstw .................................................................................... 107
Korzystanie z zestawu połączeń..................................................................................... 109
Część III Katalog wzorców J2EE
Rozdział 6. Omówienie wzorców J2EE
111
113
Czym jest wzorzec?........................................................................................................ 113
Identyfikacja wzorca....................................................................................................... 114
Podejście warstwowe .......................................................................................................... 115
Wzorce J2EE........................................................................................................................ 117
Wzorce warstwy prezentacyjnej ...................................................................................... 117
Wzorce warstwy komercyjnej.......................................................................................... 117
Wzorce warstwy integracyjnej......................................................................................... 117
Wprowadzenie do katalogu.................................................................................................. 118
Terminologia .................................................................................................................. 118
Korzystanie z UML ......................................................................................................... 121
Szablon wzorców............................................................................................................ 122
Relacje pomiędzy wzorcami J2EE ........................................................................................ 123
Relacje do innych znanych wzorców .................................................................................... 126
Mapa wzorców..................................................................................................................... 126
Podsumowanie .................................................................................................................... 130
Rozdział 7. Wzorce warstwy prezentacyjnej
131
Filtr przechwytujący.............................................................................................................. 131
Kontekst ........................................................................................................................ 131
Problem ......................................................................................................................... 131
Siły................................................................................................................................. 132
Rozwiązanie ................................................................................................................... 132
Konsekwencje................................................................................................................ 145
Relacje z innymi wzorcami ............................................................................................. 146
Sterownik frontalny.............................................................................................................. 146
Kontekst ........................................................................................................................ 146
Problem ......................................................................................................................... 146
Siły................................................................................................................................. 147
Rozwiązanie ................................................................................................................... 147
Konsekwencje................................................................................................................ 156
Relacje z innymi wzorcami ............................................................................................. 156
Pomocnik widoku ................................................................................................................ 157
Kontekst ........................................................................................................................ 157
Problem ......................................................................................................................... 157
Siły................................................................................................................................. 157
Rozwiązanie ................................................................................................................... 158
Konsekwencje................................................................................................................ 169
Relacje z innymi wzorcami ............................................................................................. 169
Widok złożony...................................................................................................................... 170
Kontekst ........................................................................................................................ 170
Problem ......................................................................................................................... 170
Siły................................................................................................................................. 170
Rozwiązanie ................................................................................................................... 170
6
J2EE. Wzorce projektowe
Konsekwencje................................................................................................................ 177
Przykładowy kod............................................................................................................. 178
Relacje z innymi wzorcami ............................................................................................. 179
Struktura usługa-pracownik ................................................................................................. 180
Kontekst ........................................................................................................................ 180
Problem ......................................................................................................................... 180
Siły................................................................................................................................. 180
Rozwiązanie ................................................................................................................... 181
Konsekwencje................................................................................................................ 185
Przykładowy kod............................................................................................................. 186
Relacje z innymi wzorcami ............................................................................................. 191
Widok przekaźnika............................................................................................................... 191
Kontekst ........................................................................................................................ 191
Problem ......................................................................................................................... 192
Siły................................................................................................................................. 192
Rozwiązanie ................................................................................................................... 192
Konsekwencje................................................................................................................ 197
Przykładowy kod............................................................................................................. 198
Relacje z innymi wzorcami ............................................................................................. 202
Rozdział 8. Wzorce warstwy komercyjnej
203
Delegat komercyjny ............................................................................................................. 203
Kontekst ........................................................................................................................ 203
Problem ......................................................................................................................... 203
Siły................................................................................................................................. 204
Rozwiązanie ................................................................................................................... 204
Konsekwencje................................................................................................................ 208
Przykładowy kod............................................................................................................. 209
Relacje z innymi wzorcami ............................................................................................. 213
Obiekt wartości ................................................................................................................... 213
Kontekst ........................................................................................................................ 213
Problem ......................................................................................................................... 213
Siły................................................................................................................................. 214
Rozwiązanie ................................................................................................................... 214
Konsekwencje................................................................................................................ 223
Przykładowy kod............................................................................................................. 224
Relacje z innymi wzorcami ............................................................................................. 235
Fasada sesji ........................................................................................................................ 235
Kontekst ........................................................................................................................ 235
Problem ......................................................................................................................... 235
Siły................................................................................................................................. 237
Rozwiązanie ................................................................................................................... 237
Konsekwencje................................................................................................................ 241
Przykładowy kod............................................................................................................. 243
Relacje z innymi wzorcami ............................................................................................. 249
Jednostka złożona............................................................................................................... 250
Kontekst ........................................................................................................................ 250
Problem ......................................................................................................................... 250
Siły................................................................................................................................. 252
Rozwiązanie ................................................................................................................... 253
Konsekwencje................................................................................................................ 259
Zgłoś jeśli naruszono regulamin