Web Services Flow Language Guoqiang Wang Oct 7, 2002
Outline What is WSFL? Flow Model Global Model Lifecycle Language Description
What is WSFL? WSFL is an XML language for the description of Web Services compositions Usage pattern composition Interaction pattern composition
Flow Model A flow model is the specification of activities and their properties, as well as the associated wiring of the activities by control links and data links
Flow Model Example
Flow Model Syntax Activity Control Links Transition Conditions Forks and Parallelism Join and Synchronization Data Links Service Providers
Flow Model Syntax Activities An activity represents a business task to be performed as a single step within the context of a business process Corresponds node in a graph Can have input, output messages
Flow Model Syntax
Control Links A control link is a directed edge that prescribes the order in which activities will have to be performed The potential control flow between activities of the business process
Flow Model Syntax Transition Conditions A transition condition is a Boolean expression that is associated with control link Each control link has a transition condition Possible follow-on activities Actual follow-on activities
Flow Model Syntax Control Links As Edges Directed “Weighted” by transition condition At most 1 control link between 2 activities Acyclic – No loops Loops are supported in a controlled manner
Flow Model Syntax The Origin of Flow Dynamics Output actual data values Input Control links
Flow Model Syntax Forks And Parallelism A fork activity is an activity that has more than one outgoing control link Parallelism: when more than 1 transition condition is true
Flow Model Syntax Join and Synchronization Synchronize parallel work by join activities A join activity is an activity that has more than one incoming control link Default behavior: defer the decision until all parallel work that can finally reach the join activity has actually reached it
Flow Model Syntax Join conditions A join condition is a Boolean expression associated with a join activity Default behavior Weaker semantics of synchronization As soon as the truth-value of a join condition is known, the associated join activity can start
Flow Model Syntax Start and End Activities Start activities End activities Conceptually each activity has a join condition associated activity can be started whenever its join condition is fulfilled Overall flow done
Flow Model Syntax
Exit Conditions An exit condition is a Boolean expression to determine whether or not the execution of the activity completed Distinguishes 2 events Events completed successfully Events interrupted for whatever reason
Flow Model Syntax Illustration Activities Join Condition Exit Condition
Flow Model Syntax Loops An activity is iterated until its exit condition is met Many problems arise for the use of loops
Flow Model Syntax B is a join node, initially TC of CL from D B unknown C completes second time, control flow to E again? What if E still running for its first invocation?
Flow Model Syntax Data Links A data Link specifies that its source activity passes (some of) data to the target activity Data always flows along control links
Flow Model Syntax Service Providers The expected behavior of a potential business partner Service provider type Locator a specification of how to find a specific service provider
Lifecycle Interface Each flow model has a port type allows managing the lifecycle of instance of it Call Spawn Resume Suspend Inquire Terminate
Business Process Lifecycle
Activity Lifecycle
Global Model Interaction between service providers Recursive Composition Specify all possible interactions
Global Model Example
VS Global Model VS Flow Model Flow Model Executable business model Activity as flow unit Global Model Business Collaboration Service Provider (Business partner) as flow unit
Language Description XML Semantics WSFL Schema
Business process modeling with WSFL
References IBM -- Web Services Flow Language (WSFL 1.0), Prof. Dr. Frank Leymann, IBM Software Group, May 2001 The Web services insider, James Snell, Software Engineer, Emerging Technologies, IBM, July 2001 Internet-Based Workflow Management: Towards a Semantics Web. Dan.C.Marinescu. Wiley, 2002