Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe.pdf

(836 KB) Pobierz
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Architektura systemów
zarz¹dzania przedsiêbiorstwem.
Wzorce projektowe
Autor: Martin Fowler
T³umaczenie: Pawe³ Koronkiewicz (wstêp, rozdz. 1 – 12),
Piotr Rajca (rozdz. 13 – 18, dod. A)
ISBN: 83-7361-715-9
Format: B5, stron: 496
SPIS TRECI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Wykorzystaj wzorce projektowe w pracy nad oprogramowaniem
• Zaprojektuj aplikacje o architekturze trójwarstwowej
• Dobierz odpowiedni¹ technologiê
• Stwórz modu³y aplikacji
Systemy informatyczne s³u¿¹ce do zarz¹dzania przedsiêbiorstwem to zwykle ogromne
aplikacje. Operuj¹ na milionach rekordów, przesy³aj¹ gigabajty danych i s¹ obs³ugiwane
przez dziesi¹tki u¿ytkowników. Sprawne dzia³anie takiej aplikacji jest niezwykle istotne
dla funkcjonowania przedsiêbiorstwa, dlatego musi ona byæ stabilna, a przed
wdro¿eniem -- gruntownie przetestowana. Przy tworzeniu aplikacji tego typu
wykorzystuje siê opracowane ju¿ rozwi¹zania, zwane wzorcami projektowymi.
Wzorce projektowe to modele poszczególnych komponentów aplikacji — nale¿y
jedynie zaimplementowaæ je w wybranym jêzyku programowania.
Ksi¹¿ka „Architektura systemów zarz¹dzania przedsiêbiorstwem. Wzorce projektowe”
to przegl¹d wzorców wykorzystywanych przy projektowaniu aplikacji korporacyjnych.
Opisuje zasady podzia³u aplikacji na warstwy i zasady wspó³pracy pomiêdzy warstwami;
przedstawia tak¿e modele komponentów wchodz¹cych w sk³ad ka¿dej z nich.
• Warstwy w aplikacjach biznesowych
• Wzorce logiki aplikacji
• Wzorce architektury ród³a danych
• Wzorce mapowania obiektowo-relacyjnego
• Wzorce prezentacji
• Wzorce dystrybucji
• Wzorce stanu sesji
• Wzorce podstawowe
Korzystaj¹c z zawartych w ksi¹¿ce wzorców,
stworzysz stabilne i wydajne aplikacje korporacyjne.
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
945398492.026.png 945398492.027.png 945398492.028.png 945398492.029.png 945398492.001.png 945398492.002.png 945398492.003.png 945398492.004.png 945398492.005.png 945398492.006.png 945398492.007.png 945398492.008.png 945398492.009.png 945398492.010.png 945398492.011.png 945398492.012.png 945398492.013.png 945398492.014.png
 
Spis treci
Przedmowa.............................................................................................................13
Wstp .....................................................................................................................19
Architektura .....................................................................................................................................................19
Aplikacje korporacyjne....................................................................................................................................20
Rodzaje aplikacji dla przedsibiorstw..............................................................................................................22
Wydajno .......................................................................................................................................................23
Wzorce.............................................................................................................................................................25
Struktura opisu wzorców ...........................................................................................................................27
Ograniczenia wzorców projektowych........................................................................................................28
Cz I Wprowadzenie
29
1 Warstwy aplikacji ..................................................................................................31
Podział warstwowy w aplikacjach dla przedsibiorstw....................................................................................32
Trzy główne warstwy.......................................................................................................................................33
Układ warstw ...................................................................................................................................................35
2.
Porzdkowanie logiki dziedziny............................................................................37
Wybór wzorca..................................................................................................................................................40
Warstwa usług..................................................................................................................................................42
3 Mapowanie do relacyjnych baz danych.................................................................43
Wzorce architektury.........................................................................................................................................43
Problem zachowa/...........................................................................................................................................47
Odczyt danych .................................................................................................................................................48
945398492.015.png 945398492.016.png 945398492.017.png 945398492.018.png
 
6
SPIS TRECI
Wzorce mapowania struktury...........................................................................................................................49
Mapowanie relacji .....................................................................................................................................49
Dziedziczenie.............................................................................................................................................52
Proces budowy mapowania..............................................................................................................................54
Podwójne mapowanie................................................................................................................................55
Metadane..........................................................................................................................................................55
Poł2czenie z baz2 danych.................................................................................................................................56
Inne problemy mapowania...............................................................................................................................58
Warto przeczyta .............................................................................................................................................58
4.
Prezentacja w sieci WWW ....................................................................................59
Wzorce widoku................................................................................................................................................62
Wzorce kontrolera danych wejciowych..........................................................................................................64
Warto przeczyta .............................................................................................................................................64
5.
Przetwarzanie współbie%ne....................................................................................65
Problemy przetwarzania współbie5nego..........................................................................................................66
Konteksty przetwarzania..................................................................................................................................67
Izolacja i niezmienno ....................................................................................................................................68
Optymistyczne i pesymistyczne sterowanie współbie5noci2..........................................................................68
Zapobieganie niespójnym odczytom..........................................................................................................69
Zakleszczenia.............................................................................................................................................70
Transakcje........................................................................................................................................................71
ACID .........................................................................................................................................................72
Zasoby transakcyjne ..................................................................................................................................72
Zwikszanie 5ywotnoci przez ograniczanie izolacji.................................................................................73
Transakcje biznesowe i systemowe ...........................................................................................................74
Wzorce sterowania współbie5noci2 w trybie offline ......................................................................................76
Serwery aplikacji .............................................................................................................................................77
Warto przeczyta .............................................................................................................................................78
6.
Stan sesji ................................................................................................................79
Zalety sesji bezstanowej...................................................................................................................................79
Stan sesji ..........................................................................................................................................................80
Metody przechowywania danych stanu sesji .............................................................................................81
7 Obiekty rozproszone..............................................................................................85
Zwodnicze obiekty rozproszone ......................................................................................................................85
Interfejsy lokalne i interfejsy zdalne ................................................................................................................86
Kiedy stosowa architektur rozproszon2........................................................................................................87
Granice dystrybucji..........................................................................................................................................88
Interfejsy dystrybucji .......................................................................................................................................89
945398492.019.png 945398492.020.png 945398492.021.png
 
7
SPIS TRECI
8.
Podsumowanie.......................................................................................................91
Warstwa dziedziny, czyli pocz2tek ..................................................................................................................92
Warstwa <ródła danych, czyli krok drugi.........................................................................................................93
=ródło danych dla schematu Transaction Script (110) ..............................................................................93
=ródło danych dla schematu Table Module (125) .....................................................................................93
=ródło danych dla schematu Domain Model (116)....................................................................................94
Warstwa prezentacji.........................................................................................................................................94
Wzorce a technologia.......................................................................................................................................95
Java i J2EE.................................................................................................................................................95
.NET ..........................................................................................................................................................96
Procedury przechowywane ........................................................................................................................97
Usługi WWW ............................................................................................................................................97
Inne systemy warstw aplikacji .........................................................................................................................98
Cz II Wzorce
101
9 Wzorce logiki dziedziny ......................................................................................103
Transaction Script (Skrypt transakcji)............................................................................................................103
Na czym polega .......................................................................................................................................103
Kiedy u5ywamy.......................................................................................................................................105
Problem obliczania przychodu.................................................................................................................105
Domain Model (Model dziedziny).................................................................................................................109
Na czym polega .......................................................................................................................................109
Kiedy u5ywamy.......................................................................................................................................111
Warto przeczyta .....................................................................................................................................112
Przykład: uznanie przychodu (Java) ........................................................................................................112
Table Module (Moduł tabeli).........................................................................................................................117
Na czym polega .......................................................................................................................................118
Kiedy u5ywamy.......................................................................................................................................120
Przykład: uznanie przychodu (C#)...........................................................................................................120
Service Layer (Warstwa usług)......................................................................................................................124
Na czym polega .......................................................................................................................................125
Kiedy u5ywamy.......................................................................................................................................127
Warto przeczyta .....................................................................................................................................127
Przykład: uznanie przychodu (Java) ........................................................................................................127
10.
Wzorce architektury ,ródła danych .....................................................................133
Table Data Gateway (Brama danych tabeli) ..................................................................................................133
Na czym polega........................................................................................................................................133
Kiedy u5ywamy.......................................................................................................................................134
Warto przeczyta .....................................................................................................................................135
Przykład: brama tabeli osób (C#) ............................................................................................................135
Przykład: brama oparta na zbiorach danych ADO.NET (C#)..................................................................137
945398492.022.png 945398492.023.png 945398492.024.png
 
8
SPIS TRECI
Row Data Gateway (Brama danych wiersza).................................................................................................140
Na czym polega .......................................................................................................................................140
Kiedy u5ywamy.......................................................................................................................................142
Przykład: brama rekordu osoby (Java).....................................................................................................142
Przykład: uchwyt danych dla obiektu dziedziny (Java) ...........................................................................146
Active Record (Rekord aktywny) ..................................................................................................................147
Na czym polega .......................................................................................................................................147
Kiedy u5ywamy.......................................................................................................................................148
Przykład: prosta tabela osób (Java)..........................................................................................................148
Data Mapper (Odwzorowanie danych) ..........................................................................................................152
Na czym polega .......................................................................................................................................152
Kiedy u5ywamy.......................................................................................................................................156
Przykład: proste odwzorowanie obiektowo-relacyjne (Java)...................................................................157
Przykład: wył2czanie metod wyszukuj2cych (Java) ................................................................................162
Przykład: tworzenie obiektu pustego (Java).............................................................................................165
11.
Wzorce zachowa- dla mapowania obiektowo-relacyjnego.................................169
Unit of Work (Jednostka pracy).....................................................................................................................169
Na czym polega .......................................................................................................................................170
Kiedy u5ywamy.......................................................................................................................................173
Przykład: rejestracja przez obiekt (Java)..................................................................................................174
Identity Map (Mapa to5samoci)....................................................................................................................178
Na czym polega .......................................................................................................................................178
Kiedy u5ywamy.......................................................................................................................................180
Przykład: metody mapy to5samoci (Java)..............................................................................................181
Lazy Load (Opó<nione ładowanie)................................................................................................................182
Na czym polega .......................................................................................................................................182
Kiedy u5ywamy.......................................................................................................................................184
Przykład: opó<niona inicjalizacja (Java)..................................................................................................185
Przykład: wirtualny porednik (Java).......................................................................................................185
Przykład: uchwyt wartoci (Java) ............................................................................................................187
Przykład: widmo (C#)..............................................................................................................................188
12.
Wzorce struktury dla mapowania obiektowo-relacyjnego ..................................197
Identity Field (Pole to5samoci).....................................................................................................................197
Na czym polega .......................................................................................................................................197
Kiedy u5ywamy.......................................................................................................................................201
Warto przeczyta .....................................................................................................................................201
Przykład: liczba całkowita jako klucz (C#)..............................................................................................201
Przykład: tabela kluczy (Java) .................................................................................................................203
Przykład: klucz zło5ony (Java) ................................................................................................................205
Foreign Key Mapping (Odwzorowanie do klucza obcego)............................................................................216
Na czym polega .......................................................................................................................................216
Kiedy u5ywamy.......................................................................................................................................218
Przykład: odwołanie jednowartociowe (Java)........................................................................................219
Przykład: wyszukiwanie w wielu tabelach (Java)....................................................................................222
Przykład: kolekcja odwoła/ (C#).............................................................................................................223
945398492.025.png
 
Zgłoś jeśli naruszono regulamin