两个多星期的努力, 终于把Prototype搞定了。实现了以下功能:
1,一个state machine workflow(Fund Request Process work flow)
2, 使用Polic来控制业务逻辑
3,实现了xoml和dll的分离,动态加载xoml,提供一个编辑工具,可以edit the workflow on-the-fly
1, 并没有传说中的那么难
ASP.net和WF我都不熟, 根据两本书,一个msdn上的例子"Web Form Workflow Approvals Stater kit"和另一个例子Orders http://www.odetocode.com/Articles/465.aspx的基础上把prototype搞出来了。
2,理解概念很重要
如果不理解WF是怎么调用外部函数(CallExternalMethodActivity), 是怎么传Event给WF(HandleExternalEventActivity),DependencyProperty是怎么回事, 基本不用再搞了。
3,很多设计可做
WF只实现了workflow最内核的部分,非常灵活。 同样的实现可以采用完全不同的实现方式。 怎么实现workflow definition, 怎么设计Activities, 需要为Activities添加那些DependencyProperty, 这些DependencyProperty是怎么互相关联的, 怎么只在xoml里面保存workflow definition, 怎么实现Workflow和业务数据的交互, 怎么实现Workflow和组织结构或者role的关联, 都可以有完全不同的设计。
4,还有很多概念。。
因为是prototype, 很多东西没考虑, 比如事务transation或者Compensate, 异常处理等。