Published Wednesday, December 20, 2006 12:34 AM by mtaulty

ASP.NET, WF and sending data backwards and forwards

I saw some questions on an internal alias about "how to get ASP.NET to talk to Workflows" in terms of sending data backwards and forwards and I thought I'd write up a little bit about that here as I gave a talk at the DevelopMentor Connected Systems Roadshow (a short write up of which is here) last month that tried to cover off a few things about this.

In the talk I partitioned ASP.NET up into two different areas - web services and web pages although you could also talk about other things like handlers and modules but the ideas are pretty much the same.

The walk through of the talk went something like this (the slides and all the code from the talk are available on that link with the slides being in PDF format if I remember rightly);

  1. "Explain" Workflow
    1. What are the pieces that we provide in the Framework
    2. What's an Activity? What Activities do we ship?
    3. How (at a high level) would I build an Activity and its "family" of components
    4. How do I put a Workflow together (i.e. VS, Designer, XAML, Code, Custom)
    5. How do I "package" a Workflow definition (i.e. Assembly, XAML, Custom)
    6. Where does the runtime come in?
    7. How does the runtime interact with scheduling, persistence, tracking to run Workflow instances?
    8. Host/Workflow Local Communication Service mechanism.
  2. Show a little scenario of someone publishing a book and someone else having to approve it (picture over on the right hand side).

    1. Firstly, show this with web services in ASP.NET using the in-built web service support that Workflow has for ASMX. Show the automatic publishing and then use Reflector in order to unpick how this works and the details about "the Cookie".
    2. Secondly, show this with web services in ASP.NET using the Host/Workflow Local Communication Service mechanism. This is more work than (1) but it shows how we have the flexibility to move away from the automatic ASMX support to a more generic means that can then be plugged in to ASMX web services.
    3. Thirdly, show this with web pages in ASP.NET using the exact same mechanism as in (2) which is the reason for showing (1), (2) in that order.

 

 

In terms of 2.1 and 2.2 I wrote a little bit about this here previously and the slides/demo that I showed at the DevelopMentor day were really just a way of making this more amenable to being delivered in a session in front of people.

When it comes to 2.3, there's "nothing much left to know" because it's just the same mechanism as that used in 2.2 which is the beauty of the mechanism in the sense that the Workflow isn't bound to how the data reaches it.

# Link Listing - December 22, 2006 @ Friday, December 22, 2006 8:50 PM

WPF/E Pad [Via: dwahlin ] Recipe: Deploying a SQL Database to a Remote Hosting Environment (Part 1)...

Christopher Steen

# New and Notable 132 @ Sunday, December 24, 2006 8:47 AM

A special Christmas Eve version to clean out my Feed Demon box as I will be on vacation next week and

Sam Gentile