22
Vzory interakce zpráv v komponent ˇ e „BPEL Process“ Marek Rychlý Vysoké uˇ cení technické v Brn ˇ e Fakulta informaˇ cních technologií Ústav informaˇ cních systém ˚ u rednáška pro IOA 5. listopadu 2014 Marek Rychlý Vzory interakce zpráv v komponent ˇ e „BPEL Process“ — Pˇ rednáška pro IOA, 5. listopadu 2014 1 / 25

Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Vzory interakce zprávv komponente „BPEL Process“

Marek Rychlý

Vysoké ucení technické v BrneFakulta informacních technologií

Ústav informacních systému

Prednáška pro IOA5. listopadu 2014

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 1 / 25

Page 2: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Obsah

1 Orchestrace služeb s asyncrhonním volánímAktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

2 Techniky korelace asynchronních zprávWS-AddressingCorrelation SetsProblémy pri korelaci zpráv

3 Shrnutí a záver

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 2 / 25

Page 3: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Aktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

Orchestrace služeb a „BPEL Process“ komponenta(opakování ze 4. prednášky)

Orchestruje napojené komponenty/služby pomocí vlastní logiky.(komponenta je vhodná pro implementaci business procesu/služeb)

Logika orchestrace zapsána v jazyce BPEL v1.1 nebo BPEL v 2.0.(BPEL v1.1 aka BPEL4WS a BPEL v2.0 aka WS-BPEL jsou standardizovány)

BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN.(BPMN modely jsou prevoditelné do BPEL, ikdyž to je pak velmi špatne citelné)

(diagram prevzat z „Oracle SOA Suite 11g: Essential Concepts“)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 4 / 25

Page 4: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Aktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

Prehled strukturovaných aktivit v BPEL procesu(opakování z 6. prednášky)

(diagram prevzat z „Next Generation Web Services in Practice“)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 5 / 25

Page 5: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Aktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

Prehled základních aktivit v BPEL procesu(opakování z 6. prednášky)

(diagram prevzat z „Next Generation Web Services in Practice“)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 6 / 25

Page 6: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Aktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

Synchronní a asynchronní volání služeb(opakování z 6. prednášky)

Pri synchronním volání (typicky krátce pracující) službypredány parametry operaci volané službya obdržena návratová hodnota prípadne zpráva o chybe.(po vyvolání služby její klient ceká/je blokovaný až do prijetí odpovedi)

Pri asynchronním volání (typicky dlouze pracující) službypredány parametry operaci volané službypokud návratová hodnota, tak obdržena pozdeji pomocí „callback“.(po volání služby klient pokracuje, ceká až/pokud vubec potrebuje odpoved’)

(diagram prevzat z „Asynchronous vs. Synchronous BPEL process“)Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 7 / 25

Page 7: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Aktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

Asynchronní volání služby v BPEL procesu

(diagram prevzat z „Oracle BPEL Process Manager Developer’s Guide 10g“)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 8 / 25

Page 8: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Aktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

Problémy pri asynchronním volání služeb

Požadavek na službu a odpoved’ samostatnými HTTP voláními.(volání požadavku i callback pomocí HTTP metody „POST“ s prázdnou odpovedí)

Protokol HTTP bezestavový, nelze sdružit volání do „session“.(nelze poznat, který „callback“ souvisí se kterým puvodním požadavkem)

Kontejner, kde beží BPEL engine prijímající volání, musí umetpriradit do procesu prijatou zprávu na správnou aktivitu „receive“,(zejména odlišit zprávu zacínající novou instanci BPEL procesu, tj.prijímanou prvním „receive“ procesu, a zprávu koncící to správnéasynchronní volání orchestrované služby, tj. prijímanou jako „callback“ tímsprávným „receive“ následujícím po príslušném „invoke“)

priradit prijatou zprávu té správné instanci BPEL procesu.(proces je typicky v jednom okamžiku používán mnoha klienty, tj. existujemnoho soubežných instancí BPEL procesu v ruzných stavech jeho prubehu)

Instance cekající na „callback“ mohou být docasne pozastaveny.(tzv. „Dehydration Point“ na obrázku na predchozí stránce)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 9 / 25

Page 9: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Aktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

Príklad BPEL procesu s asynchronním volánímWSDL dokument volané služby

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"targetNamespace="http://mybank.com/UnitedLoan" ...>...<portType name="LoanService"><operation name="initiate"><input name="request" message="tns:LoanServiceRequestMessage"/>

</operation></portType><portType name="LoanServiceCallback"><operation name="onResult"><input name="result" message="tns:LoanServiceResultMessage"/>

</operation></portType>

<plnk:partnerLinkType name="LoanService"><plnk:role name="LoanServiceProvider"><plnk:portType name="tns:LoanService"/>

</plnk:role><plnk:role name="LoanServiceRequester"><plnk:portType name="tns:LoanServiceCallback"/>

</plnk:role></plnk:partnerLinkType>...

</definitions>

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 10 / 25

Page 10: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Aktivity BPEL související s orchestracíAsynchronní volání orchestrovaných služebPríklad BPEL procesu s asynchronním voláním

Príklad BPEL procesu s asynchronním volánímBPEL proces volající službu

<bpel-process id="LoanBroker"src="LoanBroker.bpel" wsdlLocation="LoanBroker.wsdl"><properties id="LoanService"><property name="wsdlLocation">http://mybank.com/UnitedLoan?wsdl</property>

</properties><partnerLink name="LoanService" partnerLinkType="services:LoanService"myRole="LoanServiceRequester" partnerRole="LoanServiceProvider"/>

</partnerLinks><variables><variable name="request" messageType="services:LoanServiceRequestMessage"/><variable name="response" messageType="services:LoanServiceResultMessage"/>

</variables><sequence><receive name="receiveInput" partnerLink="client" variable="input"portType="tns:LoanBroker" operation="initiate" createInstance="yes"/>

...<invoke name="invoke" partnerLink="LoanService" inputVariable="request"portType="services:LoanService" operation="initiate"/>

...<receive name="receiveCB" partnerLink="LoanService" variable="response"portType="services:LoanServiceCallback" operation="onResult"/>

...</sequence>

</bpel-process>

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 11 / 25

Page 11: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Korelace asynchronních volání služeb

Korelace = vzájemná souvislost/souvztažnost/interakce.(príchozích a odchozích zpráv v rámci jednoho BPEL procesu)

Nutno priradit zprávy k instancím/vláknum bežících procesu.(príchozí zpráva musí nést informaci, která se použije pro výber instance/vlákna)

1 WS-Addressing(v hlavicce volání je adresa callback operace a identifikátor zprávy)

2 Correlation Sets(zprávy razeny do množinna základe obsahu a ty pak k instancím procesu)

(diagram prevzat z „Patterns and Strategies for Building Document-Based Web Services“)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 13 / 25

Page 12: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Web Services Addressing (WS-Addressing)

W3C specifikace pro adresování SOAP zpráv.(zpusob identifikace „endpoints“ webových služeb a jejich adresace ve zprávách)

Adresát zprávy v SOAP hlavicce, ne v transportním protokolu.(nemusí být shodný s HTTP serverem, ten muže být napr. proxy ci ESB službou)

<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"><S:Header><wsa:MessageID>uuid:aaaabbbb-cccc-dddd-eeee-ffffffffffff</wsa:MessageID><wsa:ReplyTo><wsa:Address>http://mybank.com/LoanBroker/LoanServiceCallback

</wsa:Address></wsa:ReplyTo><wsa:To>http://mybank.com/UnitedLoan/LoanService</wsa:To><wsa:Action>http://mybank.com/UnitedLoan/LoanService/request</wsa:Action>

</S:Header><S:Body>...

</S:Body></S:Envelope>

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 14 / 25

Page 13: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Adresace v rámci WS-Addressing

Adresát SOAP zprávy urcen elementy <to/> a <action/> jakoURI operace daného poskytovatele služby(dle „operation“/„soapAction“ v popisu „binding“ WSDL dokumentu služby)a URI akce definující sémantiku volání operace.(identifikující vstupní/výstupní zprávy operace v „portType“ WSDL služby)

Operace a akce tedy dle WSDL popisu služby adresáta zprávy.(URI akce implicitne „[targetNamespace]/[portType name]/[input|output name]“))

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"targetNamespace="http://mybank.com/UnitedLoan" ...>...<portType name="LoanService"><operation name="initiate">

<input name="request" message="tns:LoanServiceRequestMessage"wsa:Action="http://mybank.com/UnitedLoan/LoanService/request"/>

</operation></portType><portType name="LoanServiceCallback"><operation name="onResult">

<input name="result" message="tns:LoanServiceResultMessage"wsa:Action="http://mybank.com/UnitedLoan/LoanService/result"/>

</operation></portType>...

</definitions>

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 15 / 25

Page 14: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Volání „callback“ operace s použitím WS-Adressing

Krome adresáta zprávy obsahuje každá SOAP hlavicka ID zprávy.(v elementu <MessageID/>, napr. jako „universally unique identifier“ (UUID))

Pri „callback“ obsahuje hlavicka také ID zprávy puvodní zprávy.(tj. ID puvodní zprávy drívejšího asynchronního volání, na kterou odpovídá zprávavolání „callback“ operace; v elementu <RelatesTo/>)

<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"><S:Header><wsa:MessageID>uuid:aaaabbbb-cccc-dddd-ffff-eeeeeeeeeeee</wsa:MessageID><wsa:RelatesTo>uuid:aaaabbbb-cccc-dddd-eeee-ffffffffffff</wsa:RelatesTo><wsa:To S:mustUnderstand="1">http://mybank.com/LoanBroker/LoanServiceCallback

</wsa:To><wsa:Action>http://mybank.com/UnitedLoan/LoanService/result</wsa:Action>

</S:Header><S:Body> ... </S:Body>

</S:Envelope>

( „mustUnderstand“ ríká, že príjemce musí elementu porozumet, jinak vrátit chybu)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 16 / 25

Page 15: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

WS-Addressing pri ansynchroním volání s „callback“

(diagram prevzat z „Oracle BPEL Process Manager Developer’s Guide 10g“)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 17 / 25

Page 16: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Množiny korelací (Correlation Sets)

WS-Addressing se nehodí v prípadech, kdyna jedno volání služby odpoví tato více „callback“ voláními,(a chceme jednotlivé „callback“ volání odlišit, napr. daným poradím)BPEL proces ceká na dodatecné/doplnující informace od klienta.(napr. sekvence operací „NewUserSignUp“ a „EnterVerifCodeSentByEmail“)

„Correlation Sets“ (CSs) seskupují volitelne volání a príjem zpráv.(tzn. umožnují priradit aktivity „invoke“ a „receive“ do daných korelacních množin)

Seskupení zpráv probíhá na základe jejich obsahu, ne hlavicek.

Odchozí zprávou je prirazena instance procesu do dané CS.(odchozí zpráva je prozkoumána a vyhoující data urcí príslušnou CS)

Príchozí zpráva je namapována na CS a predánacekající/prijímající instanci procesu v této množine.(príchozí zpráva je prozkoumána a vyhoující data urcí príslušnou CS)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 18 / 25

Page 17: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Correlation Set Property & Property Aliases

Hodnoty „Correlation Set Property“ (CSP) urcují CS.(tzn. stejné hodnoty CSP znamenají stejnou CS a tedy i stejnou instanci procesu)

Každá CSP je dána názvem a datovým typem.

Každá CS má prirazenu/je urcna hodnotami skupiny CSP.(napr. CS „UserRegistration“ má prirazenu CSP „RegisteringUserLogin“)

Každý „invoke“1/ „receive“/„reply“ muže být prirazen k CSs.(toto sdružuje aktivity „invoke“/„receive“/„reply“ do korelacních množin)

Aktivity „invoke“/„receive“/„reply“ mohou inicializovat CS.(pak je daná aktivita první v dané CS, definuje vlastnosti CS pro ostatní aktivity)

Pro každou CSP nutný „Property Alias“, mapování na data zpráv.v inicializujících aktivitách ríká jak z dat naplnit danou CSP v CS,v ostatních ríká s jakými daty zpráv porovnávat CSP pro výber CS.

1u „invoke“ lze navíc urcit, které zprávy se CS týká; tj. request/responseMarek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 19 / 25

Page 18: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Correlation Set, Property, Property Aliases

CS, CSP a PA jsou vlastnosti instance komponenty „BPEL Process“(v aplikaci jDeveloper se nastavují v nástrojovém panelu BPEL editoru)

CS urcuje seskupení príchozích a odchozích volání v rámci procesu.(každou aktivitu týkající se volání lze priradit do CSs)

CSP urcuje atributy, které definují dané CS.(inicializovaná CS pak má nastaveny hodnoty svých CSP)

PA urcuje mapování CSP na obsah XML zpráv volání.(jak ze zprávy inicializovat CS ci jak poznat, ke kterým CS aktivita patrí)

(diagram prevzat z „ActiveVOS Designer Online Help V7.0.1, Correlation“) (diagram prevzat z „SOA for the Business Developer: Concepts, BPEL, and SCA“)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 20 / 25

Page 19: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Korelace zpráv a revize SCA aplikací

SCA aplikace se nasazuje/deploy na server s císlem revize.(nové verze implementace aplikace mají vyší císlo revize, než verze staré)

Staré, na serveru již bežící, revize se nemažou.(klienti si mohou pri volání webových služeb vynutit kompativilní revizi)

Nové revize se typicky stávají implicitními/default.(pokud neuvedou klienti císlo požadované revize, komunikují s default revizí služby)

Korelace muže mít problémy s bežícími revizemi služeb:1 BPEL proces v SCA aplikaci revize A zavolá asynchronne službu,

(po dopokncení zpracování požadavku ceká BPEL proces na „callback“)2 na server je nahrána/deployed nová revize BPEL procesu B > A,

(nová revize se stane implicitní/default)3 dríve volaná služba se pokusí provést „callback“ na BPEL proces,4 SCA kontejner prijme „callback“ volání a protože je bez císla

revize, predá ho instanci BPEL procesu revize B, ne puvodní A.5 ⇒ chyba, protože instance B takový „callback“ neceká.

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 21 / 25

Page 20: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

WS-AddressingCorrelation SetsProblémy pri korelaci zpráv

Korelace zpráv a revize SCA aplikacívysvetlení a korekce

Každá inicializovaná „Correlation Set“ má tzv. „Conversation ID“.(vypocítané na základe zpravy zpracovávané aktivitou inicializující CS a názvu CS)

„Callback“ zpráva je smerována na instanci BPEL procesu podle„Conversation ID“,jména operace volané webové služby,jména volané BPEL komponenty.

Problémem je stejná zpráva a název inicializující CS a stejnepojmenovaná operace nad BPEL komponentou stejného jména.(stejné u SCA aplikaci ruzných revizí; SCA kontejner neví kam zprávu dorucit)

V prípade problému, nastavit „Conversation ID“ pro každouinstanci rucne z dat zprávy použité pri inicializaci.(napr. na hodnotu „orderNo ∗ 1000 + revisionID “, atp.)

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 22 / 25

Page 21: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Orchestrace služeb s asyncrhonním volánímTechniky korelace asynchronních zpráv

Shrnutí a záver

Shrnutí a záver

Korelace zpráv asynchronních volání duležitá pro prijetí príchozí zprávysprávnou aktivitou „receive“ ve správné instanci BPEL procesu.

Korelace v BPEL procesu pomocí WS-Addressing a „Correlation Sets“.

WS-Addressing mapuje zprávy požadavku na odpovedi („callbacks“)pomocí speciálních elementu SOAP hlavicky.

„Correlation Sets“ umožnují seskupit „invoke“/„receive“/ „reply“ aktivity nazáklade SOAP tela/obsahu zpráv.

Príšte?

BPEL aktivity „Pick“ a „FlowN“, transakce v BPEL procesech.(proces zacínající príjmem jedné z více zpráv, dynamické spojení na partnery, . . . )

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 24 / 25

Page 22: Vzory interakce zpráv v komponente BPEL Processrychly/public/docs/slides-msg-inter-patterns/slides... · BPEL nemá stanovenou grafickou notaci, narozdíl od BPMN. (BPMN modely

Podekování

Tento predmet byl podporen projektem MŠMTCZ.1.07/2.2.00/15.0163 „Vzdelávání v IT pro praxi“.

Marek Rychlý Vzory interakce zpráv v komponente „BPEL Process“ — Prednáška pro IOA, 5. listopadu 2014 25 / 25