
Microsoft has announced workflow technology to be part of the base framework you get with WinFx (I already hinted at it in this post). So what does it mean? Basically, it is designed to offer human workflow as well as systems workflow. Because it is a framework you can host it in any application and use it. Think of it as having the BizTalk orchestration functionality at your fingertips to be used without a BizTalk server. Even functionality such as transactions, tracking and persistence of the workflow instance (hydration/dehydration) is supported, and the really cool thing is that you are allowed to plug in your own classes to support these things. For instance, for an Oracle shop you could just persist to Oracle, instead of needing to buy SQL Server.
Also, all the design time support which is somewhat like the BizTalk orchestration designer is delivered with the product.
This is a really powerful concept as lots of Line of Business applications need to support some type of workflow. Think of the following use cases:
- Page or Form flow in a WinForms or Web application (or even Avalon)
- Using it inside services to coordinate work across other services (we call this type of service a Process Service at Info Support in our reference architecture)
- Using it to describe and enforce a Message Exchange Pattern (MEP) for your service (First call PlaceOrderTentative, then call either CancelOrder or PlaceOrderDefinitive within one day or Cancellation will automatically take place)
So as you can see this is pretty powerful stuff. Microsoft also announced that the BizTalk Orchestration and Business Rules engine will be replaced by this functionality.
3 comments
Hi, Raimond
thanks for your article!
You say"for an Oracle shop you could just persist to Oracle, instead of needing to buy SQL Server.",do you mean I can use oracle instead of sql server in microsoft windows workflow fountation?
but WWF doesn’t provide persistence service and tracking service for oracle now, and I find persistence service and tracking service for oracle several days, but nothing I can find.
How can I get the persistence service and tracking service for oracle? If I write them by myself, is it possible?
if I have the persistence service and tracking service for oracle, does any other work I must do? I can’t find anything in WWF for let developer select database such as Sql Server or Oracle.
thanks!
s_wtsu
Currently, you need to build your own.
It is just a matter of implementing some .NET classes that implement the needed interfaces, and then register that service when starting the workflow runtime instead of using the default SQL Persistence service.
There are articles about this topic on several locations, for instance at http://www.manuelfoerster.net/wordpress/40/
and at
http://weblogs.asp.net/gsusx/archive/2005/10/05/426699.aspx
Raimond Brookman
sample?where ?have download?
dragon2snow