2007 IBA Group 2009 FI MU PV207 Business Process Management BPEL 26. 3. 2009 Petr Vašíček 2007 IBA Group Obsah přednášky Úvod do WS-BPEL Verze BPEL Orchestrace vs. Choreografie Struktura BPEL dokumentu BPEL aktivity NetBeans IDE OpenESB Příklad ­ Webová aplikace + BPEL + EJB 2007 IBA Group WS-BPEL (1) Web Services ­ Business Process Executional Language Výslovnost ,,bipple" nebo ,,B-pel" XML jazyk pro specifikování procesů na vykonatelné úrovni Platform-independent Silná podpora od velkých hráčů 2007 IBA Group WS-BPEL (2) Orchestrace webových služeb BPEL jako webová služba Podpora pro dlouho běžící procesy Běhové prosředí Abstraktní vs. vykonatelné procesy 2007 IBA Group Verze BPEL BPEL4WS 1.0 (červenec 2002) Původní návrh od BEA, IBM a Microsoft Spojuje myšlenku WSFL (IBM) a XLANG (MS) BPEL4WS 1.1 (květen 2003) Revidovaný návrh předložený OASIS WS-BPEL 2.0 (prosinec 2005, ratifikace duben 2007) Nové elementy (forEach, repeatUntil...) Přejmenování (switch/case -> if/else, terminate->exit) Inicializace proměnných Několik dalších změn... 2007 IBA Group Orchestrace vs. Choreografie Choreografie Není centrální koordinátor Každá služba ví s kým interaguje Účastníci znají business proces Orchestrace Centrální koordinátor (proces) Zodpovědnost za proces Služby neví, že jsou součástí Možnost náhradních scénářů 2007 IBA Group Struktura BPEL Dokumentu 2007 IBA Group BPEL aktivity Basic activities Structured acivities 2007 IBA Group BPEL ­ Příklad schématu (1) 2007 IBA Group BPEL ­ Příklad schématu (2) 2007 IBA Group Základní aktivity Receive Zastaví proces a čeká na příchod specifikované zprávy Reply Zašle zprávu jako odpověď na dříve přijatou zprávu Invoke Vyvolá WS operaci typu one-way nebo request-response Assign Manipulace s proměnnými Kopírování pomocí elementů , a 2007 IBA Group Základní aktivity Wait Zastaví proces na určitý časový interval Je učeno buďto jak dlouho má proces čekat nebo do kdy (datum) Throw Vyvolá výjimku uvnitř business procesu Empty Značí, že není definována žádná akce Exit Okamžitě ukončí vykonávání instance business procesu 2007 IBA Group Strukturované aktivity Sequence Obsahuje aktivity, jež jsou spouštěny sekvenčně Flow Obsahuje aktivity, jež jsou spouštěny paralelně If-else Vybere jednu větev podle pravdivostního výrazu Pick Zastaví proces a čeká na příchod první z více definovaných událostí Událostí může být: Příchod zprávy (Receive) Vypršení časového limitu (Wait) 2007 IBA Group Strukturované aktivity While Obsažené aktivity jsou opakovány, dokud platí určitý predikát RepeatUntil Obsažené aktivity jsou opakovány, dokud neplatí určitý predikát ForEach Obsažené aktivity jsou vykonány sekvenčně či paralelně Počet opakování kontrolován čítačem Scope Obsažené aktivity mají vlastní lokální proměnné, event handlery a fault handlery 2007 IBA Group BPEL ­ Příklad (1) 2007 IBA Group BPEL ­ Příklad (2) $variable = 1 $variable = 2 2007 IBA Group OpenESB Implementace JBI (JSR-208) Podniková sběrninice služeb (Enterprise Service Bus) Modul v aplikačním serveru Glassfish Součástí je běhové prostředí pro BPEL (WS-BPEL Service Engine) 2007 IBA Group NetBeans IDE Vývojové prostředí od Sun Microsystems Obsahuje BPEL Designer pro modelování procesu v jazyce WS-BPEL Implementovaný proces lze přímo nasadit do běhového prostředí 2007 IBA Group Demo ­ NetBeans & OpenESB 2007 IBA Group Co bude příště... Loops Correlation sets Fault handlers Event handlers Scopes