Praca Magisterska INFORMATYKA 2.pdf

(1024 KB) Pobierz
Hubert Trzewik - Ewerest - Praca Magisterska (1.100)
Praca Dyplomowa
Magisterska
System transakcyjny
dla Web Services
ÒEwerestÒ
Hubert Trzewik
pod opiekĥ:
prof. dr hab. inō. Jzef Lubacz
przy wspĀpracy z:
dr inō. Adam Wierzbicki
Warszawa, PW WEiTI, wrzesieı 2003
1. Spis treĻci
1. S PIS TREĺCI ________________________________________________ 2
2. W STĦP DO W EBSERVICES ______________________________________ 7
2.1. N AJKRìTSZA DEFINICJA _____________________________________ 7
2.2. N AZEWNICTWO ___________________________________________ 7
2.3. O W EBSERVICES BARDZIEJ OPISOWO ___________________________ 8
2.4. H ISTORIA W EBSERVICES ____________________________________ 9
2.5. Z AýOņENIA DLA W EBSERVICES ________________________________ 9
3. XML Î ALFABET DLA W EBSERVICES _____________________________ 12
3.1. XML TO FORMAT TEKSTOWY ________________________________ 12
3.2. XML KONTRA FORMAT BINARNY ______________________________ 12
3.3. E LASTYCZNOĺĘ XML- A ____________________________________ 13
3.4. P ARSOWANIE I WALIDOWANIE ________________________________ 14
3.5. XML S CHEMA ___________________________________________ 14
3.6. R OZSZERZENIA DLA XML___________________________________ 15
4. P ROTOKìý SOAP (S IMPLE O BJECT A CCESS P ROTOCOL )______________ 17
4.1. W YMIANA WIADOMOĺCI ____________________________________ 17
4.2. T RANSPORT ____________________________________________ 18
4.3. SOAP NA XML- U ________________________________________ 19
4.4. Z ABEZPIECZENIE WARSTWY SOAP____________________________ 20
5. WSDL (W EB S ERVICES D ESCRIPTION L ANGUAGE )___________________ 22
5.1. S TYL WYWOýANIA RPC KONTRA STYL DOKUMENTU ________________ 23
6. W YKORZYSTANIE W EBSERVICES Î PRZYKýADY ZASTOSOWAİ ___________ 24
6.1. P RZYKýADY ROZWIġZAİ ___________________________________ 24
6.1.1. Ochrona kodu programu ______________________________ 24
6.1.2. áDuŇaÑ baza Î ámaþeÑ urzĢdzenie________________________ 25
6.2. P RZYKýADY PRODUKTìW ___________________________________ 25
6.2.1. Smart Agents w Microsoft Office XP _____________________ 25
6.2.2. Microsoft MapPoint Web Service________________________ 25
6.2.3. Crystal Decisions Î Crysal Reports 9 Î Report Web Service __ 26
6.2.4. Google API_________________________________________ 26
7. C EL PRACY ________________________________________________ 27
8. S YSTEMY TRANSAKCYJNE _____________________________________ 30
8.1. C ZYM JEST TRANSAKCJA ? __________________________________ 30
8.2. O GìLNA CHARAKTERYSTYKA SYSTEMìW TRANSAKCYJNYCH _________ 31
8.2.1. Wycofywanie transakcji _______________________________ 32
S YSTEM TRANSAKCYJNY DLA W EB S ERVICES Î H UBERT T RZEWIK Î P RACA D YPLOMOWA M AGISTERSKA
2
8.2.2. WielouŇytkowoĻę ____________________________________ 33
8.2.3. Transakcje rozproszone_______________________________ 34
8.3. Z NANE ROZWIġZANIA ______________________________________ 36
8.3.1. Dwufazowy protokþ potwierdzania transakcji (2PC)_________ 36
8.3.2. PorzĢdkowanie operacji wg znacznikw czasu (mechanizm TO)37
8.3.2.1. Najprostszy TO __________________________________ 39
8.3.2.2. Rozwiniħcie mechanizmu TO _______________________ 40
8.3.2.3. Rozszerzenie TO chroniĢce przed brudnymi odczytami___ 42
8.3.2.4. Inne zagadnienia zwiĢzane z porzĢdkowaniem operacji __ 43
8.4. W SPARCIE ZE STRONY J2EE ________________________________ 43
8.4.1. Transakcje zarzĢdzane przez kontener___________________ 44
8.4.1.1. Wymagana (Required) ____________________________ 45
8.4.1.2. Wymagana nowa (RequiresNew) ____________________ 45
8.4.1.3. ObowiĢzkowa (Mandatory) _________________________ 45
8.4.1.4. Nie obsþugiwana (NotSupported)_____________________ 45
8.4.1.5. Obsþugiwana (Supported) __________________________ 46
8.4.1.6. Nigdy (Never) ___________________________________ 46
8.4.2. Transakcje zarzĢdzane przez ziarno EJB _________________ 46
8.5. P ROBLEM DýUGICH TRANSAKCJI ______________________________ 47
8.5.1. Przykþad Î zakup przy uŇyciu karty pþatniczej ______________ 48
8.5.2. Przykþad Î praca nad projektem_________________________ 50
8.6. Z NANE PODEJĺCIA DO TRANSAKCJI DýUGOOKRESOWYCH ____________ 51
8.6.1. Utrzymanie spjnoĻci_________________________________ 51
8.6.2. Kontrolowany brak spjnoĻci ___________________________ 51
8.7. S TRATEGIE BLOKOWANIA ZASOBìW ___________________________ 51
8.7.1. Blokowanie optymistyczne_____________________________ 51
8.7.2. Blokowanie pesymistyczne ____________________________ 52
8.7.2.1. Przykþad________________________________________ 52
8.8. O PERACJE I ZASOBY ______________________________________ 53
9. S YSTEM EWEREST _________________________________________ 55
9.1. S KġD NAZWA ? __________________________________________ 55
9.2. Z AýOņENIA PROJEKTU _____________________________________ 55
9.2.1. System dla Ļrodowiska biznesowego ____________________ 55
9.3. A SPEKTY BIZNESOWE _____________________________________ 56
9.3.1. Transakcje dþugookresowe i blokady na zasobach __________ 56
9.3.2. Przykþady __________________________________________ 58
9.4. I DENTYFIKACJA ZAGROņEİ __________________________________ 59
9.4.1. Pozyskiwanie informacji bez uiszczenia opþaty _____________ 59
9.4.2. Zagarnianie zasobw_________________________________ 60
9.4.3. Zwalnianie blokad przez wþaĻcicieli ______________________ 61
9.4.4. Zrywanie transakcji - sabotaŇ___________________________ 62
9.4.5. Nie branie udziaþu w transakcjach Î bojkot ________________ 63
9.4.6. Inne oszustwa lub niezamierzone bþħdy __________________ 63
9.4.7. Ataki na warstwħ komunikacji __________________________ 63
9.5. I DENTYFIKACJA PROBLEMìW NATURY TECHNICZNEJ ________________ 64
S YSTEM TRANSAKCYJNY DLA W EB S ERVICES Î H UBERT T RZEWIK Î P RACA D YPLOMOWA M AGISTERSKA
3
9.5.1. Brak Ļcisþej integracji systemu transakcyjnego z systemem
zasobw________________________________________________ 64
9.5.2. KoniecznoĻę dostosowania serwisw Web ________________ 65
9.5.3. Wzajemna relacja operacji i zasobw ____________________ 66
10. O PIS SYSTEMU I PRZYJĦTYCH ROZWIġZAİ _________________________ 69
10.1. A RCHITEKTURA SYSTEMU __________________________________ 69
10.1.1. Jednostki funkcjonalne systemu EWEREST ______________ 69
10.1.1.1. MenadŇer transakcji _____________________________ 69
10.1.1.2. Koordynator transakcji____________________________ 70
10.1.1.3. Agent transakcji_________________________________ 70
10.1.1.4. Serwis Web ____________________________________ 70
10.1.1.5. Animator transakcji ______________________________ 70
10.1.2. Byty w systemie EWEREST___________________________ 70
10.1.2.1. Scenariusz transakcji_____________________________ 71
10.1.2.2. Repozytorium scenariuszy ________________________ 71
10.1.2.3. Dziennik transakcji_______________________________ 71
10.1.2.4. Archiwum wiadomoĻci____________________________ 71
10.1.2.5. Ewidencja koordynatorw i stron transakcji____________ 72
10.1.3. Topologia systemu__________________________________ 73
10.2. Z ADANIA JEDNOSTEK FUNKCJONALNYCH _______________________ 74
10.2.1. Zadania menadŇera transakcji_________________________ 74
10.2.2. Zadania koordynatora transakcji _______________________ 75
10.2.3. Zadania agenta transakcji ____________________________ 77
10.2.4. Zadania animatora transakcji__________________________ 77
10.2.5. Zadania serwisu Web________________________________ 78
10.3. S CENARIUSZE __________________________________________ 78
10.3.1. Analogia scenariusza do skryptu SQL___________________ 78
10.3.2. Aspekty brane pod uwagħ podczas projektowania budowy
scenariusza _____________________________________________ 79
10.3.3. Przykþad __________________________________________ 79
10.3.4. Topologia scenariusza_______________________________ 80
10.3.5. Dwie funkcje celu ___________________________________ 81
10.3.6. Struktura scenariusza _______________________________ 82
10.3.6.1. Drzewo motyww _______________________________ 82
10.3.6.2. Wykonywanie rwnolegþe czy szeregowe_____________ 83
10.3.6.3. Operacje modyfikujĢce i czasy trwania blokad _________ 84
10.3.6.4. Czasy wykonania motyww i operacji________________ 85
10.3.6.5. Identyfikatory___________________________________ 85
10.3.6.6. Prawa dostħpu__________________________________ 86
10.3.7. Scenariusz zapisany w XML-u_________________________ 86
10.3.8. Podpisywanie scenariusza____________________________ 86
10.4. P ROTOKìý SYSTEMU EWEREST ___________________________ 88
10.4.1. Startowanie transakcji _______________________________ 88
10.4.2. W trakcie transakcji _________________________________ 91
10.4.3. Zamykanie transakcji ________________________________ 94
10.5. D ZIENNIK TRANSAKCJI ____________________________________ 97
10.5.1. Rola diagnostyczna _________________________________ 97
10.5.2. Rola ochronna _____________________________________ 98
S YSTEM TRANSAKCYJNY DLA W EB S ERVICES Î H UBERT T RZEWIK Î P RACA D YPLOMOWA M AGISTERSKA
4
10.6. K IEDY TRANSAKCJE Sġ WYCOFYWANE ?________________________ 98
10.7. J AK REALIZOWANE JEST BEZPIECZEİSTWO W SYSTEMIE EWEREST? _ 99
10.7.1. Niezaprzeczalny dziennik transakcji oraz archiwa wiadomoĻci 99
10.7.2. Skrty wiadomoĻci __________________________________ 99
10.7.3. Zabezpieczenie warstwy SOAP_______________________ 100
10.7.4. WiadomoĻci chronione przed odczytem ________________ 100
10.7.5. Podpisywanie scenariuszy___________________________ 101
10.7.6. Kontrola praw (ACL)________________________________ 101
10.7.7. Infrastruktura klucza publicznego______________________ 101
10.7.8. Limitowane czasy blokad ____________________________ 102
10.8. S UGEROWANE ĺRODOWISKO IMPLEMENTACJI __________________ 103
10.8.1. Co to jest J2EE? __________________________________ 103
10.8.2. Co to jest JVM? ___________________________________ 103
10.8.3. Dlaczego Java? ___________________________________ 103
10.8.4. Konstrukcja systemu EWEREST na platformie J2EE ______ 105
11. B IBLIOGRAFIA ____________________________________________ 107
11.1. XML - E X TENDED M ARKUP L ANGUAGE _______________________ 107
11.2. W EB S ERVICES ________________________________________ 107
11.3. S YSTEMY TRANSAKCYJNE / T RANSAKCJE DýUGOOKRESOWE _______ 109
11.4. J AVA / J2EE__________________________________________ 110
12. Z AýġCZNIKI ______________________________________________ 112
S YSTEM TRANSAKCYJNY DLA W EB S ERVICES Î H UBERT T RZEWIK Î P RACA D YPLOMOWA M AGISTERSKA
5
Zgłoś jeśli naruszono regulamin