locked
Orchestrating WCF services using WF RRS feed

  • Question

  • We have an extensive collection of Web Services implemented in WCF (REST and SOAP interfaces).

    We want to aggregate some service operations through orchestration so that the number of round trips for common sequences of operations can be reduced for our client applications. (mainly the mobile apps.)  Is WF a good candidate for doing this?  From what I have read (and briefly played around with) it is easy to consume a WCF service in WF and add it to a simple sequential workflow.  

    What I'm not clear on is does WF provide any support for translation of data received from one web service call into the data required for the next web service call in the Workflow.  Must this be done via a Code Activity or are there built-in tools for mapping response data from one activity into request data for the next activity.  (Not sure if my terminology is correct here.)

    Thursday, June 6, 2013 2:13 PM

Answers

  • Hi Steve,

    The short answer for your question about using a WF stack for services orchestration is YES.

    Using an untyped message (not strong CLR type) in the message pipeline, the message can be mediated (transform, enlarge, etc.) within the service orchestration. This concept allows using a contract model first approach based on the wsdl/xsd metadata.

    The following picture shows this concept:

    More details about the message mediation, aggregation of the services, VETER pattern, integration and composition, etc.  can be found in my following articles published past 5 years basically from the WF 3.5 where the WorkflowService has been introduced:

    Manageable Services

    Contract Model for Manageable Services

    WF4 Custom activities for message mediation

    Azure Virtual Bridge

    Using Azure Lease Blob

    For persisted composite application (long running workflows), please have a look at the Microsoft Workflow Manager 1.0 and for bridges (message/service mediation) recently release a BizTalk Services Preview on the Windows Azure.

    Thanks

    Roman


    Roman Kiss, MVP Microsoft Integration: Development

    • Marked as answer by Pengzhen Song Thursday, June 13, 2013 10:14 AM
    Thursday, June 6, 2013 5:48 PM