Windows Workflow Service Logic for CSF
This is my first blog so will start with a winning design. Having spent a couple of years in Telecom domain and with Microsoft Connected Services Framework 2.5, I thought of contributing by writing an open source 'Services logic using Windows workflow'. For most of you who are not aware what CSF is please refer to About CSF.
Service Logic is the core part of any CSF solution as it controls the order in which the participants in the CSF Session will be called. The two most common sample provided by microsoft are using Biztalk Server Rules Engine and native C# based solution. Both these solution have their own disadvantages like Biztalk suffers with performance and datadriven capabilities and C# base solution is not datadriven. Hence it is very essential to have a service logic with data driven capabilties. So the ideal choice I made was a C# based web service with a Windows Workflow based rules Engine backend. The benefits of windows workflow rules (apart from runtime being free) over Biztalk is that the rules engine database can have a custom schema. Microsoft provides a great flexibility by just providing the framework and allowing the solution designers to customize the database. Ofcourse some may argue that there might be performance issues as the rules are stored in Xml and the xml is quite huge. But the scalability it provides in design cannot be argued. Another good thing about WF Rules Engine is that it comes with an open source RuleSet ToolKit to edit rules.
This solution has made me a technical hero in the 'Microsoft Heroes Happen Here' competetion. Apart from the certificate I also got a DELL 1500 VOSTRO.
The solution can be downloaded from Code Plex.