随心所欲

做个幸福的人
posts - 147, comments - 1402, trackbacks - 28, articles - 0
  博客园 :: 首页 :: 新随笔 ::  :: 订阅 订阅 :: 管理
昨天去机场接女朋友,顺手拿了一本《Presenting   windows workflow foundation    beta edtion》的书,读来读去,发现又有些新的收获(这就是传说中的 书读百遍,其义自现? 多做些实际应用理解会更多)。
想写一个系列,全面介绍一下,只是不知道能不能坚持下去。
拟定要写得内容有
1:基本概念/结构
2:通讯,简单的例子
3:Activtiy介绍,重点介绍DataActivity 及 Activity开发
4:Office中的应用
5:StateMachine Workflow
6:关于Host        等

今天先开第一篇:基本概念/结构。

随着现在各种平台、中间件的出现,应用软件,越来越像组装汽车一样的行业。我们接触到的虽然还是那些,但是重点将放在如何处理客户的业务流程(早已经不是花费心思去处理怎么能显示一个漂亮的按钮那种基础性的工作了),这就是应用工作流的价值所在。

第一次认识这个WWF,还是在去年9月份,记得还写了点东西。在此之前,我用过JJX的OSWorkflow for .net。市面上还有K2等其他工作流。如果想了解更多内容,建议去看看BEPL了。
现在的这个WWF还是beta版。但是设计思路和概念应该不会有很大的变化的。

我们先看看WWF的结构(不怎么会画图)
1:Workflow Model层
      Sequential ; StateMachine; Policy;Customer Activities(自己开发的)
      Activity and Rule Authoring APIs
2:Runtime层
     Workflow Execution :Scheduler; Rules ;Tracking Infrastructure
     Workflow Lifecycle Management: StateManagement ; Activation
3:Hosting层
      Runtime Services:Persistence;Communication;Timer;Tracking;Transactions;Threading
      Custom Services
下边就是HostProcess了。

我们一个一个看。
1:Workflow Model 层:
   Sequencial Workflow Model:顺序执行的工作流。其实是一种小范围上,可以自己驱动(Self Driven)的工作流。 比方说,就是1,2,然后执行4,失败执行5,...这种执行在这种范围内不需要外部事件的驱动,自己就可以完成。
   StateMachine workflow Model:状态机工作流。这种工作流,是一种事件驱动(Event Driven)的工作流。他的流转靠外部事件的驱动,而不是局部内特定可预测的流程。比方说,如果有人触发事件1,然后进入状态2,在2中,如果有人触发事件3,然后进入下一个流程....
     看到他们的区别了么?理解这个很重要

2:Runtime层:
    Execution :执行
    StateManagement :处理Persit的状态等。
    Scheduler:定时处理的任务
    Rules :规则和条件。 有个复杂的RuleSet,需要专门介绍(Winsows Workflow Foundation中的RuleEngine的学习笔记 )。
3:Hosting层:
     Persistence用于存储上下文。 因为工作流可能会运行很长时间,或者隔很长时间才运行下一次,所以当前的上下文就得保存下来,数据库,xml文件等等。默认有个SqlServer的数据库Provider可用(曾经尝试着写一个MySql的Service,不过资料不多)。
     Timer:定时的任务。 默认有个SqlServer的数据库Provider可用。
     Communication:Wrokflow和Host的交流。可以使用组件,或者WebSerice等。

 
关于动作:Acitity。这是工作流执行任务的核心。
在OSWorkflow里面,他们管这种动作叫 Action。这里(WWF),我们给这种处理叫Acitity。
Actity分很多类型,下次再详细介绍他们的分类和意义。

关于设计:
WWF的设计器可视化做的不错,OSWorkflow就不怎么样了,那个工具用着不爽,手工写XML太累人,还容易出错。


顺便说一下,据说Office12支持WWF。

这次先就写这么多:结构,层次,流程分类,处理,设计器。

Feedback

#1楼    回复  引用    

2006-07-14 23:17 by neuhawk1 [未注册用户]
我现在尝试用wwf实现公文流程,原型基本出来.
wwf+vsto,效果很好的.
不过,感觉wwf 有些地方还不够好.

#2楼 [楼主]   回复  引用  查看    

2006-07-15 08:41 by 随心所欲      
@neuhawk1
现在还是beta版,所以有些东西还是不成熟。
但是可以看到,WWF的结构什么的,很不错,有前途。

#3楼    回复  引用    

2006-09-29 18:01 by ss[匿名] [未注册用户]
能说一下PersistenceServices的原理嘛?特别是什么时候触发保存流程实例事件??

#4楼    回复  引用    

2006-12-13 15:33 by z [未注册用户]
neuhawk1 ,你好,可以介绍一下你的实现方法吗,是用状态机还是顺序机,节点回退是怎么实现的?

#5楼 [楼主]   回复  引用  查看    

2006-12-14 13:27 by 随心所欲      
@z
i think should be "状态机".

#6楼    回复  引用    

2008-02-24 11:58 by FLYAbroad [未注册用户]
wwf是比较不错,正在研究

#7楼    回复  引用  查看    

2008-03-24 10:19 by Hex      
看不懂...

#8楼 [楼主]   回复  引用  查看    

2008-03-27 14:04 by 随心所欲      
@Hex
这些是工作流的基本概念,工具可能不同,不过基本概念还是类似的。

#9楼    回复  引用    

2008-05-23 09:23 by 一个路人 [未注册用户]
请教一个与技术无关的问题:
要建立一套基于WWF的工作流系统需要的所有服务器端软件的价格大概是多少?哪里可以查得到?

#10楼 [楼主]   回复  引用  查看    

2008-05-23 10:02 by 随心所欲      
@一个路人
Window 2003 server webedtion(US$399,不需要客户端访问授权)
.net framework3.5(US$0)
.sql server 2005 express(US$0)

这是最低配置了,也几乎是最省钱的配置。




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接:
 
Google