Choreografia serwisowa

Choreografia usług w informatyce biznesowej to forma kompozycji usług , w której protokół interakcji między kilkoma usługami partnerskimi [ wymagane wyjaśnienie ] jest definiowany z perspektywy globalnej. Ideę leżącą u podstaw pojęcia choreografii serwisowej można streścić w następujący sposób:

„Tancerze tańczą według globalnego scenariusza bez jednego punktu kontroli”

Oznacza to, że w czasie wykonywania każdy uczestnik choreografii usługi wykonuje swoją część zgodnie z zachowaniem innych uczestników. Rola choreografii określa oczekiwane zachowanie uczestników, którzy będą ją odgrywać, pod względem kolejności i czasu komunikatów, które mogą konsumować i wytwarzać.

Choreografia opisuje kolejność i warunki, w których dane są wymieniane między dwoma lub więcej uczestnikami w celu spełnienia jakiegoś użytecznego celu.

Choreografia usług i orkiestracja usług

Choreografię usług można lepiej zrozumieć, porównując z innym paradygmatem kompozycji usług: orkiestracją usług . Z jednej strony w choreografiach usługowych logika komunikatowych interakcji między uczestnikami jest określona z perspektywy globalnej. Z drugiej strony, w przypadku orkiestracji usług, logika jest określana z lokalnego punktu widzenia jednego kontrolującego uczestnika, zwanego orkiestratorem . W języku orkiestracji usług BPEL na przykład specyfikacja orkiestracji usługi (np. plik procesu BPEL) to przepływ pracy, który można wdrożyć w infrastrukturze usługi (na przykład silnik wykonawczy BPEL, taki jak Apache ODE ). Wdrożenie specyfikacji orkiestracji usług przekształca przepływ pracy w usługę złożoną.

W pewnym sensie choreografia usług i orkiestracja to dwie strony tej samej monety. Z jednej strony role choreografii usługowej można wyodrębnić jako orkiestracje usługowe poprzez proces zwany projekcją . Dzięki projekcji możliwe jest zrealizowanie szkieletów , tj. niekompletnych orkiestracji usług, które można wykorzystać jako punkty odniesienia do realizacji usług sieciowych uczestniczących w choreografii usług. Z drugiej strony, istniejące już orkiestracje usługowe mogą być komponowane w choreografie usługowe.

Odgrywanie choreografii serwisowych

Choreografie serwisowe nie są wykonywane: są odgrywane . Choreografia nabożeństwa odgrywana jest, gdy jej uczestnicy wykonują swoje role. Oznacza to, że w przeciwieństwie do orkiestracji usług, choreografie usług nie są uruchamiane przez jakiś silnik w infrastrukturze usług, ale „zdarzają się” podczas wykonywania ich ról. Dzieje się tak, ponieważ logika choreografii usług jest określona z globalnego punktu widzenia i w związku z tym nie jest to realizowane przez jedną usługę, jak w przypadku orkiestracji usług.

Kluczowe pytanie, na które większość badań nad choreografią stara się znaleźć odpowiedź, jest następujące: Załóżmy, że skonstruowana jest globalna choreografia, która opisuje możliwe interakcje między uczestnikami współpracy. Jakim warunkom musi sprostać choreografia, aby mieć pewność, że współpraca zakończy się sukcesem ? Tutaj sukces oznacza, że ​​wyłaniające się zachowanie, które pojawia się, gdy współpraca jest realizowana, przy czym każdy uczestnik działa niezależnie zgodnie z własnym szkieletem , dokładnie odpowiada choreografii, na podstawie której pierwotnie projektowano szkielety. W takim przypadku mówi się, że choreografia jest wykonalna . Ogólnie rzecz biorąc, określenie wykonalności choreografii jest kwestią nietrywialną, szczególnie tam, gdzie współpraca wykorzystuje asynchroniczne przesyłanie wiadomości i możliwe jest jednoczesne wysyłanie wiadomości przez różnych uczestników.

Języki choreografii serwisowej

W zakresie specyfikacji dotyczących usług sieciowych następujące specyfikacje skupiają się na definiowaniu języków do modelowania choreografii usług:

Ponadto specyfikacja OMG BPMN w wersji 2.0 zawiera diagramy do modelowania choreografii usług.

Propozycje akademickie dotyczące języków choreografii serwisowej obejmują:

  • Zatańczmy
  • BPEL4 Chor
  • chor

Ponadto zaproponowano szereg formalizmów choreografii serwisowej w oparciu o:

Choreografia serwisu internetowego

Choreografia usługi sieciowej ( WS-Choreography ) to specyfikacja W3C definiująca język modelowania procesów biznesowych oparty na XML , który opisuje protokoły współpracy współpracujących uczestników usługi sieciowej , w której usługi działają jako równorzędne, a interakcje mogą być długotrwałe i stanowe. ( Orkiestracja to kolejny termin o bardzo podobnym, ale wciąż innym znaczeniu).

Główny wysiłek mający na celu uzyskanie choreografii, Grupa Robocza Choreografii Usług Sieciowych W3C, został zamknięty 10 lipca 2009 r., Pozostawiając WS-CDL jako Rekomendację Kandydata.

„Wiele prezentacji na warsztatach W3C poświęconych usługom sieciowym w dniach 11–12 kwietnia 2001 r. wskazywało na potrzebę wspólnego interfejsu i języka kompozycji, aby pomóc w realizacji choreografii. Roboczy projekt wymagań architektury usług sieciowych stworzony przez grupę roboczą ds. architektury usług sieciowych zawiera również listę idea możliwości choreografii usług internetowych jako krytycznego czynnika sukcesu , wspierająca kilka różnych celów najwyższego poziomu dla rodzącej się architektury usług internetowych” [1] .

Problematyka choreografii cieszyła się wówczas dużym zainteresowaniem przemysłu; wysiłki, takie jak WSCL (Web Service Conversation Language) i WSCI (Web Service Choreography Interface) zostały przesłane do W3C i opublikowane jako uwagi techniczne. Ponadto podjęto działania uzupełniające:

„W czerwcu 2002 roku Intalio, Sun, BEA i SAP wydali wspólną specyfikację o nazwie Web Services Choreography Interface (WSCI). Specyfikacja ta została również przesłana do W3C jako notatka w sierpniu 2002 roku. Od tego czasu W3C utworzyło nową grupę roboczą o nazwie Web Services Grupa Robocza Choreografii w Działalności Usług Sieciowych. Specyfikacja WSCI jest jednym z głównych danych wejściowych Grupy Roboczej Choreografii Usług Sieciowych , która opublikowała Rekomendację Kandydata dotyczącą WS-CDL w wersji 1.0 9 listopada 2005 roku” [3] . „XLang, WSFL i WSCI nie są już obsługiwane przez żadną standardową organizację lub firmę. BPEL zastąpił Xlang, a WSFL WSCI został zastąpiony przez WS-CDL " [4] .

Nadchodząca wersja 2.0 Business Process Modeling Notation wprowadzi diagramy do określania choreografii usług.

Dziedzina akademicka zaproponowała inne języki choreografii usług, na przykład Let's Dance, BPEL4Chor i MAP.

Paradygmaty choreografii serwisowych

Choreografie usług określają oparte na wiadomościach interakcje między uczestnikami z perspektywy globalnej. W ten sam sposób, w jaki języki programowania można pogrupować w paradygmaty programowania , tak języki choreografii usług można pogrupować w style :

  • Modelowanie interakcji: logika choreografii jest określona jako przepływ pracy, w którym działania reprezentują wymianę wiadomości między uczestnikami (na przykład Web Service Choreography Description Language (WS-CDL) i Let's Dance)
  • Modelowanie wzajemnie połączonych interfejsów: logika choreografii jest podzielona na jej uczestników poprzez odgrywane przez nich role (tj. oczekiwane zachowania związane z przesyłaniem wiadomości). Role są połączone za pomocą przepływów komunikatów, kanałów lub równoważnych konstrukcji (tak jest na przykład w przypadku BPEL4Chor)

Projekty badawcze dotyczące choreografii

Istnieje kilka aktywnych projektów badawczych na temat choreografii serwisowej.

Zobacz też

  1. ^ Model wiedzy S-Cube: Choreografia usług
  2. ^ Chris Peltz: Orkiestracja i choreografia usług sieciowych . Komputer IEEE (KOMPUTER) 36 (10): 46-52 (2003)
  3. ^ Jianwen Su, Tevfik Bultan, Xiang Fu, Xiangpeng Zhao: w kierunku teorii choreografii usług sieciowych . WS-FM 2007:1-16
  4. ^ „Przegląd modelu choreografii WS” . 24 marca 2004 . Źródło 16 lutego 2019 r .
  5. ^    Arellanes, Damian; Lau, Kung-Kiu (2017). „Egzogeniczne łączniki do hierarchicznej kompozycji usług” . 2017 IEEE 10. konferencja na temat przetwarzania zorientowanego na usługi i aplikacji (SOCA) . Kanazawa: IEEE: 125–132. doi : 10.1109/SOCA.2017.25 . ISBN 9781538613269 . S2CID 31211787 .
  6. ^ Hongli Yang, Xiangpeng Zhao, Chao Cai, Zongyan Qiu: „Badanie połączenia choreografii i orkiestracji z obsługą wyjątków i finalizacją / kompensacją” . FORTE 2007:81-96
  7. ^ Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer: Oparta na modelu analiza obowiązków w choreografii usług internetowych . AICT/ICIW 2006:149
  8. ^ Ashley McNeile: Kontrakty protokołowe z zastosowaniem do choreografowanych wielostronnych współpracy . Obliczenia zorientowane na usługi i aplikacje, tom 4, numer 2, 109-136 (2010)
  9. ^ a b Jack Vaughan: BPMN 2.0 dodaje notację do obsługi choreografii BPM . SearchSOA.com, 22 października 2009
  10. ^ a b c Johannes Maria Zaha, Alistair P. Barros, Marlon Dumas , Arthur HM ter Hofstede : Tańczmy: język modelowania zachowań usługowych . Konferencje OTM 2006:145-162
  11. ^ a b c Gero Decker, Oliver Kopp, Frank Leymann, Mathias Weske : BPEL4Chor: Rozszerzenie BPEL do modelowania choreografii . ICWS 2007:296-303
  12. ^ „Język programowania chóru” .
  13. ^ Carbone, Marco; Montesi, Fabrizio (2013). Wolność od impasu z założenia: wielostronne asynchroniczne programowanie globalne . doi : 10.1145/2429069.2429101 .
  14. ^ Gero Decker, Mathias Weske : Lokalna egzekwowalność w interakcjach sieci Petriego . BPM 2007:305-319
  15. ^ Karsten Schmidt: Możliwość sterowania otwartymi sieciami przepływu pracy . EMISA 2005:236-249
  16. ^ Nadia Busi, Roberto Gorrieri, Claudio Guidi, Roberto Lucchi, Gianluigi Zavattaro: zgodność choreografii i orkiestracji dla projektowania systemu . KOORDYNACJA 2006:63-81
  17. ^ Tevfik Bultan, Jianwen Su, Xiang Fu: Analiza rozmów o usługach sieciowych . IEEE Internet Computing (INTERNET) 10(1):18-25 (2006)
  18. ^ Michele Mancioppi, Manuel Carro, Willem-Jan van den Heuvel, Mike P. Papazoglou: Rozsądne wielostronne protokoły biznesowe dla sieci usługowych . ICSOC 2008:302-316
  19. ^ a b Adam Barker, Christopher D. Walton, David Robertson: choreografowanie usług sieciowych . IEEE Transactions on Services Computing, tom 2, numer 2, strony 152-166, IEEE Computer Society, kwiecień – czerwiec 2009
  20. ^ ShuiGuang Deng, Zhaohui Wu, Mengchu Zhou, Ying Li, Jian Wu: Kompatybilność usług modelowania z rachunkiem różniczkowym Pi dla choreografii . ER 2006:26-39
  21. ^ Paolo Besana, Adam Barker: wykonywalny rachunek dla choreografii serwisowej . Konferencje OTM 2009:373-380
  22. ^ Raman Kazhamiakin, Marco Pistore: Analiza warunków realizacji choreografii usług sieciowych . FORTE 2006:61-76
  23. ^ Zongyan Qiu, Xiangpeng Zhao, Chao Cai, Hongli Yang: Ku teoretycznym podstawom choreografii . WWW 2007:973-982
  24. ^ Grupa robocza choreografii usług sieciowych w W3
  25. ^ Karta
  26. ^ Gero Decker, Oliver Kopp, Alistair P. Barros: Wprowadzenie do choreografii usługowych (Servicechoreographien - eine Einführung). to - technologia informacyjna (IT) 50(2):122-127 (2008)
  27. ^ Model wiedzy S-Cube: model choreografii interakcji
  28. ^ Model wiedzy S-Cube: model choreografii połączonego interfejsu

Linki zewnętrzne