Szczegóły ebooka

SOA. Koncepcje, technologie i projektowanie

SOA. Koncepcje, technologie i projektowanie

Thomas Erl

Ebook

Czasy, kiedy użytkownicy otrzymywali zamknięte produkty, zapakowane w pudełko z nośnikiem i instrukcją, przemijają. Świat IT zmierza w kierunku SOA (ang. Service-Oriented Architecture). Producenci chcą nam sprzedawać wiele usług, które potrafią komunikować się między sobą i dostarczać użytkownikom wymierne korzyści. To podejście pozwala lepiej zarządzać procesem wytwarzania usługi, łatwiej wprowadzać zmiany i aktualizacje oraz elastyczniej rozliczać się z klientami. Od tej drogi nie ma już odwrotu - SOA to przyszłość branży IT!

Ta książka to świetne źródło informacji na ten temat. W trakcie lektury poznasz podstawy i założenia tej architektury oraz dowiesz się, jakie narzędzia wykorzystać, żeby wytworzyć produkt spełniający zasady SOA. Książka ta jest bogata w analizy przypadków oraz przykłady z życia, które pozwolą Ci przekonać się, jak bardzo architektura ukierunkowana na usługi jest przydatna przy rozwiązywaniu codziennych problemów. SOA jest tworem żywym, który cały czas ewoluuje - wymaga to kontroli organizacji oraz ustalenia pewnych standardów, czyli określenia, jak takie usługi mają wyglądać. W trakcie lektury dowiesz się, kto sprawuje nad tym pieczę oraz jakie są kierunki rozwoju SOA. Książka ta będzie biblią każdego projektanta i dewelopera usług sieciowych. Nie możesz minąć jej obojętnie!

Dzięki tej książce dowiesz się:

  • jak SOA zmienia świat IT
  • dlaczego warto wykorzystać SOA w Twoim projekcie
  • jak projektować usługi sieciowe
  • jak zapewnić bezpieczeństwo usługom w SOA

Przekonaj się, jak SOA może zmienić Twój świat!

Przedmowa (17)

Rozdział 1. Wprowadzenie (19)

  • 1.1. Dlaczego ta książka jest ważna? (20)
    • 1.1.1. Fałszywa SOA (20)
    • 1.1.2. Ideał SOA (21)
    • 1.1.3. Realna SOA (21)
  • 1.2. Cele tej książki (22)
    • 1.2.1. Podstawy SOA, orientacji na usługi i usług sieciowych (22)
    • 1.2.2. Jak budować SOA na bazie usług sieciowych? (23)
  • 1.3. Dla kogo przeznaczona jest ta książka? (23)
  • 1.4. Czego w tej książce nie ma? (23)
  • 1.5. Organizacja tej książki (24)
    • 1.5.1. Część I. SOA i fundamenty usług sieciowych (24)
    • 1.5.2. Część II. SOA i rozszerzenia WS-* (26)
    • 1.5.3. Część III. SOA i zorientowanie na usługi (28)
    • 1.5.4. Część IV. Budowanie SOA (planowanie i analiza) (29)
    • 1.5.5. Część V. Budowanie SOA (technologie i projekt). (30)
    • 1.5.6. Konwencje stylistyczne - uwagi (33)
  • 1.6. Informacja dodatkowa (33)
    • 1.6.1. Framework XWIF (XML & Web Services Integration Framework) (33)
    • 1.6.2. www.serviceoriented.ws (33)
    • 1.6.3. Kontakt z autorem (33)

Rozdział 2. Analizy przypadków (35)

  • 2.1. Jak prezentowane są analizy przypadków? (36)
    • 2.1.1. Stylistyka (36)
    • 2.1.2. Związek z treścią (36)
    • 2.1.3. Przykładowy kod (36)
  • 2.2. Przypadek nr 1: RailCo Ltd. (37)
    • 2.2.1. Historia (37)
    • 2.2.2. Infrastruktura techniczna (37)
    • 2.2.3. Rozwiązania automatyzacyjne (37)
    • 2.2.4. Cele biznesowe i przeszkody (37)
  • 2.3. Przypadek nr 2: Transit Line Systems Inc (39)
    • 2.3.1. Historia (39)
    • 2.3.2. Infrastruktura techniczna (39)
    • 2.3.3. Rozwiązania automatyzacyjne (40)
    • 2.3.4. Cele biznesowe i przeszkody (40)

CZĘŚĆ I. FUNDAMENTY SOA I USŁUG SIECIOWYCH (43)

Rozdział 3. Wprowadzenie do SOA (45)

  • 3.1. Fundamenty SOA (46)
    • 3.1.1. Orientacja na usługi - analogia (46)
    • 3.1.2. Jak usługi enkapsulują logikę? (47)
    • 3.1.3. Jak powiązane są usługi? (48)
    • 3.1.4. Jak komunikują się usługi? (48)
    • 3.1.5. Jak projektuje się usługi? (49)
    • 3.1.6. Jak zbudowane są usługi? (50)
    • 3.1.7. Pierwotna SOA (50)
  • 3.2. Ogólnie o współczesnej SOA (52)
    • 3.2.1. Współczesna SOA jest najważniejszą spośród platform zorientowanych na usługi (53)
    • 3.2.2. Współczesna SOA przyczynia się do podwyższenia jakości usług (53)
    • 3.2.3. Współczesna SOA jest zasadniczo autonomiczna (54)
    • 3.2.4. Współczesna SOA bazuje na otwartych standardach (54)
    • 3.2.5. Współczesna SOA wspiera zróżnicowanie dostawców (55)
    • 3.2.6. Współczesna SOA propaguje wykrywalność (56)
    • 3.2.7. Współczesna SOA wspiera naturalne współdziałanie (56)
    • 3.2.8. Współczesna SOA propaguje federacyjność (57)
    • 3.2.9. Współczesna SOA propaguje komponowalność architektoniczną (57)
    • 3.2.10. Współczesna SOA sprzyja wrodzonej wieloużywalności (58)
    • 3.2.11. Współczesna SOA eksponuje rozszerzalność (59)
    • 3.2.12. Współczesna SOA wspiera paradygmat zorientowanego usługowo modelowania biznesu (60)
    • 3.2.13. Współczesna SOA implementuje warstwy abstrakcji (60)
    • 3.2.14. Współczesna SOA promuje luźne powiązania komponentów infrastruktury IT (61)
    • 3.2.15. Współczesna SOA propaguje zwinność organizacyjną (61)
    • 3.2.16. Współczesna SOA jest budulcem (63)
    • 3.2.17. Współczesna SOA oznacza ewolucję (63)
    • 3.2.18. Współczesna SOA jest modelem wciąż dojrzewającym (64)
    • 3.2.19. Współczesna SOA jest dążeniem do ideału (64)
    • 3.2.20. Zdefiniowanie SOA (64)
    • 3.2.21. Podział charakterystyki (65)
  • 3.3. Najczęstsze nieporozumienia dotyczące SOA (66)
    • 3.3.1. "Aplikacja korzystająca z usług sieciowych jest aplikacją zorientowaną na usługi" (66)
    • 3.3.2. "SOA to nowe hasło marketingowe dla starych usług sieciowych" (67)
    • 3.3.3. "SOA to nowa etykietka dla przetwarzania rozproszonego opartego na usługach sieciowych" (67)
    • 3.3.4. "SOA upraszcza przetwarzanie rozproszone" (67)
    • 3.3.5. "Aplikacja z usługami sieciowymi, wykorzystująca rozszerzenia WS-*, jest aplikacją zorientowaną na usługi" (68)
    • 3.3.6. "Jeśli znasz usługi sieciowe, bez problemu zbudujesz SOA" (68)
    • 3.3.7. "Gdy przejdziesz na SOA, wszystko zacznie współdziałać" (68)
  • 3.4. Najważniejsze wymierne pożytki z SOA (69)
    • 3.4.1. Usprawniona integracja (i naturalne współdziałanie) (69)
    • 3.4.2. Wbudowana wieloużywalność (70)
    • 3.4.3. Eleganckie architektury i rozwiązania (70)
    • 3.4.4. Spożytkowanie dawnych inwestycji (70)
    • 3.4.5. Jednolite reprezentowanie danych w standardzie XML (71)
    • 3.4.6. Skoncentrowane inwestowanie w infrastrukturę komunikacyjną (71)
    • 3.4.7. Wybór najlepszego wariantu (72)
    • 3.4.8. Zwinność organizacyjna (72)
  • 3.5. Najważniejsze pułapki w adaptacji SOA (73)
    • 3.5.1. Budowanie architektury zorientowanej na usługi na wzór architektury tradycyjnej (73)
    • 3.5.2. Brak standaryzacji (74)
    • 3.5.3. Brak planu transformacji (74)
    • 3.5.4. Początki bez XML (75)
    • 3.5.5. Ignorowanie wymagań wydajnościowych SOA (75)
    • 3.5.6. Niedocenianie bezpieczeństwa usług sieciowych (76)
    • 3.5.7. Niedotrzymywanie kroku nowoczesnym platformom i standardom (77)

Rozdział 4. Ewolucja SOA (79)

  • 4.1. Oś czasu SOA (od XML, przez usługi sieciowe, do SOA) (80)
    • 4.1.1. XML - krótka historia (80)
    • 4.1.2. Usługi sieciowe - krótka historia (81)
    • 4.1.3. SOA - krótka historia (82)
    • 4.1.4. SOA a nowe oblicze XML i usług sieciowych (83)
  • 4.2. Nieustanna ewolucja SOA (organizacje standaryzacyjne i kontrybutorzy) (85)
    • 4.2.1. Standardy, specyfikacje i rozszerzenia (85)
    • 4.2.2. Organizacje standaryzacyjne związane z SOA (85)
    • 4.2.3. Czołowi dostawcy SOA (88)
  • 4.3. Korzenie SOA (SOA a tradycyjne architektury) (91)
    • 4.3.1. Co znaczy "architektura"? (91)
    • 4.3.2. SOA a architektura klient-serwer (93)
    • 4.3.3. SOA a rozproszona architektura internetowa (98)
    • 4.3.4. SOA a hybrydowa architektura usług sieciowych (106)
    • 4.3.5. Orientacja na usługi oraz orientacja na obiekty (część I) (108)

Rozdział 5. Usługi sieciowe a pierwotna SOA (111)

  • 5.1. Framework usług sieciowych (112)
  • 5.2. Usługi (jako usługi sieciowe) (114)
    • 5.2.1. Role usług (115)
    • 5.2.2. Modele usług (125)
  • 5.3. Opisy usług (w języku WSDL) (128)
    • 5.3.1. Punkty końcowe usług i opisy usług (131)
    • 5.3.2. Opis abstrakcyjny (131)
    • 5.3.3. Opis skonkretyzowany (132)
    • 5.3.4. Metadane i kontrakty usług (133)
    • 5.3.5. Opisy semantyczne (134)
    • 5.3.6. Ogłaszanie i odnajdywanie opisów usług (135)
  • 5.4. Komunikowanie według SOAP (138)
    • 5.4.1. Komunikaty SOAP (139)
    • 5.4.2. Węzły SOAP (143)
    • 5.4.3. Ścieżki komunikatów (146)

CZĘŚĆ II. SOA I ROZSZERZENIA WS-* (149)

Rozdział 6. Usługi sieciowe i współczesna SOA (Część I. Zarządzanie aktywnościami i kompozycje) (153)

  • 6.1. Wzorce wymiany komunikatów (155)
    • 6.1.1. Prymitywne wzorce MEP (156)
    • 6.1.2. Wzorce MEP i SOAP (161)
    • 6.1.3. Wzorce MEP i WSDL (161)
    • 6.1.4. Wzorce MEP a SOA (163)
  • 6.2. Aktywności usług (163)
    • 6.2.1. Proste i złożone aktywności usług (164)
    • 6.2.2. Aktywności usług a SOA (165)
  • 6.3. Koordynacja (167)
    • 6.3.1. Kompozycja koordynatora (168)
    • 6.3.2. Typy koordynacyjne i protokoły koordynacyjne (169)
    • 6.3.3. Kontekst koordynacji i uczestnicy koordynacji (169)
    • 6.3.4. Aktywacja i rejestracja (170)
    • 6.3.5. Zakończenie koordynacji (171)
    • 6.3.6. Koordynacja a SOA (172)
  • 6.4. Transakcje niepodzielne (173)
    • 6.4.1. Transakcje ACID (175)
    • 6.4.2. Protokoły transakcji niepodzielnych (175)
    • 6.4.3. Koordynator transakcji niepodzielnej (175)
    • 6.4.4. Proces transakcji niepodzielnej (176)
    • 6.4.5. Transakcje niepodzielne a SOA (178)
  • 6.5. Aktywności biznesowe (179)
    • 6.5.1. Protokoły aktywności biznesowych (181)
    • 6.5.2. Koordynator aktywności biznesowych (181)
    • 6.5.3. Stany aktywności biznesowej (181)
    • 6.5.4. Aktywności biznesowe a transakcje niepodzielne (182)
    • 6.5.5. Aktywności biznesowe a SOA (182)
  • 6.6. Orkiestracje (185)
    • 6.6.1. Protokoły biznesowe i definicje procesów (187)
    • 6.6.2. Usługi procesowe i usługi partnerskie (187)
    • 6.6.3. Aktywności podstawowe i aktywności strukturalne (188)
    • 6.6.4. Sekwencje, przepływy i złącza (188)
    • 6.6.5. Orkiestracje i aktywności (189)
    • 6.6.6. Orkiestracje i koordynacje (189)
    • 6.6.7. Orkiestracje a SOA (189)
  • 6.7. Choreografie (191)
    • 6.7.1. Współpraca (192)
    • 6.7.2. Role i uczestnicy (193)
    • 6.7.3. Relacje i kanały (193)
    • 6.7.4. Interakcje i jednostki pracy (193)
    • 6.7.5. Wieloużywalność, komponowalność i modularność (193)
    • 6.7.6. Orkiestracje a choreografie (194)
    • 6.7.7. Choreografie a SOA (195)

Rozdział 7. Usługi sieciowe i współczesna SOA (Część II. Zaawansowane komunikowanie, metadane i bezpieczeństwo) (197)

  • 7.1. Adresowanie (199)
    • 7.1.1. Referencje punktów końcowych (201)
    • 7.1.2. Nagłówki informacyjne komunikatów (202)
    • 7.1.3. Adresowanie a niezależność od protokołu transportowego (203)
    • 7.1.4. Adresowanie a SOA (204)
  • 7.2. Niezawodne komunikowanie (206)
    • 7.2.1. RM Source, RM Destination, źródło aplikacyjne i przeznaczenie aplikacyjne (207)
    • 7.2.2. Sekwencje (208)
    • 7.2.3. Potwierdzenia (208)
    • 7.2.4. Zapewnienia dostarczenia (210)
    • 7.2.5. Niezawodne komunikowanie a adresowanie (212)
    • 7.2.6. Niezawodne komunikowanie a SOA (212)
  • 7.3. Korelacje (214)
    • 7.3.1. Korelacje jako abstrakcja (215)
    • 7.3.2. Korelacje we wzorcach MEP i aktywnościach (216)
    • 7.3.3. Korelacje w koordynacji (216)
    • 7.3.4. Korelacje w orkiestracji (216)
    • 7.3.5. Korelacje w adresowaniu (216)
    • 7.3.6. Korelacje w niezawodnym komunikowaniu (217)
    • 7.3.7. Korelacje a SOA (217)
  • 7.4. Założenia polityki (218)
    • 7.4.1. Framework WS-Policy (219)
    • 7.4.2. Asercje polityki i warianty polityki (220)
    • 7.4.3. Typy asercji polityki i słowniki polityki (220)
    • 7.4.4. Podmioty polityki i zakresy polityki (220)
    • 7.4.5. Wyrażenia polityki i załączniki polityki (221)
    • 7.4.6. Założenia polityki w koordynacji (221)
    • 7.4.7. Założenia polityki w orkiestracji i choreografiach (221)
    • 7.4.8. Założenia polityki w niezawodnym komunikowaniu (221)
    • 7.4.9. Założenia polityki a SOA (221)
  • 7.5. Wymiana metadanych (223)
    • 7.5.1. Specyfikacja WS-MetadataExchange (224)
    • 7.5.2. Komunikaty żądania i odpowiedzi Get Metadata (224)
    • 7.5.3. Komunikaty żądania i odpowiedzi Get (225)
    • 7.5.4. Selektywne pobieranie metadanych (226)
    • 7.5.5. Wymiana metadanych a odnajdywanie opisów usług (226)
    • 7.5.6. Wymiana metadanych a kontrola wersji (227)
    • 7.5.7. Wymiana metadanych a SOA (227)
  • 7.6. Bezpieczeństwo (229)
    • 7.6.1. Identyfikacja, uwierzytelnianie i autoryzacja (231)
    • 7.6.2. Jednokrotne logowanie (232)
    • 7.6.3. Poufność i integralność (233)
    • 7.6.4. Bezpieczeństwo na poziomie transportu i na poziomie komunikatów (234)
    • 7.6.5. Szyfrowanie i podpisy cyfrowe (234)
    • 7.6.6. Bezpieczeństwo a SOA (236)
  • 7.7. Powiadamianie i zdarzeniowanie (238)
    • 7.7.1. Model "publikuj-subskrybuj" jako abstrakcja (238)
    • 7.7.2. Jedna koncepcja, dwie specyfikacje (239)
    • 7.7.3. Framework WS-Notification (239)
    • 7.7.4. Specyfikacja WS-Eventing (242)
    • 7.7.5. WS-Notification a WS-Eventing (243)
    • 7.7.6. Powiadamianie i zdarzeniowanie a SOA (244)

CZĘŚĆ III. SOA I ZORIENTOWANIE NA USŁUGI (247)

Rozdział 8. Zasady orientacji na usługi (249)

  • 8.1. Orientacja na usługi z perspektywy przedsiębiorstwa (250)
  • 8.2. Anatomia architektury zorientowanej na usługi (253)
    • 8.2.1. Logiczne komponenty frameworku usług sieciowych (253)
    • 8.2.2. Komponenty logiki automatyzacji (254)
    • 8.2.3. Komponenty SOA (256)
    • 8.2.4. Jak powiązane są komponenty SOA? (257)
  • 8.3. Podstawowe zasady zorientowania na usługi (258)
    • 8.3.1. Usługi są wieloużywalne (260)
    • 8.3.2. Usługi współdzielą formalne kontrakty (262)
    • 8.3.3. Usługi są luźno powiązane (264)
    • 8.3.4. Usługi ukrywają wewnętrzną logikę (265)
    • 8.3.5. Usługi są komponowalne (268)
    • 8.3.6. Usługi są autonomiczne (270)
    • 8.3.7. Usługi są bezstanowe (273)
    • 8.3.8. Usługi są wykrywalne (274)
  • 8.4. Jak powiązane są zasady zorientowania na usługi? (276)
    • 8.4.1. Wieloużywalność usługi (276)
    • 8.4.2. Kontraktowość usługi (278)
    • 8.4.3. Luźne powiązanie usługi (279)
    • 8.4.4. Abstrakcyjność usługi (280)
    • 8.4.5. Komponowalność usługi (280)
    • 8.4.6. Autonomia usługi (281)
    • 8.4.7. Bezstanowość usługi (282)
    • 8.4.8. Wykrywalność usługi (283)
  • 8.5. Orientacja na usługi oraz orientacja na obiekty (część II) (284)
  • 8.6. Natywne wsparcie dla zasad zorientowania na usługi ze strony usług sieciowych (286)

Rozdział 9. Warstwy usług (289)

  • 9.1. Zorientowanie na usługi a współczesna SOA (290)
    • 9.1.1. Charakterystyka współczesnej SOA a jej genealogia i zasoby wspomagające (291)
    • 9.1.2. Niewspierane cechy SOA (293)
  • 9.2. Usługowe warstwy abstrakcji (294)
    • 9.2.1. Problemy rozwiązywane przez aranżowanie usług w warstwy (294)
  • 9.3. Warstwa usług aplikacyjnych (297)
  • 9.4. Warstwa usług biznesowych (300)
  • 9.5. Warstwa orkiestracji usług (302)
  • 9.6. Agnostycyzm usług (303)
  • 9.7. Scenariusze konfiguracji warstwy usług (305)
    • 9.7.1. Scenariusz nr 1: wyłącznie usługi hybrydowe (305)
    • 9.7.2. Scenariusz nr 2: usługi hybrydowe i usługi użytkowe (306)
    • 9.7.3. Scenariusz nr 3: biznesowe usługi zadaniowe i aplikacyjne usługi użytkowe (306)
    • 9.7.4. Scenariusz nr 4: oba typy usług biznesowych i aplikacyjne usługi użytkowe (307)
    • 9.7.5. Scenariusz nr 5: usługa procesowa i oba typy usług aplikacyjnych (307)
    • 9.7.6. Scenariusz nr 6: usługa procesowa, biznesowe usługi zadaniowe i aplikacyjne usługi użytkowe (308)
    • 9.7.7. Scenariusz nr 7: usługa procesowa, oba typy usług biznesowych i aplikacyjne usługi użytkowe (308)
    • 9.7.8. Scenariusz nr 8: usługa procesowa, biznesowe usługi podmiotowe i aplikacyjne usługi użytkowe (308)

CZĘŚĆ IV. BUDOWANIE SOA (PLANOWANIE I ANALIZA) (311)

Rozdział 10. Strategie realizacji SOA (313)

  • 10.1. Fazy cyklu życiowego SOA (314)
    • 10.1.1. Podstawowe fazy realizacji SOA (314)
    • 10.1.2. Analiza zorientowana usługowo (315)
    • 10.1.3. Projektowanie zorientowane usługowo (315)
    • 10.1.4. Tworzenie usług (315)
    • 10.1.5. Testowanie usług (315)
    • 10.1.6. Wdrażanie usług (316)
    • 10.1.7. Administrowanie usługami (317)
    • 10.1.8. Strategie wdrożeniowe SOA (317)
  • 10.2. Strategia zstępująca (318)
    • 10.2.1. Proces (318)
    • 10.2.2. Za i przeciw (320)
  • 10.3. Strategia wstępująca (321)
    • 10.3.1. Proces (321)
    • 10.3.2. Za i przeciw (323)
  • 10.4. Strategia zwinna (324)
    • 10.4.1. Proces (324)
    • 10.4.2. Za i przeciw (326)

Rozdział 11. Analiza zorientowana na usługi (Część I. Wprowadzenie) (329)

  • 11.1. Wprowadzenie do analizy zorientowanej na usługi (330)
    • 11.1.1. Cele analizy zorientowanej na usługi (330)
    • 11.1.2. Analiza zorientowana na usługi a model usług przedsiębiorstwa (331)
    • 11.1.3. Proces analizy zorientowanej na usługi (332)
  • 11.2. Korzyści z SOA ukierunkowanej biznesowo (335)
    • 11.2.1. Usługi biznesowe wbudowują zwinność w modele biznesowe (336)
    • 11.2.2. Usługi biznesowe przygotowują proces do orkiestracji (336)
    • 11.2.3. Usługi biznesowe umożliwiają wieloużywalność (336)
    • 11.2.4. Tylko za pomocą usług biznesowych można realizować przedsiębiorstwo zorientowane na usługi (337)
  • 11.3. Wyodrębnianie usług biznesowych (339)
    • 11.3.1. Źródła dla wyodrębniania usług biznesowych (339)
    • 11.3.2. Typy wyodrębnianych usług biznesowych (344)
    • 11.3.3. Usługi biznesowe i orkiestracje (347)

Rozdział 12. Analiza zorientowana na usługi (Część II. Modelowanie usług) (349)

  • 12.1. Modelowanie usług krok po kroku (350)
    • 12.1.1. "Usługi" a "kandydatury na usługi" (350)
    • 12.1.2. Proces (351)
  • 12.2. Wytyczne i wskazówki dotyczące modelowania usług (366)
    • 12.2.1. Rozważanie potencjalnej wieloużywalności międzyprocesowej enkapsulowanej logiki (kandydatury na biznesowe usługi zadaniowe) (366)
    • 12.2.2. Rozważanie potencjalnej wieloużywalności wewnątrzprocesowej enkapsulowanej logiki (kandydatury na biznesowe usługi zadaniowe) (367)
    • 12.2.3. Wykrywanie wewnętrznych uzależnień od procesu (kandydatury na biznesowe usługi zadaniowe) (367)
    • 12.2.4. Modelowanie wieloużywalności międzyaplikacyjnej (kandydatury na usługi aplikacyjne) (368)
    • 12.2.5. Prognozowanie dalszych wymagań dekompozycyjnych (368)
    • 12.2.6. Identyfikowanie logicznych jednostek pracy w określonych granicach (369)
    • 12.2.7. Zapobieganie pełzaniu granic (369)
    • 12.2.8. Emulowanie usług procesowych przy braku orkiestracji (kandydatury na biznesowe usługi zadaniowe) (370)
    • 12.2.9. Równoważenie celów modelowania (370)
    • 12.2.10. Klasyfikowanie logiki modelowanych usług (371)
    • 12.2.11. Alokowanie wystarczających zasobów na potrzeby modelowania (371)
    • 12.2.12. Tworzenie i publikowanie standardów modelowania usług biznesowych (372)
  • 12.3. Klasyfikacja logiki modelu usług (373)
    • 12.3.1. Model SOE (373)
    • 12.3.2. Model biznesowy przedsiębiorstwa (374)
    • 12.3.3. "Bloki konstrukcyjne" a "modele usług" (374)
    • 12.3.4. Podstawowe bloki konstrukcyjne modelowania (375)
  • 12.4. Porównanie podejść do modelowania (przykład) (377)

CZĘŚĆ V. BUDOWANIE SOA (TECHNOLOGIE I PROJEKT) (391)

Rozdział 13. Projektowanie zorientowane na usługi (Część I. Wprowadzenie) (393)

  • 13.1. Wprowadzenie do projektowania zorientowanego na usługi (394)
    • 13.1.1. Cele projektowania zorientowanego na usługi (394)
    • 13.1.2. "Standardy projektowe" a "standardy przemysłowe" (394)
    • 13.1.3. Proces projektowania zorientowanego na usługi (395)
    • 13.1.4. Przygotowania (396)
  • 13.2. Podstawy XML Schema związane z WSDL (397)
    • 13.2.1. Element schema (399)
    • 13.2.2. Element element (399)
    • 13.2.3. Elementy complexType i simpleType (399)
    • 13.2.4. Elementy import i include (400)
    • 13.2.5. Inne ważne elementy (400)
  • 13.3. Podstawy języka WSDL (401)
    • 13.3.1. Element definitions (402)
    • 13.3.2. Element types (402)
    • 13.3.3. Elementy message i part (403)
    • 13.3.4. Elementy portType, interface i operation (404)
    • 13.3.5. Elementy input i output (jako potomne elementu operation) (405)
    • 13.3.6. Element binding (405)
    • 13.3.7. Elementy input i output (jako potomne elementu binding) (406)
    • 13.3.8. Elementy service, port i endpoint (407)
    • 13.3.9. Element import (407)
    • 13.3.10. Element documentation (408)
  • 13.4. Podstawy języka SOAP (408)
    • 13.4.1. Element Envelope (409)
    • 13.4.2. Element Header (409)
    • 13.4.3. Element Body (410)
    • 13.4.4. Element Fault (411)
  • 13.5. Narzędzia do projektowania interfejsów usług (412)
    • 13.5.1. Automatyczne generowanie (412)
    • 13.5.2. Narzędzia projektowe (412)
    • 13.5.3. Ręczne kodowanie (413)

Rozdział 14. Projektowanie zorientowane na usługi (Część II. Wytyczne komponowania SOA) (415)

  • 14.1. Komponowanie SOA - krok po kroku (416)
    • 14.1.1. Wybór struktury warstw usług (417)
    • 14.1.2. Umiejscowienie rdzennych standardów (417)
    • 14.1.3. Wybór rozszerzeń SOA (418)
  • 14.2. Uwarunkowania wyboru warstw usług (418)
  • 14.3. Uwarunkowania umiejscowienia rdzennych standardów SOA (420)
    • 14.3.1. Standardy przemysłowe a SOA (420)
    • 14.3.2. XML a SOA (421)
    • 14.3.3. WS-I Basic Profile (422)
    • 14.3.4. WSDL a SOA (423)
    • 14.3.5. XML Schema a SOA (424)
    • 14.3.6. SOAP a SOA (425)
    • 14.3.7. Przestrzenie nazw a SOA (426)
    • 14.3.8. UDDI a SOA (426)
  • 14.4. Uwarunkowania wyboru rozszerzeń SOA (428)
    • 14.4.1. Selekcja charakterystyki SOAP (428)
    • 14.4.2. Selekcja specyfikacji WS-* (429)
    • 14.4.3. WS-BPEL a SOA (429)

Rozdział 15. Projektowanie zorientowane na usługi (Część III. Projektowanie usług) (433)

  • 15.1. O projektowaniu usług ogólnie (435)
    • 15.1.1. Standardy projektowania (435)
    • 15.1.2. Opisy procesów (436)
    • 15.1.3. Przygotowania (436)
  • 15.2. Projektowanie biznesowych usług podmiotowych - krok po kroku (438)
    • 15.2.1. Proces (438)
  • 15.3. Projektowanie usług aplikacyjnych - krok po kroku (456)
    • 15.3.1. Proces (457)
  • 15.4. Projektowanie biznesowych usług zadaniowych - krok po kroku (469)
    • 15.4.1. Proces (470)
  • 15.5. Wytyczne dla projektowania usług (483)
    • 15.5.1. Identyfikowanie ograniczeń technicznych (483)
    • 15.5.2. Stosowanie standardów nazewniczych (484)
    • 15.5.3. Dobór odpowiedniej ziarnistości interfejsu (485)
    • 15.5.4. Projektowanie operacji usług jako naturalnie rozszerzalnych (487)
    • 15.5.5. Identyfikowanie znanych i potencjalnych usług-wnioskodawców (488)
    • 15.5.6. Modularyzowanie dokumentów WSDL (488)
    • 15.5.7. Staranne używanie przestrzeni nazw (489)
    • 15.5.8. Wykorzystywanie literalnych komunikatów w stylu dokumentowym (490)
    • 15.5.9. Konsekwentne zachowywanie zgodności z zaleceniami WS-I (491)
    • 15.5.10. Dokumentowanie usług za pomocą metadanych (491)

Rozdział 16. Projektowanie zorientowane na usługi (Część IV. Projektowanie procesu biznesowego) (493)

  • 16.1. Podstawy języka WS-BPEL (494)
    • 16.1.1. Krótka historia BPEL4WS i WS-BPEL (495)
    • 16.1.2. Przygotowania (495)
    • 16.1.3. Element process (496)
    • 16.1.4. Elementy partnerLinks i partnerLink (496)
    • 16.1.5. Element partnerLinkType (497)
    • 16.1.6. Element variables (498)
    • 16.1.7. Funkcje getVariableProperty i getVariableData (499)
    • 16.1.8. Element sequence (499)
    • 16.1.9. Element invoke (500)
    • 16.1.10. Element receive (500)
    • 16.1.11. Element reply (501)
    • 16.1.12. Elementy switch, case i otherwise (502)
    • 16.1.13. Elementy assign, copy, from i to (502)
    • 16.1.14. Elementy faultHandlers, catch i catchAll (503)
    • 16.1.15. Pozostałe elementy WS-BPEL (503)
  • 16.2. O specyfikacji WS-Coordination ogólnie (505)
    • 16.2.1. Element CoordinationContext (505)
    • 16.2.2. Elementy Identifier i Expires (506)
    • 16.2.3. Element CoordinationType (507)
    • 16.2.4. Element RegistrationService (507)
    • 16.2.5. Wybór typu koordynacyjnego WS-BusinessActivity (507)
    • 16.2.6. Wybór typu koordynacyjnego WS-AtomicTransaction (507)
  • 16.3. Projektowanie procesu biznesowego zorientowanego na usługi - krok po kroku (508)
    • 16.3.1. Proces (508)

Rozdział 17. Podstawowe rozszerzenia WS-* (531)

  • 17.1. Podstawy języka WS-Addressing (532)
    • 17.1.1. Element EndpointReference (533)
    • 17.1.2. Elementy nagłówka reprezentujące informację o komunikatach (MI) (534)
    • 17.1.3. Wielokrotne wykorzystywanie WS-Addressing (537)
  • 17.2. Podstawy języka WS-ReliableMessaging (538)
    • 17.2.1. Elementy Sequence, MessageNumber i LastMessage (539)
    • 17.2.2. Elementy SequenceAcknowledgement i AcknowledgementRange (540)
    • 17.2.3. Element Nack (541)
    • 17.2.4. Element AckRequested (542)
    • 17.2.5. Pozostałe elementy WS-ReliableMessaging (543)
  • 17.3. Podstawy języka WS-Policy (544)
    • 17.3.1. Element Policy i podstawowe asercje polityki (545)
    • 17.3.2. Element ExactlyOne (545)
    • 17.3.3. Element All (546)
    • 17.3.4. Atrybut Usage (547)
    • 17.3.5. Atrybut Preference (547)
    • 17.3.6. Element PolicyReference (547)
    • 17.3.7. Atrybut PolicyURIs (548)
    • 17.3.8. Element PolicyAttachment (548)
    • 17.3.9. Inne typy asercji polityki (549)
  • 17.4. Podstawy języka WS-MetadataExchange (550)
    • 17.4.1. Element GetMetadata (551)
    • 17.4.2. Element Dialect (552)
    • 17.4.3. Element Identifier (552)
    • 17.4.4. Elementy Metadata, MetadataSection i MetadataReference (552)
    • 17.4.5. Komunikat Get (554)
  • 17.5. Podstawy języka WS-Security (555)
    • 17.5.1. Element Security (556)
    • 17.5.2. Elementy UsernameToken, Username i Password (WS-Security) (556)
    • 17.5.3. Element BinarySecurityToken (WS-Security) (556)
    • 17.5.4. Element SecurityTokenReference (WS-Security) (556)
    • 17.5.5. Komponowanie zawartości elementu Security (WS-Security) (557)
    • 17.5.6. Element EncryptedData (XML-Encryption) (558)
    • 17.5.7. Elementy CipherData, CipherValue i CipherReference (XML-Encryption) (558)
    • 17.5.8. Elementy XML-Signature (559)

Rozdział 18. Platformy SOA (563)

  • 18.1. Platformy SOA (564)
    • 18.1.1. Podstawowe bloki konstrukcyjne platformy SOA (564)
    • 18.1.2. Główne warstwy platformy SOA (565)
    • 18.1.3. Warstwy SOA a technologie (566)
    • 18.1.4. Fundamentalna architektura technologiczna usług (567)
    • 18.1.5. Platformy dostawców (576)
  • 18.2. SOA na platformie J2EE (577)
    • 18.2.1. Ogólnie o platformie (577)
    • 18.2.2. Wsparcie dla pierwotnej SOA (587)
    • 18.2.3. Wsparcie dla zasad zorientowania na usługi (588)
    • 18.2.4. Wsparcie dla współczesnej SOA (589)
  • 18.3. SOA na platformie .NET (593)
    • 18.3.1. Ogólnie o platformie (594)
    • 18.3.2. Wsparcie dla pierwotnej SOA (602)
    • 18.3.3. Wsparcie dla zasad zorientowania na usługi (602)
    • 18.3.4. Wsparcie dla współczesnej SOA (603)
  • 18.4. Względy integracyjne (606)

Dodatek A. Analizy przypadków - konkluzja (609)

  • A.1. RailCo Ltd. (610)
  • A.2. Transit Line Systems Inc. (TLS) (612)
  • A.3. Myjnia samochodów W3C Oasis (615)

Dodatek B. Modele usług - lista referencyjna (617)

O autorze (621)

O fotografiach (623)

Skorowidz (625)

  • Tytuł: SOA. Koncepcje, technologie i projektowanie
  • Autor: Thomas Erl
  • Tytuł oryginału: Service-Oriented Architecture: Concepts, Technology, and Design
  • Tłumaczenie: Andrzej Grażyński
  • ISBN: 978-83-246-7494-7, 9788324674947
  • Data wydania: 2014-01-27
  • Format: Ebook
  • Identyfikator pozycji: soakon
  • Wydawca: Helion