The method of Web Service Process modeling. Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967). Outline. Background Basic of Web Service Process Modeling Some method of modeling and reasoning about Web Service, including Orchestration and Choreography
Professor: Gail E. Kaiser
Student: Shanghao Li (sl2967)
- An effective solution in addressing the demand of enterprise integration
- An emerging cross-disciplinary method for distributed computing
- Changes the way in which software applications are designed, architected (SOA), delivered and consumed
- Autonomous, platform-independent computational elements, possibly managed by different organizations
- Described, published, discovered, and programmed to build networks of collaborating applications, distributed both within and across organizational boundaries
the reasoning tasks
the control flow
and data flow
- <receive/reply>: To provide an interface to call Web Service
- <invoke>: Call a Web Service synchronically or non- synchronically
- <assign>: To give a value
- <terminate>: To stop a process
- <wait>: keep for certain time
- <empty>: keep state
- <throw>: Show mistake information and address it
- <sequence>: an ordered sequence of activities
- <flow>: parallel activities
- <switch>: case-statement approach
- <while>: loop
- <pick>: execute one alternative path
- <fault Handlers>: Defines the recovery actions when faults occur and response to faults
- <link>: Defines the dependencies between activities in BPEL
- <action> : mapping to an operation in WSDL
- <call>: for the initialization of a <process>
- <spawn>: for the initialization of a <process>
- <join>: for the initialization of a <process>
- <all>: parallel
- Three structures: sequence, parallel, and choice
<process name="Retailer" business-process/">
<! Main process >
<!-- Step 1: The buyer sends order -->
<receive name="receiveInput" partnerLink="buyer"
createInstance="yes" operation="sendOrder" variable="Order">
<correlation set="poset" initiate="yes"/>
<!-- Step 2: Send notification to the buyer -->
<invoke name="callbackbuyer" partnerLink="buyer"
<!-- Step 6: send companyDB response to buyer -->
<interaction name="OrderInteraction" channelVariable="tns:RChannel"
<exchange name="OrderReq" informationType="tns:Order" action="request">
<send variable="cdl:getVariable(OrderNum, tns:buyer)"/>
<receive variable="cdl:getVariable(OrderNum, tns:Agent)"/>
<exchange name="OrderRsp" informationType="tns:OrderAck" action="respond">
<send variable="cdl:getVariable(OrderAckAgent, tns:Agent)"/>
<receive variable="cdl:getVariable(OrderAckBuyer, tns:Buyer)"/>
In conclusion, WS-CDL provides the global information exchange between different partners while BPEL provides the messages exchange from the angle of only one participant.
- P is a finite set of places,
- T is a finite set of transitions, (P ∩ T = ∅)
- F ⊆ (P ×T) ∪ (T ×P) is a finite set of the flow relation.
- A finite automaton Γ is a 5-tuple Γ = (X,Σ, T, I, F), where:
- X is a finite set of states;
- Σ is a finite set of events;
- T ⊆ X × Σ × X is a finite set of transitions;
- I ⊆ X is a finite set of initial states;
- F ⊆ X is a finite set of final states.
Pi – Calculus is one method which is suited for depicting concurrency software system.