J2EE Podstawy programowania aplikacji korporacyjnych.pdf

(582 KB) Pobierz
IDZ DO
PRZYK£ADOW Y ROZDZIA£
J2EE. Podstawy programowania
aplikacji korporacyjnych
SPIS TREŒCI
KATALOG KSI¥¯EK
Autor: Alan Monnox
T³umaczenie: Miko³aj Szczepaniak
ISBN: 83-246-0211-9
Format: B5, stron: 480
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Kompendium wiedzy dla ka¿dego programisty, projektanta i kierownika projektu
• Nowoczesne metodyki wytwarzania oprogramowania
Narzêdzia do modelowania aplikacji i automatycznego generowania kodu
Koncepcja architektury sterowanej modelami
Sposoby zapewnienia jakoœci aplikacji
Tworzenie aplikacji korporacyjnych to wyœcig z czasem. Organizacje zmieniaj¹ siê
podobnie jak otoczenie biznesowe, w którym dzia³aj¹. Zbyt d³ugi okres przygotowania
aplikacji mo¿e sprawiæ, ¿e po wdro¿eniu oka¿e siê ona bezu¿yteczna. Z drugiej jednak
strony, zbyt du¿y poœpiech przy tworzeniu aplikacji powoduje, ¿e pomija siê fazê
modelowania i testowania, pisz¹c kod Ÿród³owy bez jakiejkolwiek koncepcji i planu.
Efektem takiego poœpiechu s¹ aplikacje niedostosowane do wymagañ u¿ytkowników
i pracuj¹ce niestabilnie. Sposobem na stworzenie odpowiedniego systemu
informatycznego dla korporacji jest wykorzystywanie odpowiednich metodyk
projektowych i nowoczesnych narzêdzi u³atwiaj¹cych zarówno pisanie,
jak i testowanie aplikacji.
Ksi¹¿ka „J2EE. Podstawy programowania aplikacji korporacyjnych” przedstawia
najlepsze praktyki projektowe stosowane przy tworzeniu systemów informatycznych
z wykorzystaniem platformy J2EE. Opisano w niej kolejne etapy projektu oraz
narzêdzia i metodyki, dziêki którym przeprowadzenie ka¿dego z nich bêdzie szybsze
i efektywniejsze. Czytaj¹c j¹, poznasz metodyki RUP i XP, typy architektur systemów
oraz sposoby modelowania aplikacji i narzêdzia do automatycznego generowania
szkieletu kodu Ÿród³owego. Dowiesz siê, jak optymalnie skonfigurowaæ œrodowiska
programistyczne i jak testowaæ kolejne modu³y aplikacji. Nauczysz siê korzystaæ
z nowoczesnych metodyk i narzêdzi.
Podstawowe wiadomoœci o b³yskawicznym wytwarzaniu aplikacji (RAD)
Metodyki projektowe Rational Unified Process (RUP) oraz Extreme Programming (XP)
Wielowarstwowe architektury systemów
Modelowanie systemów za pomoc¹ jêzyka UML
Automatyczne generowanie kodu
Stosowanie narzêdzi XDoclet i Hibernate
Komunikacja z bazami danych
Zasady programowania aspektowego
Testowanie aplikacji
Wiadomoœci zawarte w tej ksi¹¿ce sprawi¹, ¿e bêdziesz w stanie szybciej projektowaæ
i tworzyæ aplikacje korporacyjne.
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
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
945182932.017.png 945182932.018.png 945182932.019.png 945182932.020.png 945182932.001.png 945182932.002.png 945182932.003.png 945182932.004.png 945182932.005.png 945182932.006.png 945182932.007.png 945182932.008.png 945182932.009.png 945182932.010.png 945182932.011.png 945182932.012.png 945182932.013.png 945182932.014.png 945182932.015.png 945182932.016.png
 
Spis treści
O autorze ....................................................................................... 13
Przedmowa ..................................................................................... 15
Część I Procesy adaptacyjne .....................................................21
Rozdział 1. Fundamenty adaptacyjne technologii J2EE ...................................... 23
Potrzeba błyskawicznego wytwarzania oprogramowania .............................................. 24
Wyzwania na poziomie przedsiębiorstw ........................................................................ 25
Platforma J2EE ............................................................................................................... 26
Definiowanie fundamentu adaptacyjnego ...................................................................... 27
Dlaczego fundament? ............................................................................................... 27
Dlaczego adaptacyjny? ............................................................................................. 27
Przygotowywanie fundamentów pod błyskawiczne wytwarzanie oprogramowania ...... 28
Ludzie ...................................................................................................................... 29
Narzędzia ................................................................................................................. 29
Szkielety ................................................................................................................... 29
Praktyki .................................................................................................................... 30
Standardy ................................................................................................................. 30
Procesy i procedury .................................................................................................. 30
Szkolenia .................................................................................................................. 30
Ustawiczne doskonalenie ......................................................................................... 31
Korzyści wynikające z inwestycji w fundamenty adaptacyjne ....................................... 32
Kluczowe czynniki decydujące o sukcesie ..................................................................... 33
Pozyskiwanie przychylności projektantów i programistów ..................................... 34
Edukacja ................................................................................................................... 35
Wsparcie zarządu ..................................................................................................... 36
Podsumowanie ............................................................................................................... 37
Informacje dodatkowe .............................................................................................. 38
Rozdział 2. Błyskawiczne wytwarzanie aplikacji ................................................. 39
Wspólne elementy koncepcji RAD ................................................................................ 40
Metoda skrzynki czasowej ....................................................................................... 40
Języki właściwe dla określonych dziedzin ............................................................... 41
Wielokrotne wykorzystywanie oprogramowania ..................................................... 42
Narzędzia zapewniające produktywność .................................................................. 44
Błyskawiczne tworzenie prototypów ....................................................................... 44
 
6
J2EE. Podstawy programowania aplikacji korporacyjnych
Praca z prototypami ........................................................................................................ 45
Typy prototypów i techniki ich budowy .................................................................. 46
Wybór pomiędzy trybem odrzucania a trybem ewoluowania .................................. 48
Podsumowanie ............................................................................................................... 49
Informacje dodatkowe .............................................................................................. 49
Rozdział 3. Korzystanie z metod adaptacyjnych ................................................. 51
Po co w ogóle stosować metodyki? ................................................................................ 52
Metodyka RAD dla platformy J2EE ........................................................................ 52
Metody adaptacyjne kontra metody predyktywne .................................................... 53
Kaskadowy model cyklu życia projektu ......................................................................... 54
Klasyczny model kaskadowy ................................................................................... 54
Zalety i wady ............................................................................................................ 55
Studium przypadku .................................................................................................. 56
Wytwarzanie iteracyjne .................................................................................................. 59
Zalety podejścia iteracyjnego ................................................................................... 60
Procesy iteracyjne .................................................................................................... 63
Wprowadzenie do procesu RUP ..................................................................................... 63
Proces oparty na przypadkach użycia ....................................................................... 65
Iteracyjne wytwarzanie oprogramowania w ramach procesu RUP .......................... 68
Etapy procesu RUP .................................................................................................. 69
Dziedziny ................................................................................................................. 70
Elementy procesu RUP ............................................................................................ 72
Planowanie ............................................................................................................... 73
Wsparcie dla projektów na poziomie korporacyjnym .............................................. 75
Wady procesu RUP .................................................................................................. 75
Metody zwinne ............................................................................................................... 76
Wprowadzenie do metodyki XP ..................................................................................... 77
Praktyki procesu XP ................................................................................................. 77
Planowanie ............................................................................................................... 80
Projektowanie .......................................................................................................... 81
Kodowanie ............................................................................................................... 82
Testowanie ............................................................................................................... 84
Role w procesie XP .................................................................................................. 84
Stosowanie metodyki XP dla projektów korporacyjnych opartych na platformie
J2EE ...................................................................................................................... 86
Podsumowanie ............................................................................................................... 88
Informacje dodatkowe .............................................................................................. 89
Część II Architektury zwinne ......................................................91
Rozdział 4. Projektowanie zapewniające błyskawiczność wytwarzania ................ 93
Cele architektur i projektów ........................................................................................... 94
Architektura i projekt w koncepcji RAD ........................................................................ 96
Wykorzystanie mocnych stron zespołu projektowego ............................................. 96
Wykorzystuj najlepsze dostępne szkielety ............................................................... 97
Myśl o przyszłości ................................................................................................. 100
Wystrzegaj się projektowania na rzecz wielokrotnego wykorzystywania kodu ..... 102
Stosowanie projektów prostopadłych ..................................................................... 103
Stosuj architektury wielowarstwowe ...................................................................... 104
Różne podejścia do architektury J2EE ......................................................................... 106
Architektury dwuwarstwowe kontra architektury wielowarstwowe ...................... 106
Enterprise JavaBeans ............................................................................................. 108
Perspektywy klientów zdalnych i lokalnych .......................................................... 109
Spis treści
7
Rozproszone komponenty ...................................................................................... 110
Wybór właściwego projektu ................................................................................... 113
Architektura zorientowana na interfejs WWW ...................................................... 113
Architektura zorientowana na komponenty EJB .................................................... 116
Podsumowanie ............................................................................................................. 118
Informacje dodatkowe ............................................................................................ 119
Rozdział 5. Oprogramowanie modelujące ......................................................... 121
Po co w ogóle modelować? .......................................................................................... 122
Komunikacja .......................................................................................................... 122
Weryfikacja poprawności ....................................................................................... 124
Perspektywy architektury ............................................................................................. 125
Zunifikowany język modelowania (UML) ..................................................................... 126
Diagramy przypadków użycia ................................................................................ 127
Diagramy aktywności ............................................................................................. 129
Diagramy klas ........................................................................................................ 130
Diagramy interakcji ................................................................................................ 132
Diagramy stanów ................................................................................................... 134
Diagramy wdrożenia i diagramy komponentów ..................................................... 135
Najczęstsze błędy ......................................................................................................... 135
Oprogramowanie tworzone w warunkach kultu cargo ........................................... 137
Narzędzia modelujące .................................................................................................. 137
Wybór narzędzia modelującego ............................................................................. 138
Obsługa języka UML ............................................................................................. 139
Sprawdzanie poprawności modelu ......................................................................... 140
Inżynieria normalna i inżynieria odwrotna ............................................................. 140
Obsługa wzorców projektowych ............................................................................ 142
Dlaczego narzędzia projektowe nie zdają egzaminu? ................................................... 145
Syndrom szczeniaka pod choinką .......................................................................... 145
Metody skutecznego korzystania z narzędzi modelujących ......................................... 148
Podsumowanie ............................................................................................................. 150
Informacje dodatkowe ............................................................................................ 150
Rozdział 6. Generowanie kodu ........................................................................ 153
Czym właściwie jest generowanie kodu? ..................................................................... 154
Pasywne generatory kodu ............................................................................................. 155
Generowanie kodu za pomocą narzędzia Apache Velocity .................................... 156
Zalety pasywnego generowania kodu .................................................................... 159
Aktywne generatory kodu ............................................................................................ 160
Zalety aktywnego generowania kodu ..................................................................... 160
Aktywne generatory kodu i wzorce kodu ............................................................... 162
Programowanie atrybutowe .......................................................................................... 163
Czym są atrybuty? .................................................................................................. 163
Atrybuty kontra dyrektywy preprocesora ............................................................... 164
Przypisy platformy J2SE 5.0 kontra atrybuty ......................................................... 165
Wprowadzenie do narzędzia XDoclet .......................................................................... 166
Instalacja narzędzia XDoclet .................................................................................. 167
Przygotowywanie pliku kompilacji narzędzia Ant ................................................. 167
Utworzenie komponentu sesyjnego ........................................................................ 171
Praca z aktywnie generowanym kodem ....................................................................... 177
Wskazówki dotyczące generowania kodu .............................................................. 177
Podsumowanie ............................................................................................................. 181
Informacje dodatkowe ............................................................................................ 181
8
J2EE. Podstawy programowania aplikacji korporacyjnych
Rozdział 7. Błyskawiczność a bazy danych ...................................................... 183
Problem baz danych ..................................................................................................... 184
Dane są cenną wartością korporacji ....................................................................... 184
Problem odwzorowania obiektowo-relacyjnego .................................................... 187
Możliwości w zakresie dostępu do danych ................................................................... 190
Interfejs Java Database Connectivity (JDBC) ........................................................ 191
Narzędzia do odwzorowywania obiektowo-relacyjnego ........................................ 192
Komponenty encyjne ............................................................................................. 194
Obiekty danych Javy .............................................................................................. 196
Generowanie kodu i odwzorowywanie obiektowo-relacyjne ....................................... 197
Wprowadzenie do narzędzia Hibernate .................................................................. 198
Wprowadzenie do narzędzia Middlegen ................................................................ 199
Przygotowanie bazy danych ......................................................................................... 200
Wprowadzenie do systemu MySQL ....................................................................... 201
Utworzenie schematu bazy danych ........................................................................ 201
Uruchamianie skryptu bazy danych ....................................................................... 204
Generowanie warstwy utrwalania danych .................................................................... 204
Uruchamianie narzędzia Middlegen z poziomu programu Ant .............................. 206
Graficzny interfejs użytkownika programu Middlegen .......................................... 207
Dokumenty odwzorowania obiektowo-relacyjnego narzędzia Hibernate .............. 208
Od dokumentów odwzorowań do kodu źródłowego Javy ...................................... 212
Dokończenie całego procesu .................................................................................. 213
Podsumowanie ............................................................................................................. 215
Informacje dodatkowe ............................................................................................ 216
Rozdział 8. Architektura sterowana modelami ................................................. 217
Założenia technologii MDA ......................................................................................... 217
Wyjaśnienie podstawowych założeń koncepcji architektury sterowanej modelami ..... 219
Platforma ................................................................................................................ 220
Modele ................................................................................................................... 220
Odwzorowanie ....................................................................................................... 223
Architektura MDA kontra tradycyjne techniki modelowania ....................................... 224
Zalety ..................................................................................................................... 225
Wady ...................................................................................................................... 227
Narzędzia zgodne z architekturą MDA ........................................................................ 229
Wprowadzenie do narzędzia AndroMDA .............................................................. 230
Architektura MDA i program AndroMDA ................................................................... 230
Wymiana modeli reprezentowanych w formacie XMI ........................................... 232
Znaczniki modelu PIM ........................................................................................... 233
Wymienne wkłady MDA ....................................................................................... 236
Budowa wymiennego wkładu ................................................................................ 238
Szablony wymiennych wkładów MDA .................................................................. 240
AndroMDA w praktyce .......................................................................................... 242
AndroMDA 3.0 ...................................................................................................... 244
Podsumowanie ............................................................................................................. 244
Informacje dodatkowe ............................................................................................ 245
Część III Języki błyskawicznego wytwarzania oprogramowania ....247
Rozdział 9. Skrypty ........................................................................................ 249
Po co w ogóle używać języków skryptowych? ............................................................ 249
Cechy języków skryptowych ........................................................................................ 251
Doświadczenie zespołu projektowego ................................................................... 251
Wieloplatformowość .............................................................................................. 252
Integracja z klasami Javy ....................................................................................... 252
Zgłoś jeśli naruszono regulamin