|
Getting into the Flow: the Web Services Flow Language, by James Snell
WSJ Vol 02 Issue 03 - pg.42
Listing 1
<flowModel name="totalSupplyFlow" serviceProviderType="totalSupply">
<serviceProvider name="buyer" type="buyer" />
<serviceProvider name="seller" type="seller" />
<serviceProvider name="shipper" type="shipper" />
<activity name="submitPO">
<performedBy serviceProvider="buyer"/>
<implement>
<export>
<target portType="totalSupplyPT"
operation="submitPO"/>
</export>
</implement>
</activity>
<activity name="processPO">
<performedBy serviceProvider="seller"/>
<implement>
<export>
<target portType="receivePO"
operation="receivePO"/>
</export>
</implement>
</activity>
<activity name="processPayment">
<performedBy serviceProvider="seller"/>
<implement>
<export>
<target portType="totalSupplyPT"
operation="processPayment"/>
</export>
</implement>
</activity>
<activity name="submitShippingOrder">
<performedBy serviceProvider="seller" />
<implement>
<export>
<target portType="totalSupplyPT"
operation="submitShippingOrder"/>
</export>
</implement>
</activity>
<activity name="receiveShippingOrder">
<performedBy serviceProvider="shipper" />
<implement>
<export>
<target portType="totalSupplyPT"
operation="receiveShippingOrder"/>
</export>
</implement>
</activity>
<activity name="shipProduct">
<performedBy serviceProvider="shipper" />
<implement>
<export>
<target portType="totalSupplyPT"
operation="shipProduct" />
</export>
</implement>
</activity>
<controlLink source="submitPO" target="processPO"/>
<controlLink source="processPO" target="processPayment"
/>
<controlLink source="processPayment"
target="submitShippingOrder" />
<controlLink source="submitShippingOrder"
target="receiveShippingOrder" />
<controlLink source="receiveShippingOrder"
target="shipProduct" />
<dataLink source="submitPO" target="processPO">
<map sourceMessage="purchaseOrder"
targetMessage="purchaseOrder"/>
</dataLink>
<dataLink source="processPO" target="processPayment">
<map sourceMessage="purchaseOrder"
targetMessage="purchaseOrder"/>
</dataLink>
<dataLink source="processPayment"
target="submitShippingOrder">
<map sourceMessage="purchaseOrder"
targetMessage="shippingOrder" />
</dataLink>
<dataLink source="submitShippingOrder"
target="receiveShippingOrder">
<map sourceMessage="shippingOrder"
targetMessage="shippingOrder" />
</dataLink>
<dataLink source="receiveShippingOrder"
target="shipProduct">
<map sourceMessage="shippingOrder"
targetMessage="shippingOrder" />
<dataLink>
</flowModel>
Listing 2
<activity name="submitPO">
<performedBy serviceProvider="buyer"/>
<implement>
<export>
<target portType="totalSupplyPT"
operation="submitPO"/>
</export>
</implement>
</activity>
<activity name="processPO">
<performedBy serviceProvider="seller"/>
<implement>
<export>
<target portType="receivePO"
operation="receivePO"/>
</export>
</implement>
</activity>
<controlLink source="submitPO" target="processPO"/>
|