BPEL in Grids Aleksander Slomiski Department of Computer Science Indiana University www.extreme.indiana.edu Indiana University Extreme! Lab Overview • BPWS4J • Collaxa • OpenStorm, SeeBeyond, IBM, BEA, Microsoft,… • BPEL standardization • BPEL formal models • BPEL in Grids: Goals • Feedback Indiana University Extreme! Lab BPWS4J • IBM AlphaWorks – http://www.alphaworks.ibm.com/tech/bpws4j • Technology demonstration – Released on the day first BPEL spec was published – Not persistent or designed for long running workflows • Very popular – People do amazing things to make it work – Active forums • Closed source Indiana University Extreme! Lab Collaxa • First commercial implementation • Commercial product with paid support etc. – http://www.collaxa.com/ • Very good documentation, tutorials, … • Commercial product – 30-days trial version (Registration required!) – Costs a lot (impossible to find price list …) Indiana University Extreme! Lab More is coming … • OpenStorm http://www.openstorm.com/ – Service Orchestrator (J2EE, .NET) – “fully compliant with the OASIS BPEL4WS 1.1 specification” • SeeBeyond http://www.seebeyond.com/ – eInsight™ Business Process Manager 5.0 • Open Engine for BPM, Workflows and Web Services Orchestration • “limited edition version” i.e. not available … • Microsoft http://www.microsoft.com/biztalk – Microsoft BizTalk 2004 (Evaluation version available soon?) – To be released in April (“gold” version) • http://www.pcpro.co.uk/news/news_story.php?id=54450 • IBM – Future WebSphere … • BEA • … Indiana University Extreme! Lab What is Next? • OASIS TC working on BPEL standard – The biggest TC in OASIS … – Expected soon? (ETA: Autumn 2004) – Should clear licensing issues … • Independent groups working on BPEL formal models – Very valuable to validate BPEL • Use of BPEL in Grids? • BPEL Open Source Implementation? Indiana University Extreme! Lab Use Of BPEL in Grids • Two possible approaches • Short term (good enough?) – No extensions to BPEL but use the fact that deployment is not part of BPEL – Easier for WS-RF and harder for OGSI – Can interoperate with “vanilla” Web Services • Long term – Create BPEL profiles (standards!) to have support for grid monitoring, lifecycle, ... – Such “extended” BPEL workflows will require special runtime • More details: see GGF10 Workshop materials at http://www.extreme.indiana.edu/groc/ggf10-ww/ Indiana University Extreme! Lab Indiana University Extreme! Lab • Grid Process Execution Language – Striving to meet requirements of CheaPEL • Prototype Implementation • Subset of BPEL (Limited resources …) – Can be extended to full BPEL support • Open Source – Depending on community interest … Indiana University Extreme! Lab Overview Deployed Workflow Engine Messaging Service (Send Messages, Receive Messages) Correlation Service XML Machine State StateMachine Machine (XML based State Machine Database (Saved Machine States, History) Indiana University Extreme! Lab Implementation Strategy • Based on WS/XML Services Utility Library – Built to take advantage of XML Infoset abstraction – Provides XML/HTTP/SOAP/XmlDSig/SAML/… • Each Workflow Instance is Automata – Instance State is XML • State: <variables, threads, active correlations, …> • Easy to observer and manipulate with XML tools – Can process any XML: no XML<->Java trips – Workflow execution history is also accessible Indiana University Extreme! Lab XML And Automata Flexibility • XML in, XML out, XML inside • Discovery/Experimentation Support – Unlimited Undo – Cloning/Branching (Duplicate XML Documents) • Sharing – Send XML documents with workflow instance state • State exposed as WSRF Properties – Subset of XML state already maintained in engine! – Previously OGSI SDEs … Indiana University Extreme! Lab GPEL as Workflow VM • State exposed as XML • Step-by-step execution • Direct manipulation of state – Support exploratory what-if execution mode – Allow to “clone” and “undo” execution • Per-instance modifications of workflow structure – Instance specific for “ad hoc” errors handling Indiana University Extreme! Lab GPEL: Grid support • OGSI: phased out … – GSH/GSR Locators – Factories and Lifecycle – Workflow identities and SDEs • WSRF: in progress • WS-Addressing – Workflow Instance identification • WS-Resource properties • WS-Notification Indiana University Extreme! Lab Synchronous vs. Asynchronous • <receive/> <reply/> – Typical binding is SOAP/HTTP • Use WS-Addressing <ws:ReplyTo/> – User can specify its return address!!! – Receive connection can be one and closed! – Reply can be executed Indiana University Extreme! Lab Workflow Reliability • Use WS-ReliableMessaging – WS-RM enabled Workflow endpoint – Invoking external services with WS-RM – What if workflow engine is restarted? • Allow to annotate partners – Designate operations as idempotent – Allow to specify exponential back-off retries Indiana University Extreme! Lab Feedback • If there is enough interest in “BPEL in Grids”? – Mailing list and WikiWiki could be started … • If you are interested in playing with prototype – Contact me! – www.extreme.indiana.edu/~aslom (Aleksander Slominski) • Thanks!