2007 IBA Group 2008 FI MU PV207 Business Process Management Pokročilé modelování v BPEL 2. 4. 2009 Petr Vašíček 2007 IBA Group Obsah přednášky Opakování BPEL Příklad ­ proces žádostí Correlation sets Pick Scopes Event handlers Fault handlers Shrnutí & domácí úloha 2007 IBA Group Náplň následujících přednášek 9. 4. - Modelování v BPEL 16. 4. - IBM Websphere 23. 4. - IBM Websphere 30. 4. - Intalio | BPMS 7. 5. - Projekt 14. 5. - Projekt 21. 5. - Projekt 2007 IBA Group Opakování - BPEL Co je to WS-BPEL? Jak BPEL využívá webové služby? Orchestrace vs. Choreografie Dva typy BPEL aktivit Jak vypadá BPEL projekt (např. v NetBeans)? 2007 IBA Group Opakování - BPEL aktivity Basic activities Structured acivities 2007 IBA Group Příklad ­ Proces žádostí (BPMN) 2007 IBA Group Demo ­ NetBeans & OpenESB http://www.fi.muni.cz/~xvasice5/RequestExample.zip 2007 IBA Group Correlation set Dlouho trvající procesy = více vstupů Synchronizace příchozí zprávy s konkrétní instancí procesu WSDL Property PropertyAlias /ns:approveRequest/ns:requestId BPEL CorrelationSet Inicializace ­ Receive, Invoke, Reply Napojení - Receive, OnMessage, OnEvent 2007 IBA Group Pick 2007 IBA Group Demo ­ NetBeans & OpenESB Correlations & Pick 2007 IBA Group Scopes Rozdělení procesu do více částí Obsahuje aktivity Hlavní scope = process scope V rámci jednoho scope: Lokální proměnné Lokální fault handlery Lokální event handlery Lokální compensation handlery 2007 IBA Group Event handlers Událost může přijít kdykoli v daném scope OnEvent / OnAlarm 2007 IBA Group Demo ­ NetBeans & OpenESB Scopes & Event handler 2007 IBA Group Fault handlers Odchytí výjimku v daném scope Pro dokočení sekvence ve fault handleru pokračuje proces do následujícího scope 2007 IBA Group Demo ­ NetBeans & OpenESB Fault handler 2007 IBA Group Co už jsme v příkladech použili? Receive, Invoke, Reply If, RepeatUntil Pick (OnMessage & OnAlarm) Correlation set Fault handlers, Event handlers (OnMessage) Scopes, Throw, Exit BPEL Variables Debugging Test cases 2007 IBA Group Domácí úloha - zadání Namodelujte libovolný (jednoduchý) proces v BPEL, včetně backendu, jehož funkcionalita bude přístupná přes webovou službu. Proces musí splňovat následující: Musí mít alespoň dva vstupy (použití Correlation Set) Musí v něm být použity elementy If a Pick Na každý vstup do procesu bude v kompozitní aplikaci vytvořen Test Case Použití klientské aplikace je volitelné Úkol bude kontrolován na příští přednášce a bude započítán do konečného hodnocení Při neúčasti uložit všechny části aplikace v ZIP do odevzdávárny nejpozději v úterý 7.4. Zdroje pro inspiraci ­ NetBeans Dev Guide, příklady z přednášek ve stud. materiálech