POLECAMY
Autor:
Wydawca:
Format:
ibuk
Coraz większa część współczesnego oprogramowania jest wytwarzana w oparciu o architekturę zorientowaną na usługi (ang. Service Oriented Architecture). Podstawą technologiczną SOA są usługi XML sieci Web (ang. Web Services), nazywane w skrócie serwisami lub usługami webowymi. Są to komponenty programowe niezależne od platformy i implementacji, na bazie których można konstruować rozproszone systemy i aplikacje, „składając” je z wymiennych komponentów. Wykorzystanie usług webowych pozwala aplikacjom współdziałać ze sobą przez Internet, niezależnie od lokalizacji i implementacji. Powyższe cechy oraz stosunkowo prosta konstrukcja tych komponentów powodują, że zastępują one starsze rozwiązania, takie jak RPC, DCOM czy CORBA.
Książka opisuje kompleksowo rodzinę standardów WS-* opracowanych przez konsorcja W3C, OASIS i DMTF. Specyfikacje wchodzące w jej skład bazują na protokole SOAP i tworzą stos współdziałających ze sobą protokołów standaryzujący SOA. Stos WS-* jest także modułowy, dzięki czemu budowane aplikacje mogą korzystać z wybranych standardów w zależności od wymaganej funkcjonalności. Funkcjonalność może dotyczyć takich aspektów aplikacji jak niezawodność przesyłania danych, bezpieczeństwo, transakcyjność, pozyskiwanie metadanych itp. W razie potrzeby funkcjonalność zbudowanej aplikacji można łatwo zmienić wykorzystując nowe standardy stosu WS-* co jest jedną z najważniejszych zalet SOA i usług XML sieci Web.
Książka dokumentuje dynamiczny rozwój usług XML sieci Web oraz pokazuje możliwości ich komercyjnych zastosowań. Trzy kompletne przykłady, zbudowane na platformie .NET 2.0/3.0, pokazują szerokie i praktyczne zastosowanie usług sieci Web w projektowaniu rozproszonych systemów i aplikacji.
W książce zostały przedstawione następujące zagadnienia:
- technologie bazowe: XML i XML Schema,
- infrastruktura komunikacyjna: SOAP, MTOM, WS-Addressing itp.,
- publikowanie, odkrywanie i pozyskiwanie metadanych,
- podstawowe (WS-Security) i zaawansowane (WS-Trust etc.) standardy bezpieczeństwa,
- transakcje atomowe (WS-AtomicTransaction) i biznesowe (WS-BusinessActivity),
- kompozycja procesów biznesowych z użyciem WS-BPEL,
- zarządzanie zasobami z użyciem WS-Managament.
Książka jest przeznaczona dla programistów nowoczesnych aplikacji rozproszonych oraz studentów, którzy w programie studiów mają przedmioty związane z technologiami internetowymi i programowaniem rozproszonym.
Rok wydania | 2008 |
---|---|
Liczba stron | 456 |
Kategoria | Programowanie |
Wydawca | Wydawnictwo Naukowe PWN |
ISBN-13 | 978-83-01-15371-7 |
Numer wydania | 1 |
Język publikacji | polski |
Informacja o sprzedawcy | ePWN sp. z o.o. |
POLECAMY
Ciekawe propozycje
Spis treści
1. Wstęp | 11 |
2. Usługi sieci Web jako baza technologiczna SOA | 15 |
2.1. Dostęp i komunikacja z usługą | 16 |
2.2. Architektury usługowe | 19 |
2.3. SOA i inne rozwiązania | 24 |
2.3.1. RPC (SunRPC) | 24 |
2.3.2. CORBA | 25 |
2.3.3. RMI | 27 |
2.3.4. DCOM | 28 |
2.3.5. .NET Remoting | 30 |
2.3.6. REST | 31 |
2.4. Podsumowanie | 34 |
3. Klient usługi sieci Web | 35 |
3.1. Tworzenie interfejsu przeglądarki | 35 |
3.2. Interfejs GoogleAPI | 38 |
3.3. Połączenie z usługą sieci Web | 39 |
3.4. Działanie przeglądarki | 41 |
3.4.1. Wyszukiwanie | 41 |
3.4.2. Wyświetlanie wyników wyszukiwania | 43 |
3.4.3. Nawigacja po wynikach wyszukiwania | 46 |
3.4.4. Wyświetlanie zawartości strony | 46 |
3.5. Podsumowanie | 48 |
4. Podstawy XML | 49 |
4.1. Podstawowe składniki dokumentu XML | 51 |
4.1.1. Elementy | 51 |
4.1.2. Atrybuty | 52 |
4.1.3. Elementy puste | 53 |
4.2. Hierarchia elementów | 54 |
4.3. Rodzaje zawartości elementów | 55 |
4.4. Deklaracja XML | 56 |
4.5. Inne składniki języka XML 1.0 | 57 |
4.5.1. Deklaracje | 57 |
Komentarz | 58 |
Sekcja CDATA | 58 |
Deklaracje wykorzystywane w DTD | 58 |
4.5.2. Instrukcje przetwarzania | 59 |
4.5.3. Encje | 60 |
4.6. Przetwarzanie dokumentów XML | 62 |
4.7. Przykładowy dokument XML | 63 |
4.8. Przestrzenie nazw | 66 |
4.9. DTD w zarysie | 68 |
4.10. Kanoniczny XML | 75 |
4.11. XML Infoset | 78 |
5. Schematy XML | 81 |
5.1. Struktura dokumentu schematu | 81 |
5.2. Przestrzenie nazw i lokalizowanie schematu | 85 |
Atrybut targetNamespace | 87 |
Atrybut xmlns | 87 |
Atrybut schemaLocation | 89 |
Atrybut noNamespaceSchemaLocation | 90 |
5.3. Deklaracje, definicje, typy | 90 |
5.4. Wbudowane typy danych | 94 |
Typy symboliczne | 98 |
Typy do opisu ciągów znaków | 98 |
Typy proste opisujące zbiory liczb | 99 |
5.5. Definiowanie typów prostych | 100 |
5.6. Definiowanie typów złożonych | 107 |
5.7. Typy pochodne | 115 |
5.8. Modularyzacja schematu | 118 |
5.9. Polimorfizm | 121 |
5.10. Adnotacje schematów | 128 |
5.11. Łączenie dokumentów schematów | 129 |
6. Przesyłanie i adresowanie komunikatów | 137 |
6.1. SOAP | 137 |
6.1.1. Budowa i przetwarzanie komunikatu SOAP | 138 |
6.1.2. Model przetwarzania SOAP | 142 |
6.1.3. Role przyjmowane przez węzły | 144 |
Atrybut mustUnderstand | 145 |
Atrybut relay | 145 |
6.1.4. Komunikaty i obsługa błędów | 146 |
6.1.5. Wzorce wymiany komunikatów | 148 |
6.1.6. Formaty komunikatów SOAP | 150 |
6.1.7. RPC i komunikaty SOAP | 153 |
6.1.8. Wiązania SOAP | 155 |
Wiązanie do HTTP | 155 |
Wiązanie do protokołów poczty elektronicznej | 156 |
6.1.9. Wersje SOAP | 157 |
6.2. SOAP i załączniki | 157 |
6.3. Adresowanie zasobów | 162 |
6.3.1. Referencja punktu końcowego | 163 |
6.3.2. Dodatkowe właściwości zdefiniowane w WS-Addressing | 164 |
6.3.3. Wsparcie dla wzorca „żądanie-odpowiedź” | 165 |
Komunikat żądania | 166 |
Komunikat odpowiedzi | 166 |
7. Opisywanie usług | 167 |
7.1. WSDL | 167 |
7.1.1. WSDL 1.2 | 171 |
Element types | 173 |
Element message | 174 |
Element portType | 176 |
Element binding | 178 |
Element service | 180 |
7.1.2. WSDL 2.0 | 184 |
7.2. Podstawy WS-Policy | 186 |
7.2.1. Definiowanie polityki | 188 |
Kontener i operatory polityki | 189 |
Operator ExactlyOne | 190 |
Operator All | 190 |
Atrybut optional | 191 |
Postać normalna polityki | 191 |
Słownik polityki | 192 |
Identyfikatory i inkluzje polityki | 192 |
Przecięcie polityk | 192 |
7.2.2. Wiązanie polityki z usługami webowymi | 193 |
8. Odkrywanie usług | 197 |
8.1. UDDI | 197 |
8.1.1. Terminologia i elementy architektury UDDI | 198 |
8.1.2. Typy danych UDDI | 200 |
Kategoryzacja | 203 |
Element businessEntity | 204 |
Element businessService | 206 |
Element bindingTemplate | 207 |
Element tModel | 208 |
Element tModelInstanceInfo | 209 |
8.1.3. Programowy dostęp do UDDI | 210 |
8.2. Interfejs WS-MetadataExchange | 215 |
8.2.1. Terminologia i architektura interfejsu | 215 |
Dialekty i identyfikatory | 216 |
Przekierowywanie żądań | 217 |
8.2.2. Operacje pozyskiwania metadanych | 217 |
Żądanie GetMetadata | 217 |
Odpowiedź GetMetadata | 218 |
Żądanie Get | 220 |
Pozyskiwanie metadanych – przykład | 220 |
8.3. Dynamiczne odkrywanie usług | 222 |
8.3.1. Tryb podstawowy | 222 |
8.3.2. Tryb rozszerzony | 227 |
8.4. Podsumowanie | 228 |
9. Niezawodne współdziałanie | 229 |
9.1. Niezawodne przesyłanie wiadomości | 229 |
9.1.1. Terminologia i model protokołu | 230 |
9.1.2. Czas życia sekwencji | 232 |
9.1.3. Jednostki protokołu WS-RM | 234 |
Element Sequence | 234 |
Element SequenceAcknowledgement | 235 |
Element AckRequested | 236 |
Element SequenceFault | 237 |
9.1.4. Rodzaje zapewnień dostarczania wiadomości | 238 |
9.1.5. Asercje profilu bazowego | 239 |
9.1.6. Podsumowanie | 240 |
9.2. Transakcje | 240 |
9.2.1. Cechy i rodzaje transakcji | 241 |
9.2.2. Transakcje w środowisku usług sieci Web | 243 |
9.2.3. Usługi i protokoły transakcji | 246 |
Koordynator wg WS-Coordination | 246 |
Kontekst | 247 |
Przykładowy scenariusz aktywacji i rejestracji | 247 |
Usługa i protokoły transakcji atomowych | 249 |
Usługa i protokoły transakcji biznesowych | 252 |
9.3. Podsumowanie | 256 |
10. Standardy bezpieczeństwa | 257 |
10.1. Podpis cyfrowy i szyfrowanie wiadomości | 258 |
10.1.1. XML Digital Signature | 259 |
10.1.2. XML Encryption | 262 |
10.1.3. XKMS | 265 |
Usługa X-KRSS | 265 |
Usługa X-KISS | 266 |
10.2. Zabezpieczenia podstawowe | 266 |
10.3. WS-Trust | 273 |
10.4. WS-SecureConversation | 277 |
10.5. WS-Federation | 282 |
10.5.1. Modele federacji | 283 |
10.5.2. Tożsamość, atrybuty, pojedyncze logowanie | 285 |
10.5.3. Przepływ wiadomości | 289 |
10.5.4. Autoryzacja | 291 |
10.5.5. Prywatność | 293 |
10.6. Podsumowanie | 294 |
11. Kompozycje usług | 297 |
11.1. Rozwój specyfikacji BPEL | 297 |
11.2. Model procesu biznesowego BPEL | 298 |
11.3. Struktura procesu BPEL | 300 |
11.4. Partnerzy | 302 |
11.5. Przetwarzanie danych | 304 |
11.5.1. Zmienne | 305 |
11.5.2. Wyrażenia | 306 |
11.5.3. Aktywność assign | 306 |
11.6. Właściwości wiadomości | 308 |
11.7. Korelacja | 309 |
11.8. Aktywności | 311 |
11.8.1. Aktywności proste | 311 |
Aktywność invoke | 312 |
Aktywności receive i reply | 313 |
Aktywności proste – throw, wait, empty, terminate | 316 |
11.8.2. Aktywności złożone | 317 |
Aktywności przepływu sekwencyjnego | 317 |
Aktywność pick | 319 |
Aktywność flow | 320 |
11.9. Tworzenie instancji procesu | 324 |
11.10. Zasięg | 324 |
11.10.1. Obsługa błędów | 325 |
11.10.2. Akcja kompensacji | 326 |
11.10.3. Sekcja obsługi błędów | 328 |
11.10.4. Obsługa zdarzeń | 330 |
11.11. WS-BPEL 2.0 | 331 |
11.11.1. Zmiany istniejących aktywności | 332 |
11.11.2. Nowe aktywności | 333 |
11.11.3. Nowe elementy podrzędne względem scope i process | 334 |
12. Zarządzanie zasobami | 337 |
12.1. Transfer, wyliczanie i obsługa zdarzeń | 337 |
12.1.1. Transfer | 337 |
Pobieranie reprezentacji zasobu | 338 |
Aktualizacja zasobu | 340 |
Utworzenie zasobu | 342 |
Usunięcie zasobu | 344 |
12.1.2. Wyliczanie | 345 |
Tworzenie kontekstu | 345 |
Pobieranie kolejnych porcji danych | 348 |
Sprawdzanie statusu | 351 |
Odnawianie kontekstu | 352 |
Zwalnianie kontekstu | 354 |
12.1.3. Obsługa zdarzeń | 355 |
Tworzenie subskrypcji | 357 |
Odnawianie subskrypcji | 360 |
Sprawdzanie statusu subskrypcji | 362 |
Zakończenie subskrypcji | 363 |
12.2. WS-Management | 365 |
12.2.1. Adresowanie | 366 |
12.2.2. Dostęp do zasobów | 368 |
12.2.3. Dostęp fragmentaryczny | 369 |
12.2.4. Wyliczenia zasobów | 372 |
12.2.5. Obsługa zdarzeń | 373 |
Powtarzanie próby dostarczania powiadomień | 373 |
Taktowanie zdarzeń | 374 |
Znaczniki subskrypcji | 374 |
Tryby dostarczania powiadomień | 375 |
12.2.6. Nagłówki kontrolne | 376 |
Maksymalny czas wykonywania operacji | 376 |
Maksymalny rozmiar wiadomości SOAP | 376 |
Tłumaczenie odpowiedzi | 376 |
Opcje działania usługi | 376 |
12.2.7. Metody właściwe | 377 |
12.2.8. Rozwój WS-Management | 377 |
WS-Management - październik 2004 | 377 |
WS-Management – luty 2005 | 377 |
WS-Management – czerwiec 2005 | 378 |
WS-Management – kwiecień 2006 | 378 |
Dalszy rozwój standardu WS-Management | 378 |
13. Studium przypadku – usługa kursów walutowych | 381 |
13.1. Wymagania funkcjonalne | 381 |
13.2. Zarys rozwiązania | 382 |
13.2.1. Źródło danych | 382 |
13.2.2. Projekt usługi sieci Web | 383 |
13.2.3. Implementacja usługi | 386 |
Główne metody usługi | 388 |
Odczytywanie i zapisywanie ustawień | 390 |
Aktualizacja danych | 391 |
Tabela kursów walut | 393 |
Publikacja usługi na serwerze IIS | 394 |
13.2.4. Projekt klienta usługi | 395 |
13.2.5. Implementacja aplikacji klienta usługi | 396 |
Interfejs aplikacji | 396 |
Dodanie referencji do usługi webowej | 398 |
Sprawdzanie kursu waluty | 398 |
Wyświetlanie tabeli kursów walut | 400 |
13.3. Podsumowanie | 402 |
14. Studium przypadku – uniwersalna porównywarka cen | 403 |
14.1. Wymagania funkcjonalne | 404 |
14.2. Zarys rozwiązania | 406 |
14.2.1. Baza danych | 406 |
14.2.2. Certyfikaty | 407 |
Umieszczenie certyfikatów w magazynach | 408 |
14.2.3. Projekt usługi porównywarki | 412 |
14.2.4. Implementacja usługi | 416 |
Interfejsy usługi | 417 |
Implementacja usługi | 420 |
Środowisko uruchomieniowe usługi i konfiguracja | 423 |
14.2.5. Implementacja symulatora sklepu | 430 |
Główne okno aplikacji | 430 |
Komunikacja z usługą rejestratora i składanie ofert | 432 |
14.2.6. Implementacja wyszukiwarki | 435 |
Dodawanie referencji do usługi | 435 |
Implementacja wyszukiwarki | 435 |
14.3. Podsumowanie | 439 |
15. Podsumowanie | 441 |
16. Bibliografia | 443 |
16.1. Specyfikacje techniczne | 443 |
16.2. Publikacje internetowe | 448 |
16.3. Książki | 450 |
16.4. Oraganizacje | 450 |
Skorowidz | 451 |