Zastosowanie informatyki w gospodarce Wykład 5

Podobne dokumenty
Usługi sieciowe (Web Services)

Terminologia BPMN 2.0 Wersja 2.0 opracowana w AION

Język BPEL. Bussiness Process Execution Language

Plan wykładu PROJEKTOWANIE SYSTEMÓW PROCESÓW PRACY. Organizacje standaryzujace i stowarzyszenia. Definicje podstawowe.

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML. Jakub Morkis, Piotr Chmielewski

JBPM [JUG] Tomasz Gratkowski [GRATKOWSKI SOFTWARE]

Podstawy języka UML2 w realnych projektach

Modelowanie biznesowe. Na podstawie materiałów: Mirosława Ochodeka

Automatyzacja procesów biznesowych mgr inż. Krystyna Dziubich

Zaawansowane aplikacje internetowe. Wykład 7. Implementacja procesów biznesowych w języku BPEL. wykład prowadzi: Maciej Zakrzewicz BPEL.

Podstawy języka UML2 w realnych projektach

1.KOMPOZYCJA I INTEGRACJA USŁUG W ARCHITEKTURZE SOA

Standardy workflow przy budowie systemu informatycznego

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Implementacja aplikacji biznesowych w technologii WS-BPEL

Podstawy modelowania biznesowego w inżynierii oprogramowania

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Web Services. Wojciech Mazur. 17 marca Politechnika Wrocławska Wydział Informatyki i Zarządzania

Modelowanie procesów biznesowych BPMN cz. I

Rozproszone systemy internetowe

UML w Visual Studio. Michał Ciećwierz

Wymiana opisu procesów biznesowych pomiędzy środowiskiem Eclipse i EMC Documentum

Programowanie komponentowe


Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Komunikacja i wymiana danych

Zarządzanie sieciami telekomunikacyjnymi

Modelowanie procesów biznesowych BPMN cz. I

Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti

Informatyzacja przedsiębiorstw WYKŁAD

Inżynieria oprogramowania

Application Layer Functionality and Protocols

XML w elektronicznej wymianie danych i integracji aplikacji

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

XML w elektronicznej wymianie danych i integracji aplikacji

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Michał Adamczyk. Język UML

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Język UML w modelowaniu systemów informatycznych

Page 1. Architektura systemów GIS. Architektura klient-serwer. Geoinformaacyjne usługi sieciowe DESKTOP. dr inż. Adam Iwaniak

Systemy przepływu pracy (workflow)

Modelowanie procesów biznesowych

Język UML w modelowaniu systemów informatycznych

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Rozwój repozytorium usług

Identyfikacja i modelowanie struktur i procesów biologicznych

Spis treúci. 1. Wstęp... 11

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wybrane problemy modelu usługowego

IBM Corporation IBM SOA Center of Excellence

Oracle Fusion Middleware

Język UML w modelowaniu systemów informatycznych

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Kompozycja usług. Tomasz Pawlak. Biznesowe Systemy Rozproszone

Geneza elektronicznej wymiany danych (EDI) XML w elektronicznej wymianie dokumentów i integracji aplikacji. Pojedyncze rozwiązania.

Dostęp do komponentów EJB przez usługi Web Services

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

XII International PhD Workshop OWD 2010, October Metodyka pozyskiwania i analizy wyników badań symulacyjnych ścieżek klinicznych

Enterprise Architect - narzędzie do modelowania

UML cz. III. UML cz. III 1/36

Projekt z AZNU tutorial

Identyfikacja i modelowanie struktur i procesów biologicznych

Modelowanie procesów biznesowych, przepływu pracy oraz reguł biznesowych na przykładzie Drools i jbpm lub Activiti

Web Services. Technologie Biznesu Elektronicznego. Konrad Kunicki. Politechnika Wrocławska, Wydział Informatyki i Zarządzania

Wprowadzenie do usług internetowych

Stan zaawansowania prac dotyczących zamówienia na opracowanie i wdrożenie rdzenia systemu e Urząd.

Odwzorowanie BPMN w sieć Petriego

Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Analiza procesów biznesowych (BPEL4WS) za pomocą CWB. Grzegorz Statuch

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Web Services / Gridy

Język UML w modelowaniu systemów informatycznych

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g

XML w elektronicznej wymianie danych, integracji aplikacji i bezpieczeństwie

Podstawy programowania III WYKŁAD 4

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

1. Wymagania dla lokalnej szyny ESB

XML w elektronicznej wymianie danych, integracji aplikacji i bezpieczeństwie

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Spis treúci. 1. Wprowadzenie... 13

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika

Szkolenie jest również doskonałe dla programistów i testerów, którzy mają nadzieję na awans w kierunku analityka.

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Komunikacja systemów informatycznych przy pomocy usług sieciowych

Oprogramowanie dostosowane do potrzeb użytkownika. Skrócenie czasu wejścia na rynek

<Insert Picture Here> SOA w oparciu o domeny kompetencyjne oraz architekturę referencyjną

OfficeObjects Service Broker

Strona główna > Produkty > Systemy regulacji > System regulacji EASYLAB - LABCONTROL > Program konfiguracyjny > Typ EasyConnect.

Geneza elektronicznej wymiany danych (EDI) XML w elektronicznej wymianie dokumentów i integracji aplikacji. Pojedyncze rozwiązania.

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Transkrypt:

Instytut Informatyki, Automatyki i Robotyki Zastosowanie informatyki w gospodarce Wykład 5 BPMN,BPEL, WS-CDL dr inż. Tomasz Walkowiak

Serwisy sieciowe, WWW Web Services dostępne poprzez sieć komponenty aplikacyjne przeznaczonym do wykorzystania przez inne aplikacje, zwane aplikacjami klienckimi hermetyzowane, luźno skojarzone kontraktowane funkcje, oferowane poprzez standardowe protokoły. Hermetyzowane : implementacja nigdy nie jest widoczna z zewnątrz. Luźno skojarzone : modyfikowanie danej implementacji nie generuje problemu propagacji zmiany. Kontraktowane opisy działania funkcji oraz specyfikacja ich interfejsów jest publicznie dostępna Business Process Software Services A B C D 1 2 3 4 5 6 2

Przykład Wyszukiwanie najtańszej książki 3

Standardy Web Services dla SOA Discovery, Negotiation, Agreement Component Orchestration Protocols State Model Reliable Messaging Composite Interface + Bindings XML Security Transport Atomic Transactions Policy Non-XML Components Quality of Service Description Messaging Transport 4

Standardy Web Services dla SOA Discovery, Negotiation, Agreement UDDI, WS-Addr, Metadata Exch., Component Orchestration WS-BPEL Protocols SCA State Model Reliable WS-RM Messaging Composite Atomic Interface + Bindings WSDL* XML WS-C WS-N* Security WS-Security* Transport Transactions Policy WS-Policy* Non-XML HTTP, TCP/IP, SMTP, FTP, WS-RF WS-AT WS-BA SOAP, WS-Addr* JMS, RMI/IIOP,... Components Quality of Service Description Messaging Transport 5

Standardy Web Services dla SOA Discovery, Negotiation, Agreement UDDI, WS-Addr, Metadata Exch., Component Orchestration WS-BPEL Protocols SCA State Model Reliable WS-RM Messaging Composite Atomic Interface + Bindings WSDL* XML WS-C WS-N* Security WS-Security* Transport Transactions Policy WS-Policy* Non-XML HTTP, TCP/IP, SMTP, FTP, WS-RF WS-AT WS-BA SOAP, WS-Addr* JMS, RMI/IIOP,... Components Quality of Service Description Messaging Transport 6

Business Process Modelling Notation (BPMN) informacje wstępne Business Process Modelling Notation (BPMN) - notacja zarządzania procesami biznesowymi graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania procesów biznesowych. Stworzony przez Business Process Management Initiative (BPMI, www.bpmi.org). 2005 strategiczna fuzja z Object Management Group (OMG) Slajdy o BPMN (do 26) opracowane przez projekt: http://eatraining.eu/ 7

Cele BPMN Wymiana procesów biznesowych na poziomie ludzi zamiast poziomu technicznego Notacja rozumiana przez wszystkie strony. Wspieranie prostych i złożonych procesów. Wspieranie prostej wymiany komunikacji między użytkownikami Diagramy procesów biznesowych modele procesów jako środek interakcji i komunikacji między projektantami, użytkownikami i osobami zarządzającymi procesami. Stworzenie mostu między notacją pojęciową i techniczną (wsparcie przekształcania pomysłu na kod) Formalne mapowanie pojęć na wykonalne języki Np. na BPEL (Business Process Execution Language), BPEL4WS (BPEL for Web Services), itp. Standardowa notacja i wizualizacja Język modelowania procesów jest zoptymalizowany na rzecz tworzenia wykonalnego kodu. Ze strony: http://eatraining.eu/ 8

Podstawowe pojęcia BPMN Proces zbiór wzajemnie powiązanych lub wzajemnie na siebie oddziałujących działań, które przekształcają elementy wejściowe na wyjściowe. Proces biznesowy zaplanowany proces nastawiony na uzyskiwanie określonych rezultatów. Mapa procesów biznesowych - obraz przedstawiający wszystkie czynności i procesy realizowane wewnątrz organizacji w celu wytworzenia produktu końcowego. Trzy podstawowe rodzaje procesów: Procesy zarządzania Procesy operacyjne Procesy pomocnicze Ze strony: http://eatraining.eu/ 9

Obszary zastosowania BPMN (1) Koncentruje się na sekwencji procesu z trzema rodzajami podprocesów: Wewnętrzne (prywatne) procesy biznesowe Procesy wykonywane wewnątrz jednostki organizacyjnej W ogólnych przepływach pracy procesów BPM Przykład: Ze strony: http://eatraining.eu/ 10

Obszary zastosowania BPMN (2) Koncentruje się na sekwencji procesu z trzema rodzajami podprocesów: Abstrakcyjne (publiczne) procesy Ilustrują interakcję między wewnętrznymi procesami a zewnętrznymi partnerami biznesowymi wskazując sekwencję interakcji / wiadomości wewnętrznego procesu z zewnętrznymi użytkownikami Przedstawiane są tylko czynności obejmujące zewnętrzną komunikację wskazując przepływ sterowania Mapowanie pojedynczego abstrakcyjnego procesu na unikalny abstrakcyjny proces w BPEL4WS Zbiory w obszarach wspólnych abstrakcyjne procesy mogą być modelowane indywidualnie lub wewnątrz bardziej złożonych diagramów BPMN Ze strony: http://eatraining.eu/ 11

Obszary zastosowania BPMN (3) Koncentruje się na sekwencji procesu z trzema rodzajami podprocesów: Abstrakcyjne (publiczne) procesy Przykład: Ze strony: http://eatraining.eu/ 12

Obszary zastosowania BPMN (4) Koncentruje się na sekwencji procesu z trzema rodzajami podprocesów: Procesy współpracy (globalne) Ilustrują interakcję między dwoma lub więcej partnerami biznesowymi Sekwencja czynności pokazująca wymianę wiadomości między jednostkami» Punkty styku aktorów» Rzeczywiste (wykonywalne) procesy zazwyczaj mają więcej czynności i szczegółów niż abstrakcyjne procesy współpracy Dwa lub więcej abstrakcyjnych procesów komunikujących się wzajemnie Możliwe jest mapowanie indywidualnego procesu współpracy na różne języki współpracy ebxml BPSS, RosettaNet, ipt Ze strony: http://eatraining.eu/ 13

Obszary zastosowania BPMN (5) Koncentruje się na sekwencji procesu z trzema rodzajami podprocesów: Procesy współpracy (globalne) Przykład: Ze strony: http://eatraining.eu/ 14

Elementy graficznej notacji: zdarzenia, aktywności Zdarzenie Pojawia się w trakcie przebiegu procesu. Ma wpływ na jego przebieg. Zazwyczaj wyzwala lub jest efektem jakiegoś działania. Aktywność (czynność) Reprezentuje pracę wykonywaną wewnątrz procesu biznesowego. Elementarne (atomowe) i złożone (nieatomowe). Rodzaje aktywności: proces, podproces, zadanie. Proces nie ma symbolu bo jest zbiorem obiektów graficznych. Rodzaje zdarzeń zdarzenie początkowe (startowe) zdarzenie przejściowe (pośrednie) zdarzenie końcowe Rodzaje aktywności Zadanie Ze strony: http://eatraining.eu/ 15

Elementy graficznej notacji: procesy i podprocesy Podproces Nazwa Nazwa Podproces w widoku szczegółowym Jest aktywnością, która zawiera inne aktywności (procesy). Jasno określone granice. Ze strony: http://eatraining.eu/ 16

Elementy graficznej notacji: obiekty decyzyjne / bramy Brama Element modelujący Stosowana w kontrolowaniu zachowania przepływu sekwencji w momencie schodzenia i/lub rozchodzenia Określa różne rodzaje zachowań procesów w przepływie sekwencji: Decyzje / rozgałęzienia Złączanie Rozwidlanie Łączenie Rodzaje bram lub Rozłączna oparta o dane Rozłączna oparta o zdarzenia Łączna Złożona Równoległa Ze strony: http://eatraining.eu/ 17

Elementy graficznej notacji: rozdzielanie, łączenie Rozdzialenie Niekontrolowane (OR) Łączenie Kontrolowane (AND) Ze strony: http://eatraining.eu/ 18

Elementy graficznej notacji: przepływy sekwencji Normalna sekwencja Sekwencja z warunkami sprawdzanymi w trakcie działania Domyślna ścieżka w rozłącznych bramach opartych na danych Przykład niekontrolowany Ze strony: http://eatraining.eu/ 19

Elementy graficznej notacji: przepływy wiadomości, powiązania Przepływ wiadomości Wymiana wiadomości między dwoma stronami Uczestnicy są reprezentowani w obszarach wspólnych Powiązania Reprezentują połączenia między elementami sekwencji oraz spoza niej, takimi jak: teksty, informacje Nieskierowane Skierowane Ze strony: http://eatraining.eu/ 20

Nazwa Nazwa Nazwa Nazwa Elementy graficznej notacji: obszary wspólne, tory Obszary wspólne (Pools) Uczestnicy Zazwyczaj współpraca B2B Tory (Swimlanes) Proste grupowanie obszarów wspólnych Ze strony: http://eatraining.eu/ 21

Rozszerzenie podstawowych elementów notacji: zdarzenia [1/3] Przechwytujące Początkowe Przejściowe Wyrzucające Przejściowe Końcowe Wiadomości Wyzwalacz lub rezultat Zegar Określenie ograniczeń czasowych na wejściowych lub przejściowych rezultatach Błąd Z przejściowymi rezultatami lub na końcu Kasowanie procesu Ze strony: http://eatraining.eu/ 22

Rozszerzenie podstawowych elementów notacji: zdarzenia [3/3] Przechwytujące Początkowe Przejściowe Wyrzucające Przejściowe Końcowe Zakończenie procesu Złożony Istnieje wiele możliwości rozpoczęcia lub wiele konsekwencji zakończenia procesu Ze strony: http://eatraining.eu/ 23

Rozszerzenie podstawowych elementów notacji: zdarzenia [2/3] Przechwytujące Początkowe Przejściowe Wyrzucające Przejściowe Końcowe Kompensacja Alternatywne ścieżki wykonania Warunkowe Rezultatem początku / przejścia są warunki Powiązanie Odniesienie do innego procesu, aktywności, zasobu Sygnał Alarm Ze strony: http://eatraining.eu/ 24

Przykład użycia rozszerzonych elementów Ze strony: http://eatraining.eu/ 25

Przykład użycia rozszerzonych elementów: warunki, ścieżki Ze strony: http://eatraining.eu/ 26

Modele przepływu- Porównanie WorkFlow Patterns BPEL WSCI XLANG WSFL EPC UML 2.0 BPMN Web Bond 1. Sequence + + + + + + + + 2. Parallel split + + + + + + + + 3. Synchronization + + + + + + + + 4. Exclusive choice + + + + + + + + 5. Simple merge + + + + + + + + 6. Multi choice + - - + + + + + 7. Synchronizing merge + - - + + + + + 8. Multi merge - + - - - + + + 9. Discriminator - - - - - + + + 10. Arbitrary cycle - - - - + + + + 11. Implicit termination + + - + + + + + 12. MI without synchronization + + + + - + + + 13. MI with a prior design time knowledge + + + + - + + + 14. MI with a prior runtime knowledge - - - - - + + + 15. MI without a prior runtime knowledge - - - - - + + + 16. Deferred choice + + + - - + + + 17. Interleaved parallel routing + - - - - + + + 18. Milestone - - - - - + + + 19. Cancel activity + + + + - + + + 20. Cancel case + + + + - + + + 27

Przykład aplikacji złożonej Przyjęcie nowego pracownika Ochestration * Interfejs Kadry Płace E-mail Usługa biznesowa *orkiestracja, instrumentacja (pol.) - 1. muz. opis partyturowy użycia poszczególnych instrumentów w utworze orkiestrowym. 28 28

Wykonanie instrumentacji Przekształcenie zapisu graficznego w kod wykonywalny Przekształcenie zapisu graficznego do zapisu w języku zorientowanym na procesy i wykonanie takiego zapisu w specjalizowanym silniku BPEL propozycja IBM i Microsoft Business Process Execution Language 29 29

Wersje BPEL v1.0 - BPEL4WS 08. 2002 v1.1 2003 v2.0 WSBPEL 2007, OASIS 30 30

Struktura procesu w BPEL4WS <process...> <partners>... </partners> <!-- Web services the process interacts with --> <containers>... </containers> <! Data used by the process --> <correlationsets>... </correlationsets> <! Used to support asynchronous interactions --> <faulthandlers>... </faulthandlers> <! Alternate execution path to deal with faulty conditions --> <compensationhandlers>... </compensationhandlers> <! Code to execute when undoing an action --> (process body) <! What the process actually does --> </process> 32 32

BPEL Podstawowe aktywności <invoke partner=... porttype=... operation=... inputcontainer=... outputcontainer=... /> <!-- process invokes an operation on a partner: --> <receive partner=... porttype=... operation=... container=... [createinstance=... ]/> <!-- process receives invocation from a partner: --> <reply partner=... porttype=... operation=... container=... /> <!-- process send reply message in partner invocation: --> <assign> <copy> <from container=... /> <to container=... /> </copy>+ </assign> 33 <! Data assignment between containers: --> 33

BPEL i WSDL Partner B Partner A WSDL Komunikacja synchroniczna Process WSDL A 34 34

BPEL i WSDL Partner B Partner A WSDL A Komunikacja asynchroniczna 35 35

Partner Definitions and Links <partner name=... servicelinktype=... partnerrole=... myrole=... /> <! A partner is accessed over a WS channel, defined by a service link type --> <servicelinktype name=..."> <role name=..."> <porttype name=..."/>* </role> <role name=..."> <porttype name=... />* </role> </servicelinktype> <! A SLT defines two roles and the porttypes that each role needs to support --> 36 36

BPEL - model danych Globally scoped data variables typed as WSDL messages Activities input/ output is kept in global variables. Assignment activities move data around. <container name=... message=... />* 37 37

BPEL kompozycja Web Services Component B Process WSDL Component A B s WSDL A s WSDL Call Back 38 38

Podstawowe aktywności <throw faultname=..." faultcontainer=... /> <!-- process detects processing error and switches into fault processing mode --> <terminate/> <! pull the plug --> <wait for=...? until=...?/> <!-- process execution stops for a specified amount of time--> <empty> <! Do nothing; a convenience element --> 39 39

BPEL kontrola przepływu <sequence> <! execute activities sequentially--> <flow> <! execute activities in parallel--> <while> <! iterate execution of activities until condition is violated--> <pick> <! several event activities (receive message, timer event) scheduled for execution in parallel; first one is selected and corresponding code executed. --> <link...> <! defines a control dependency between a source activity and a target --> 40 40

Zagnieżdżanie struktur <sequence> <receive.../> <flow> <sequence> <invoke.../> <while... > <assign>... </assign> </while> </sequence> <sequence> <receive.../> <invoke... > </sequence> </flow> <reply> </sequence> Seq Flow Seq Whil e Seq 41 41

BPEL - wady Brak notacji dla niezależnych aktywności Wszystko w BPEL-u jest operacją web service a nie aktywnością (np. jednostką pracy) Brak modelowania interakcji z człowiekiem Współpracujące aktywności komunikują się wzajemnie (w efekcie wiele dokumentów BPEL dla pojedynczego procesu) BPEL może reprezentować wielostronną współprace tylko poprzez centralne sterwoanie 42 42

43 43

Executable Process Models Target Values Measures for Improvement Po co to? Organizational Analysis AS IS Process Models Process Analysis & Design TO BE Process Models Abstract Models EPC, BPMN Communication, simulation, activitybased costing Process Evaluation Process Metrics Process Enactment & Monitoring Process Implementation Detailed Models BPEL, State Machines Data types, conditions, data mappings, fault handling Integration, testing, deployment 44

Pojęcia Orchestration describes the automated arrangement, coordination, and management of complex computer systems, middleware, and services. Choreography - collaboration protocols of cooperating Web Service participants, in which services act as peers, and interactions may be long-lived and stateful Instrumentacja wykonywalny proces, opierający się na wymianie komunikatów z innym systemem centralnie sterowny Choreografia (sekwencja) Specyfikuje protokół interakcji serwisu z serwisem, sekwencji wymiany komunikatów Taki protokół może być różnie realizowany Choreografia może być realizowana poprzez napisanie instrumentalizacji 45

WS-CDL Web Services Choreography Description Language W3C XML Mówią że oparty na PI-calulus (nie prawda) 46

WS-CDL 47

WS-CDL Package Package - root Target namespace Zawiera choreografie <package name="ncname" author="xsd:string"? version="xsd:string" targetnamespace="uri" xmlns="http://www.w3.org/2004/04/ ws-chor/cdl"> importdefinitions* informationtype* token* tokenlocator* role* relationship* participant* channeltype* Choreography-Notation* </package> 48 48

Dane Channel For communication with a participant Dynamic, actual endpoint in data Can be passed around Variables Information exchange, state, channel variables Reside in Roles 49

Participants & Roles Roles Enumerate behaviors, optionally linked to WSDL interfaces Participants Play one or more roles Apparently not used in WS-CDL Relationships Associate specific behaviors of two roles for a purpose Complex relationships broken down to pairs 50 50

Choreography <choreography name="consumerretailerchoreo" root="true"> <relationship... /> * <variabledefinitions> <variable... /> * </variabledefinitions>?... <! - local choreographies --> <interaction initiatechoreography="true">... </interaction> <exception>... </exception>? <finalizer>... </finalizer>? </choreography> 51

52

Przyjkład Buyer Seller Buyer Seller getquote quoteresponse getquote quoterejected x < 1000 units >= 1000 units 53

Przykład 54

Przykład 55

Relationships i Participants 56

Channels i Info types 57

Variables 58

Interactions 59

Choice 60

Workunits 61

Struktury - PI4Tech 62

WS-CDL w praktyce PI4SOA Przykłady WS-CDL-a DESEREC 63