340 likes | 364 Views
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.
E N D
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 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
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
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
Illustration Activities Join Condition Exit Condition Flow Model Syntax
Flow Model Syntax • Loops • An activity is iterated until its exit condition is met • Many problems arise for the use of loops
B is a join node, initially TC of CL from DB 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
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
Each flow model has a port type allows managing the lifecycle of instance of it Call Spawn Resume Suspend Inquire Terminate Lifecycle Interface
Global Model • Interaction between service providers • Recursive Composition • Specify all possible interactions
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
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