Ok, now my task, in this period, is evaluating and architecting a workflow engine implementation, better to say, how to support a workflow engine in an enterprise application to driving business processes (workflows).

Ok, I can hear many of you which might say “why loosing time in that, we have Workflow Foundation here” or “we are close to the release of AppFabric and .NET 4.0 WF implementation” and that would mean something like “all the games are done…”.

Well, I don’t really think so…

First of all i don’t really like the Workflow Foundation, I don’t feel more comfortable with it, I don’t like the implementation, the design about the pluggable services, and more.. and in the end the philosophy itself. This because fundamentally I agree with the fact that a workflow is no more that an IF-Machine.. and as an IF-Machine no more that is done with a workflow could be done in code, and doing things in code we know could much simple, extensible, and more

but proceeding with order, I need to support a workflow engine which would run state machine workflow, with rules and all the things which could be expected by a state machine workflow, transitions, events and so on

Now, with my great surprise I saw Microsoft has break the support of Workflow State Machine in .NET 4.0, so now, in the time just before the .NET 4.0 release, if I would select the MS technology, I would have to change my implementation in the porting to .NET 4.0, this because the State Machine Workflow has been replaced by a “work around” customizing a Flow Chart Workflow… I was surprised when reading the WF4 State Machine Guidance from Microsoft I found this:

There are two potential directions you can consider in this situation:

  1. Writing a custom state machine activity: The WF activity model provides you with rich extensibility to construct the perfect control flow mechanism for your scenarios. WF4 comes with a significantly improved activity model that you can use to write your own StateMachine activity. Implementing a custom state machine may be easier than you think using WF4.
  2. Waiting: You can wait for a subsequent WF release that contains a StateMachine implementation out of the box.

So, I don’t want to continue to talk about, I hope you can imagine how I would continue, sometimes it’s impossible for me to understand some MS decisions… (sure someone could explain me maybe I’m ignorant, and if it’s true I’m not afraid to admit). After that I realized I have to looking for something different, maybe not just a single piece of software, but building a stack for example and drive all the pieces to realize what I have to, could be a better thing.

I found a stack, I made first of all an architectural stack and then a software one collecting some OSS projects which could help me gaining what I have to realize.. In the next post I will start to talk about the stack, the participants and more, but now I’m curious about what you think, in your opinion, so if you don’t get bored yet, please leave a comment.

See you

Technorati Tags: ,,