1.01k likes | 1.71k Views
A Workflow Bus for e-Science Applications. Dr Zhiming Zhao Faculty of Science, University of Amsterdam VL-e SP 2.5. Outline. Introduction Scientific workflow in e-Science Scientific workflow management systems A workflow bus and generic e-Science framework Basic idea Related work
E N D
A Workflow Bus for e-Science Applications Dr Zhiming Zhao Faculty of Science, University of Amsterdam VL-e SP 2.5
Outline • Introduction • Scientific workflow in e-Science • Scientific workflow management systems • A workflow bus and generic e-Science framework • Basic idea • Related work • Our approach • Prototype • State • Discussion • Conclusions • Future work
Step2: performing the experiment Step3: analyzing the experiment results Step1: designing an experiment success Scientific experiments and e-Science • Required services: • Managing data, computing tasks, information, and meta data • Managing experiment routines (scientific workflow)
Scientific Workflows in e-Science Experiment processes Temporal workflows for administration, e.g., AAA, and other issues. Workflows for: • Different levels • Different function • Different goals Abstract workflows Executable (concrete workflows)
Scientific workflow management systems (SWMS) • A SWMS is able to: • Automate experiment routines • Rapid prototype experimental computing systems • Hide integration details between resources • Manage experiment lifecycle • … • A number of SWMSs have been developed: • Managing direct computing/data tasks: CondorG • Managing experiment tasks at an abstract level: Pegasus • Extending a Problem Solving Environment: Kepler • Coupling different domains software resources: Taverna
Insight a Scientific Workflow Management System In our view, a SWMS at least implements: • A model for describing workflows; • An engine for executing/managing workflows; • Different levels of support for a user to compose, execute and control a workflow. Workflow (based on certain model) Composition A SWMS User support Engine level control Engine Resource level control resources
Diversity in SWMS • Originated from different domains: high energy physics, bio-informatics • Different workflow model and description language: DAG, MoML… • Different execution models (engines): based on Data flow, Continuous time, process net. • Different types of user support: composition, dynamic support • Different interface for coupling resources: web services, Ptolemy middleware, and CORBA
Diversity in SWMS • Taverna: • Web services based language: Scufl; • FreeFluo: engine • Graphical viz of workflow Triana Kepler
Why generic framework? A generic workflow system: a SWMS can support applications from different domains. • Improve the reuse of workflow components and the workflows for different experiments • Reduce the learning cost for different systems • Allow application users to work on a consistent environment when underlying infrastructure changed
Application Layer Virtual Lab (VLAM-G). Grid Layer Research context and missions Generic framework for different domains • Different levels of abstraction • Workflow services: • Short term • Long term
Possible options • Abstract approach • Extend approach • Aggregate approach S1 S2 S3 SG S1 S2 S3 SG S1 S2 S3 S1 S2 S3 SG
Why we choose an aggregation approach? • Abstract approach • Build a perfect system • Difficult to find a set of systems cover all the required generic functionality; it requires re-implementation of existing things • Extend approach • Incrementally development • The solution depends on that system • Aggregate approach • Maximize the reuse of the existing workflow systems • Has to handle interoperability issues; provide customized interface existing workflow system
A workflow bus paradigm Workflow Sub workflow 3 Sub workflow 1 Sub workflow 2 Triana Kepler Taverna Workflow bus
What is a workflow bus? It is a special workflow engine for executing meta workflows, in which sub workflows will be executed by different other engines. It allows a scientist to: • design a workflow using resources from different workflow systems • work on a SWMS which he is familiar with, but to exchange information with the other SWMSs transparently
Related work Interoperability among workflow systems (sister Link project) • Resource level: Kepler invokes Taverna’s resources
An agent based prototype • Why choosing agent technologies • Decompose and encapsulate control intelligence • Ontology enabled communication • The basic idea • Handle workflow/sub-workflow using different levels agents • A study manager • A number of scenario mangers • Use FIPA compliant agent implementation: JADE • Use a Ptolemy as the basic framework for supporting workflow execution
Taverna Engine Triana Engine Scenario Mnger Scenario Mnger Scenario Mnger Study Mnger JADE agent framework Architecture Schedule sub-workflows • The execution of a workflow is one study, and the execution of a subworkflow is called a sub-study, or a scenario • At one level, only one study manager active • Study manager: an agent for scheduling sub workflows, and coordinating their executions via Scenario Managers • Scenario managers: agents for interfacing third party workflow engines and for reacting to Study manager
Taverna Engine Triana Engine JADE agent framework User front end Scenario Mnger Scenario Mnger Scenario Mnger Study Mnger Ptolemy Actor Actor Actor Director
How it works • In user front end: a user defines meta workflow, each actor represents a sub workflow • At runtime, each actor initiates a scenario agent, and passes the workflow description to the scenario manager • A scenario manager controls an engine and execute the sub-workflow
Prototype • Ptolemy II 5.0.1 • JADE • Tested with Taverna, Triana engines
Experiment results • Communication cost
Cont. • Scalability
Cont. • Overhead
Applications • Use case 1: • A user has workflow in Taverna • Some functionality is missing in Taverna but can be provided by Triana • He can develop the workflow in two systems, and run it via the workflow bus • Use case 2: • A user wants to execute a Taverna or Triana workflow in multiple instances with different input data
States • Taverna, Triana have been tested • MoML is used for describing meta workflows
Discussion • Challenges in scientific workflow support • Domain specific application: specific requirements on experiment scenarios • Generic workflow support and domain specific applications • Existing workflow management systems are diverse in functionality, design and user support
Conclusions • A workflow bus is practically feasible approach to realize generic e-Science framework • Multi agent technology provide a distributed environment for decompose and encapsulate control intelligence • Ptolemy II provides different computing paradigms which give user freedom to execute workflows
Future work • Working on developing a scenario manager for Kepler engine • Synchronized data flow is currently used. More computing modes will be evaluated. • Provenance for workflow bus
References • Z. Zhao; A. Belloum; H. Yakali; P.M.A. Sloot and L.O. Hertzberger: Dynamic Workflow in a Grid Enabled Problem Solving Environment, in Proceedings of the 5th International Conference on Computer and Information Technology (CIT2005), pp. 339-345 . IEEE Computer Society Press, Shanghai, China, September 2005. • Z. Zhao; A. Belloum; A. Wibisono; F. Terpstra; P.T. de Boer; P.M.A. Sloot and L.O. Hertzberger: Scientific workflow management: between generality and applicability, in Proceedings of the International Workshop on Grid and Peer-to-Peer based Workflows in conjunction with the 5th International Conference on Quality Software, pp. 357-364. IEEE Computer Society Press, Melbourne, Australia , September 19th-21st 2005. • Z. Zhao; A. Belloum; P.M.A. Sloot and L.O. Hertzberger: Agent Technology and Generic Workflow Management in an e-Science Environment, in Hai Zhuge and G.C. Fox, editors, Grid and Cooperative Computing - GCC 2005: 4th International Conference, Beijing, China, in series Lecture Notes in Computer Science, vol. 3795, pp. 480-485. Springer, November 2005. ISBN 3-540-30510-6. (DOI: 10.1007/11590354_61) • Z. Zhao; A. Belloum; P.M.A. Sloot and L.O. Hertzberger: Agent technology and scientific workflow management in an e-Science environment, in Proceedings of the 17th IEEE International conference on Tools with Artificial Intelligence (ICTAI05), pp. 19-23. IEEE Computer Society Press, Hongkong, China, November 14th-16th 2005.
A workflow bus paradigm A scientific workflow Sub workflow 2 Sub workflow 3 Sub workflow 1 SWMS 1 SWMS 2 SWMS 3 Workflow bus
Architecture Workflow bus prototype Study manager Scenario manager Taverna Triana
A big picture Using IT technologies (software and hardware) to enhance (automate) business processes!
Business process • What is a business process: • From business point view: interaction scenarios among partners; • From WS point of view: contracts among service providers; • Business processes can be described in two ways. • Executable business processes model actual behavior of a participant in a business interaction. • Business protocols, in contrast, use process descriptions that specify the mutually visible message exchange behavior of each of the parties involved in the protocol, without revealing their internal behavior. • Implementing business processes using Web services!
Web Services Meet Business Processes Web Service 1 Web Service 4 Web Service 2 Web Service 5 Web Service 3 Web Service n
CreditResponse InventoryResponse CreditCheck Purchase Order ReserveInventory Invoice Example Problem Space Credit Service Consolidate Results PO Service Client Inventory Service
Sample Business Process: Purchase Order Sample Purchase Order Purchase Order Request Business“A” Business “B” Purchase Order Acknowledgement Purchase Order Response
Coordinate asynchronous communication between services Correlate message exchanges between parties Implement parallel processing of activities . . . Manipulate/transform data between partner interactions Support for long running business transactions and activities Provide consistent exception handling . . . Business Process Challenges
Orchestration vs Choreography • Orchestration • An executable business process describing a flow from the perspective and under control of a single endpoint (commonly: Workflow) • Choreography • The observable public exchange of messages, rules of interaction and agreements between two or more business process endpoints
Send PO Receive PO Receive PO Ack Send PO Ack Receive PO Response Send PO Response From a Choreography Perspective Public Process Business A Business B PO Request PO Acknowledgement PO Response Choreography – The observable public exchange of messages
From an Orchestration Perspective Private Process Business A BPEL Workflow Transform Send PO PO Request From ERP Receive PO Ack PO Acknowledgement To ERP Transform Receive PO Response PO Response Orchestration – A private executable business process
Business Analyst Tool BusinessA BusinessB Orchestration and Choreography Together Generate BPEL Template Generate BPEL Template Business B BPEL Workflow Business A BPEL Workflow Receive PO Transform Transform Send PO PO Request Send PO Ack Receive PO Ack PO Acknowledgement Receive PO Response Transform Transform Receive PO Response PO Response Two BPEL workflow templates reflecting a business agreement
Recent History of Business Process Standards BPSS (Business Process Specification Schema) (ebXML) BPML (Business process modeling language) (Intallio et al) WSCI (Web service choreography interface) (Sun et al) WS-Choreography (W3C) 2000/05 2001/03 2001/05 2001/06 2002/03 2002/06 2002/08 2003/01 2003/04 XLang (BizTalk) (Microsoft) WSFL (Web Service Flow Language) (IBM) WSCL (Web service Conversation language) (HP) BPEL4WS 1.0 (Business process Execution language 4 Web service)(IBM, Microsoft) BPEL4WS 1.1(OASIS)
Standards • Business Process Execution Language (BPEL). • BPEL 1.1 2003 • BPEL is promoted as a standard WSBPEL through Organization for the Advancement of Structured Information Standard (OASIS); • BPEL was developed through the combination of IBM's WSFL and Microsoft's XLANG. • Also known as BPEL4WS (the original proposal) and WSBPEL (the OASIS standard being developed). • Business Process Specification Schema (BPSS) from ebXML. • Business Process Management Initiative BPMI from OMG. • Web Services Choreography Description Language (WS-CDL) from W3C focuses on describing peer-to-peer collaborations between Web service participants by defining their behaviour from a global viewpoint. • XML Process Definition Language (XPDL) from WfMC • Process Specification Language (PSL). • …
BPEL4WS • BPEL4WS provides a language for the formal specification of business processes and business interaction protocols. • It defines a new web service by composing a set of existing services: • Describe a business process • Implement a process • It is positioned to become the Web services standard for composition.
Business Process Execution Language for Web Services • Version 1.0 released by IBM, Microsoft and BEA in August 2002 • Accompanied by WS-Coordination, WS-Transaction which remain unsubmitted to standards bodies • Version 1.1 submitted to OASIS April 2003 • XML language for describing business processes based on Web services • Convergence of XLANG (Microsoft) and WSFL (IBM) • Unprecedented industry consensus • IBM, Microsoft, Oracle, Sun, BEA, SAP, Siebel …
Choreography - CDL4WS Orchestration - BPEL4WS Standards Building Blocks of BPEL BusinessProcesses Transactions Quality ofService Coordination WS-Security WS-Reliability Context Management Discovery UDDI Description Description WSDL SOAP Message XML Transport HTTP,IIOP, JMS, SMTP
BPEL Depends on WSDL and WSDL Extensions Service Implementation Definition Service Port Service Interface Definition Binding Port types define Operations Message Type
BPEL Scenario Structure <process> <!– Definition and roles of process participants --> <partnerLinks> ... </partnerLinks> <!- Data/state used within the process --> <variables> ... </variables> <!- Properties that enable conversations --> <correlationSets> ... </correlationSets> <!- Exception handling --> <faultHandlers> ... </faultHandlers> <!- Error recovery – undoing actions --> <compensationHandlers> ... </compensationHandlers> <!- Concurrent events with process itself --> <eventHandlers> ... </eventHandlers> <!- Business process flow --> (activities)* </process>
Primitive Activities <invoke> <receive> <assign> <reply> <throw> <terminate> <wait> Structured Activities <sequence> <switch> <pick> <flow> <link> <while> <scope> BPEL Activities