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



Podobne dokumenty
Implementacja aplikacji biznesowych w technologii WS-BPEL

Język BPEL. Bussiness Process Execution Language

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

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Mechanizmy pracy równoległej. Jarosław Kuchta

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

Wykorzystywanie parsera DOM w programach Java i PL/SQL

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

Przykład połączenie z bazą danych

Usługi sieciowe (Web Services)

Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe

Korporacyjna Magistrala Usług na przykładzie Mule ESB

1.KOMPOZYCJA I INTEGRACJA USŁUG W ARCHITEKTURZE SOA

Bazy danych 2. Wykład 1

Programowanie Komponentowe WebAPI

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

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

Hurtownie danych - przegląd technologii

Projekt z AZNU tutorial

Programowanie współbieżne i rozproszone

Aplikacje RMI

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Komunikacja i wymiana danych

Integracja Obieg Dokumentów - GiS Spis treści

Zaawansowane aplikacje internetowe

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

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

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

76.Struktura oprogramowania rozproszonego.

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

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

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

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

Kompozycja usług. Tomasz Pawlak. Biznesowe Systemy Rozproszone

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

Tworzenie aplikacji bazodanowych

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

SPECYFIKACJA WYMIANY DANYCH POMIĘDZY PROGRAMEM KS-APTEKA WINDOWS I SKLEPEM INTERNETOWYM FIRMY ZEWNĘTRZNEJ

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.

JBPM [JUG] Tomasz Gratkowski [GRATKOWSKI SOFTWARE]

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych)

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Część I Rozpoczęcie pracy z usługami Reporting Services

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

1 Wprowadzenie do J2EE

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

Aplikacje Internetowe, Servlety, JSP i JDBC

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

EJB 3.0 (Enterprise JavaBeans 3.0)

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Zaawansowane aplikacje internetowe - laboratorium

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

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Komunikacja systemów informatycznych przy pomocy usług sieciowych

Web Services (SOAP) Ćwiczenie 1

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

Programowanie obiektowe zastosowanie języka Java SE

System DiLO. Opis interfejsu dostępowego v. 2.0

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

Wprowadzenie. Dariusz Wawrzyniak 1

Delphi Laboratorium 3

Wybrane działy Informatyki Stosowanej

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Oracle Fusion Middleware

Język UML w modelowaniu systemów informatycznych

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Programowanie obiektowe

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Automatyzacja procesów biznesowych mgr inż. Krystyna Dziubich

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Technologie informacyjne - wykład 12 -

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Modelowanie procesów biznesowych BPMN cz. I

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Podejście obiektowe do budowy systemów rozproszonych

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

APIO. W4 ZDARZENIA BIZNESOWE. ZALEŻNOŚCI MIĘDZY FUNKCJAMI. ELEMENTY DEFINICJI PROCESU. DIAGRAM ZALEŻNOŚCI FUNKCJI.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Specyfikacja API Runtime BAS 3.0

Sterowniki Programowalne (SP)

Katalog książek cz. 3: Web Service

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Transkrypt:

Wykład 7 Implementacja procesów biznesowych w języku BPEL wykład prowadzi: Maciej Zakrzewicz BPEL Wymagania: 1

Plan wykładu Wprowadzenie do języka BPEL Definicja procesów BPEL z użyciem narzędzia Oracle JDeveloper implementacja prostego procesu wywołanie synchroniczne usługi Web Service wywołanie asynchroniczne usługi Web Service modelowanie procesów złożonych Instalacja i koordynacja procesów BPEL na platformie Oracle BPEL Process Manager Testowanie procesów BPEL za pomocą narzędzia Oracle BPEL Console BPEL (2) 2

Wprowadzenie do języka BPEL BPEL (3) 3

Język BPEL Business Process Execution Language (BPEL): deklaratywny język znaczników XML, służący do opisu wykonania procesów biznesowych korzystających z usług Web Services Powstał na podstawie dwóch wcześniejszych języków opisu systemów przepływu pracy (Workflow Systems): Web Services Flow Language (WSFL), język grafowy opracowany przez IBM XLANG, język blokowy zaprojektowany przez Microsoft Umożliwia realizację architektury SOA za pomocą technik aranżacji i choreografii usług Web Services Proste usługi Web Services wykorzystywane do budowania usług złożonych Procesy BPEL są koordynowane przez część serwera aplikacji nazywaną serwerem BPEL BPEL (4) 4

Aranżacja i choreografia usługa WebService Aranżacja usług usługa WebService koordynator usługa WebService usługa WebService usługa WebService Choreografia usług usługa WebService usługa WebService usługa WebService BPEL (5) 5

BPEL: realizacja procesu biznesowego plik BPEL Serwer BPEL aplikacja biznesowa usługi Web Services BPEL (6) 6

BPEL: Struktura pliku opisu procesu <process name="sampleproces"... > <partnerlinks> <partnerlink name="client".../> <partnerlink name="partnerisbnfinder".../> </partnerlinks> <variables> <variable name="inputvariable"... /> <variable name="outputvariable".../> <variable name="callisbnfinder_getisbn_inputvariable".../> <variable name="callisbnfinder_getisbn_outputvariable".../> </variables> <sequence name="main"> <receive name="receiveinput" partnerlink="client".../> <assign name="copytitle"> <copy> <from variable="inputvariable" part="payload".../> <to variable="callisbnfinder_getisbn_inputvariable" part="title"/> </copy> </assign> <invoke name="callisbnfinder" partnerlink="partnerisbnfinder".../>... BPEL (7) 7

BPEL: Najważniejsze znaczniki <invoke> -wywołanie usługi Web Service <receive> - oczekiwanie na wywołanie procesu biznesowego przez klienta <reply> - wygenerowanie odpowiedzi na wywołanie synchroniczne <assign> - podstawienie zmiennych <throw> - sygnalizowanie awarii i wyjątków <wait> - czasowe wstrzymanie wykonania <terminate> -zakończenie procesu biznesowego <sequence> -uporządkowana sekwencja akcji <flow> -współbieżne wykonanie akcji <switch> -rozgałęzienie sterowania <while> -konstrukcja pętli <pick> - wybór ścieżek alternatywnych <variable> - definicja zmiennej <partnerlink> -powiązanie z usługą Web Service BPEL (8) 8

BPEL: Platforma operacyjna Oracle wykonywanie instalacja BPEL Process Manager administracja BPEL Designer (JDeveloper) Oracle Application Server BPEL Console SOAP repozytorium SOAP aplikacje biznesowe usługi Web Services Oracle Lite Database / Oracle10g Database BPEL (9) 9

Implementacja prostego procesu BPEL (10) 10

Tworzenie nowego projektu BPEL Proces synchroniczny/asynchroniczny BPEL (11) 11

Tworzenie nowego projektu BPEL Pliki projektu "Pusty" proces Paleta komponentów BPEL Tryb: diagram/źródło bpel.xml - deskryptor instalacji procesu BPEL ProstyProces.bpel - opis procesu biznesowego w języku BPEL ProstyProces.wsdl - opis interfejsu usługowego procesu BPEL BPEL (12) 12

Struktura pustego projektu Początek procesu Oczekiwanie na wywołanie przez klienta Odbiór parametrów wywołania Klient - aplikacja biznesowa Wysłanie wyniku pracy do klienta Koniec procesu BPEL (13) 13

Przykład prostego procesu 1. Klient inicjuje proces, przekazując parametr wywołania w formie łańcucha znaków (np. "Maciej") 2. Proces dołącza do otrzymanego parametru słowo "Witaj" 3. Proces odpowiada klientowi przekazując nowy łańcuch znakowy (np. "Witaj Maciej") 4. Proces kończy pracę BPEL (14) 14

Operacja ASSIGN Zmień nazwę akcji BPEL (15) 15

Operacja ASSIGN Połącz słowo "Witaj" z wartością parametru wywołania procesu (XPath): concat("witaj ", bpws:getvariabledata('inputvariable', 'payload','/client:prostyprocesprocessrequest/client:input')) BPEL (16) 16

Przykład prostego procesu - ostateczna struktura BPEL (17) 17

Przygotowanie do instalacji Przygotuj plik instalacyjny BPEL (18) 18

Instalowanie definicji procesu na serwerze BPEL Process Manager BPEL (19) 19

Instalowanie definicji procesu na serwerze BPEL Process Manager BPEL (20) 20

Instalowanie definicji procesu na serwerze BPEL Process Manager BPEL (21) 21

Testowanie procesu Wprowadź parametr wywołania Inicjuj proces BPEL (22) 22

Testowanie procesu BPEL (23) 23

Usługi Web Services jako kroki procesów BPEL BPEL (24) 24

Deklaracja usługi Web Service Utwórz "PartnerLink" - deklarację istniejącej usługi Web Service BPEL (25) 25

Synchroniczne wywołanie usługi Web Service Nazwa obiektu "PartnerLink" związanego z usługą Nazwa metody Akcja "Invoke" służy wywołaniu metody usługi Web Service Automatycznie wygeneruj zmienne we-wy BPEL (26) 26

Przekazywanie parametrów Wartość parametru wywołania procesu przepisz do parametru wejściowego usługi Wynik usługi przepisz do parametru zwrotnego procesu BPEL (27) 27

Ostateczna struktura procesu Pobierz parametr wywołania procesu Kopiuj parametr wywołania procesu Wywołaj usługę Kopiuj wynik wykonania usługi Usługa zdalna Zwróć wynik realizacji procesu BPEL (28) 28

Kod źródłowy procesu BPEL - klient, usługa <partnerlinks> <partnerlink name="client" partnerlinktype="client:wssynchroproces" myrole="wssynchroprocesprovider"/> <partnerlink name="partnerisbnfinder" myrole="isbnfinderporttype_role" partnerrole="isbnfinderporttype_role" partnerlinktype="ns1:isbnfinderporttype_pl"/> </partnerlinks>... Plik.bpel BPEL (29) 29

Kod źródłowy procesu BPEL - zmienne... <variables> <variable name="inputvariable" messagetype="client:wssynchroprocesrequestmessage"/> <variable name="outputvariable" messagetype="client:wssynchroprocesresponsemessage"/> <variable name="callisbnfinder_getisbn_inputvariable" messagetype="ns1:getisbn0request"/> <variable name="callisbnfinder_getisbn_outputvariable" messagetype="ns1:getisbn0response"/> </variables>... Plik.bpel BPEL (30) 30

Kod źródłowy procesu BPEL - typy zmiennych... <types> <element name="wssynchroprocesprocessrequest"> <complextype><sequence> <element name="input" type="string"/> </sequence></complextype> </element> <element name="wssynchroprocesprocessresponse"> <complextype><sequence> <element name="result" type="string"/> </sequence></complextype> </element>... Plik.wsdl BPEL (31) 31

Kod źródłowy procesu BPEL - typy zmiennych... <types> <message name="getisbn0request"> <part name="title" type="xsd:string"/> </message> <message name="getisbn0response"> <part name="return" type="xsd:string"/> </message>... Plik.wsdl zdalnej usługi Web Service BPEL (32) 32

Kod źródłowy procesu BPEL - proces <receive name="receiveinput" partnerlink="client" variable="inputvariable" /> <assign name="copytitle"> <copy> <from variable="inputvariable".../> <to variable="callisbnfinder_getisbn_inputvariable".../> </copy> </assign> <invoke name="callisbnfinder" partnerlink="partnerisbnfinder" operation="getisbn" inputvariable="callisbnfinder_getisbn_inputvariable" outputvariable="callisbnfinder_getisbn_outputvariable"/> <assign name="copyisbn"> <copy> <from variable="callisbnfinder_getisbn_outputvariable".../> <to variable="outputvariable".../> </copy> </assign> <reply name="replyoutput" partnerlink="client" variable="outputvariable"/> BPEL (33) 33

Wykorzystywanie złożonych typów parametrów Dołącz XML Schema do projektu BPEL Przygotuj XML Schema Przejdź do edycji zmiennej Wskaż typ zmiennej BPEL (34) 34

Implementacja aplikacji-klienta BPEL (35) 35

Aplikacja-klient BPEL Proces BPEL zaimplementowany na platformie BPEL Process Manager może być traktowany jako złożona usługa Web Service o dokumentowym trybie komunikacji Narzędzie BPEL Console udostępnia plik WSDL opisujący interfejs takiej usługi-procesu Proces BPEL może być potraktowany jako usługa składowa innego procesu BPEL BPEL (36) 36

Pobranie pliku WSDL Korzystając z BPEL Console pobierz plik WSDL opisujący interfejs procesu BPEL. Załaduj plik WSDL do projektu JDevelopera. BPEL (37) 37

Generowanie klasy Stub Wygeneruj klasę Stub w oparciu o załadowany plik WSDL BPEL (38) 38

Kod źródłowy aplikacji-klienta import java.io.*; import java.util.*; Klasa Stub import oracle.xml.parser.v2.*; import org.apache.soap.util.xml.dom2writer; import org.w3c.dom.*;... WSSynchroProcesStub stub = new WSSynchroProcesStub(); String inputxml = "<WSSynchroProcesProcessRequest " + "xmlns=\"http://xmlns.oracle.com/wssynchroproces\">" + "<input>kod Leonarda da Vinci</input></WSSynchroProcesProcessRequest>"; DOMParser dp = new DOMParser(); dp.parse(new StringReader(inputXML)); XMLDocument xmldoc = dp.getdocument(); Element input = xmldoc.getdocumentelement(); Vector result = stub.process(input); StringWriter writer = new StringWriter(); for (Enumeration e = result.elements(); e.hasmoreelements();) { Element el = (Element) e.nextelement(); DOM2Writer.serializeAsXML((Node) el, writer);} System.out.println(writer.toString()); Dokument wejściowy Inicjacja procesu Formatowanie i wyświetlenie dokumentu wynikowego BPEL (39) 39

Wynik działania aplikacji-klienta <WSSynchroProcesProcessResponse xmlns="http://xmlns.oracle.com/wssynchroproces"> <result xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:type="xsd:string"> 83-7359-167-2 </result> </WSSynchroProcesProcessResponse> BPEL (40) 40

BPEL Console: rozwiązywanie problemów Instances Audit Wykonanie poprawne Wykonanie niepoprawne BPEL (41) 41

BPEL Console: rozwiązywanie problemów Opis błędu w realizacji procesu BPEL BPEL (42) 42

Asynchroniczne wywoływanie usług Web Services BPEL (43) 43

Założenia W trybie wywołania asynchronicznego proces BPEL wysyła do usługi Web Service sygnał inicjujący (akcja Invoke), z którym związane są parametry wywołania Akcja Invoke nie zwraca żadnych rezultatów Proces BPEL kontynuuje działanie aż do napotkania akcji Receive - wówczas zatrzymuje się i oczekuje na odbiór wyniku pracy zainicjowanej usługi Po otrzymaniu wyniku pracy usługi proces BPEL wznawia działanie Usługa Web Service, która jest wykorzystywana w trybie asynchronicznym powinna implementować jeden z następujących mechanizmów: WS-Addressing + Correlation Correlation Sets BPEL (44) 44

Obsługa wywołań asynchronicznych Proces BPEL inicjacja parametry wywołania + nagłówek WS-Addressing [Callback Location, Correlation ID] Asynchroniczna usługa Web Service oczekiwanie na wynik wyniki + nagłówek WS-Addressing [Correlation ID] BPEL (45) 45

Deklaracja usługi asynchronicznej Rola wołającego usługę asynchroniczną Rola dostawcy usługi asynchronicznej BPEL (46) 46

Inicjacja i oczekiwanie na rezultat Wyłącznie parametr wejściowy Wyłącznie parametr wyjściowy BPEL (47) 47

Ostateczna struktura procesu Pobierz parametr wywołania procesu Kopiuj parametr wywołania procesu Wywołaj usługę asynchroniczną Oczekuj na wynik pracy usługi Kopiuj wynik wykonania usługi Zwróć wynik realizacji procesu BPEL (48) 48

BPEL: Złożone konstrukcje językowe BPEL (49) 49

Flow: wykonanie współbieżne Polega na współbieżnym wykonaniu dwóch lub więcej sekwencji akcji Kończy się wtedy, gdy wszystkie sekwencje zostaną ukończone Implementowane za pomocą znacznika <flow> BPEL (50) 50

Flow: wykonanie współbieżne BPEL (51) 51

Switch: wybór ścieżki Polega na wykonaniu tylko jednej ścieżki ze zbioru równoległych sekwencji akcji Wybór ścieżki odbywa się w oparciu o warunek logiczny Implementowany za pomocą znacznika <switch> sekcje <case> opisują równoległe ścieżki obowiązkowa sekcja <otherwise> odpowiada za obsługę przypadków nieuwzględnionych w <case> BPEL (52) 52

Switch: wybór ścieżki Definiuj warunki wyboru z pomocą narzędzia XPath Expression Builder BPEL (53) 53

Scope: blok akcji Służy do ograniczenia zasięgu zmiennych, akcji obsługi zdarzeń, akcji obsługi wyjątków, akcji kompensacyjnych Pełni rolę zbliżoną do "BEGIN...END" w języku PL/SQL Może być zagnieżdżany Implementowany za pomocą znacznika <scope> BPEL (54) 54

Scope: blok akcji Blok akcji Blok akcji BPEL (55) 55

Scope: blok akcji Zasięg zmiennych Obsługa wyjątku Obsługa wszystkich wyjątków OnMessage OnAlarm Akcja kompensacyjna Pokaż/ukryj akcje obsługi wyjątków BPEL (56) 56

Catch/Catch All: obsługa wyjątków Akcja Catch umożliwia wykonanie ścieżki akcji w przypadku wystąpienia okreslonego wyjątku przetwarzania Jeden blok akcji może posiadać wiele akcji Catch Akcja Catch All umożliwia wykonanie ścieżki akcji w przypadku wystąpienia dowolnego wyjątku przetwarzania Jeden blok akcji może posiadać tylko jedną akcję Catch All BPEL (57) 57

OnAlarm: obsługa przekroczenia limitu czasu Umożliwia wykonanie ścieżki akcji w przypadku przekroczenia limitu czasu realizacji bloku (np. oczekiwanie na odpowiedź usługi asynchronicznej) BPEL (58) 58

OnMessage: obsługa przychodzących komunikatów Umożliwia wykonanie ścieżki akcji w przypadku nadejścia odpowiedzi od usługi asynchronicznej Podobny do akcji Receive BPEL (59) 59

Pick: alternatywa OnAlarm i OnMessage Umożliwia oczekiwanie na odpowiedź usługi synchronicznej przy jednoczesnym zabezpieczeniu oczekiwania limitem czasu BPEL (60) 60

Kompensacja transakcji Akcja Compensate umożliwia wywołanie przetwarzania kompensującego skutki transakcji zakończonej niepowodzeniem Z każdym blokiem akcji może być związana ścieżka kompensacyjna BPEL (61) 61

XML Mapper Umożliwia transformację dokumentów XML w oparciu o XSLT Graficzne narzędzie do opisu transformacji BPEL (62) 62

Proces BPEL zawierający akcje manualne Istnieje możliwość zdefiniowania akcji manualnych, realizowanych przez operatora za pomocą narzędzia BPEL Worklist BPEL (63) 63

Proces BPEL zawierający akcje manualne http://serwer:9700/integration/worklistapp/login BPEL (64) 64