构建基于WWF的系统业务流程
Miao Cui,Jia Chen and Yu Jiang
School of Economics and Management, Dalian Maritime University, Dalian 16026, P.R China
IFIP International Federation for Information Processing 2008 Vol.254
【摘要】
在系统的开发过程中,开发人员经常将业务流程直接设置到系统结构中,每当业务流程需要调整的时候,程序就需要大量修改。这种开发方式使得系统变得更加复杂,并且阻碍了系统的流畅性。通过结合WWF和传统的信息系统开发理论来构建业务流程,不仅能够满足企业需求,而且使修改业务流程更加方便简单。
【关键字】
业务流程模型,业务转型,工作流分析,工作流模型
1【简介】
当今社会处于信息化浪潮中,大多数企业(尤其是具有一定规模的企业)都进行了信息化建设。在系统的开发过程中,开发人员经常将业务流程直接设置到系统结构中,每当业务流程有变化的时候,程序就需要大量修改。这种开发方式使得系统变得更加复杂,并且阻碍了系统的流畅性。通过结合WWF和传统的信息系统开发理论来构建业务流程,不仅能够满足企业需求,而且使修改业务流程更加简单方便。企业如果想在这种复杂多变、充满竞争的环境中生存下去,他们不得不满足各种需求,不断调整自身,优化各种业务,并重建业务流程。所以这就需要集成的信息管理系统具有保存、处理及支持业务重建的功能,而传统的信息管理系统很难做到这点。
工作流的概念是在现代化信息系统建设之后出现的。工作流是实现业务流程重组及自动化的关键技术,并且支持计算机实现。
2【WWF】
2.1 工作流模型及其组成
WWF是微软的一款免费、可扩展的框架,它主要用于开发及执行基于工作流的应用程序。它为微软产品、客户及独立的软件开发公司提供了一个统一的平台,WWF旨于为运行于windows平台的应用程序提供一个可执行工作流的特殊引擎。
作为微软下一代开发框架的一部分,WWF提供了工作流引擎,.NET API(应用程序程序接口),运行时服务,可视化设计器以及调试器,它们统一集成在微软VS2005软件中。在这个软件中开发人员可以很快的创建并执行跨客户端和服务器的工作流,及任何类型的.NET程序。
2.2 WWF中用于流程创建的控件
工作流最大的优点也是最成熟的地方,在于可以方便的对流程进行设置、执行及控制。图1展示了审查及批准的流程模型。在这个流程中,进行一类考试和应用程序的批准,如果通过进行下一步操作,否则不通过。
图1展示了WWF设计器下的工作流模型,左边的工具栏中的是一些活动控件,开发者可以通过拖拽的方式方便的进行添加或者删除操作。
根据管理需要,一级审批已不能满足原审批的要求,所以在一级审批的基础上,添加二级审批。在WWF设计器中,在原流程上做修改非常容易,只需在原流程上添加一个ifElse活动。图2展示了新的流程模型,图2中的callExternalMethod活动和图1中的callExternalMethod活动执行的相同的方法,同样的,图2中codeActivity1和codeActivity3活动与图1中的codeActivity1执行的是相同的方法。反之,如果不需要二级审批,可以很方便的从模型中删除,而且不会对其他工作流产生任何影响。
因此,采用WWF技术开发信息管理系统,不仅能够提高开发效率,降低开发成本,而且保证了系统的流畅性及其扩展性。
3.工作流建模
3.1 UML活动图的定义
UML活动图是为系统动态行为建模的工具之一。UML活动图的本质也是一个流程图,表现的是从一个活动到另一个活动的控制流,同时支持子流程、条件选择,及对数据流的描述。特别适合工作流程说明。
UML的活动图是一种特殊的状态机,也是一种特殊的状态图。在状态图中,如果大部分的活动表示操作活动,且该活动触发流转,即大多数事件是由内部活动执行的,这样的状态图就是活动图【2】。因此,活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。通常情况下,活动图是假设在计算机处理过程中没有因为外部事件而中断的情况下进行的。当一个活动结束将立即进入下一个活动,最后UML活动图获得各种状态(即将开展的工作或活动)的最终运行结果。
3.2 仓库管理系统的UML建模
本文以仓库管理系统为例,来解释WWF是如何在应用程序中创建的。这个系统包含仓位管理,在仓位管理模型中,我们可以对其进行增加,删除,编辑以及创建仓位的方法。
创建仓位意味着,根据已选仓库提供的信息(比如行、列、层)来创建仓位。如果要在已选的仓库创建仓位,应该判断响应的货架上是否还有货物。如果没有货物,可以创建,反之则无法创建,如图3所示的活动图
4.实现仓库管理系统
4.1 流程管理的设计思想
WWF支持两种模型:顺序工作流模型——是一组可以顺序执行的活动,状态机工作流模型——是由触发状态转换的事件驱动的流。
设计工作流没有固定的模式,但我们建议在主流程中使用状态机工作流来控制状态转换,在子流程中使用顺序工作流来实现操作。
在仓库管理系统中,每个模块执行不同的方法并流转到各个不同的子流程,但是我们事先并不知道流转到哪里。这样的情况更适合采用状态机模型,在每个状态中,我们可以通过顺序工作流模型来实现对事件的响应。
4.2 流程管理的设计和实现
仓位管理模块在本例中被定义为初始化状态(OpenState)。根据图1,它包括查找、增加、删除、编辑及创建功能,插入和编辑功能转化成叫做InsertState和UpdateState的子模块。InsertState和UpdateState将被初始状态中的InsertEvent和UpdateEvent触发。子模块中的InsertSaveEvent和UpdateSaveEvent事件执行的是保存操作,有就是将数据传到数据库,并在操作成功后返回初始化状态。如图4所示。
初始化状态中的AutoCreateEvent事件是用来执行创建仓位方法的。在本文的3.2中已经将创建仓位的示例图给出,在这里我们继续将它作为例子,图4对应的顺序工作流如图5所示:
通过继承IAutoCreate接口的FunRelationLocation事件,WhetherCanCreate可以用来判断是否可以创建库位,如果货架上没有货物则执行ifElse左边的流程,并通过实现CreateLocation创建库位(包括删除货物,货架,库位信息);相反,如果货架上还有货物,则执行流程右侧的流程,并返回到初始化状态。
5.总结
本文使用微软最新发布的WWF框架来构建基于.NET平台的仓库管理系统,用UML模型构建仓位管理模块,并介绍了基于WWF模型的可视化设计方法。结合传统的系统开发技术和工作流技术使管理人员更加准确,方便的监督和优化业务流程,使企业获得更大的收益。
引用:
1.F.Yushun,workflow Management Foundation(Qinghua University Press: Beijing,2001).
2.J.Arlow and I.Neustadt,UML2 and the Unified Process(China Machine Press: Beijing,2006).
3.V.Yen, A node-centric analysis of metagraphs and its applications o workflow models, Enterprise Information Systems. Volume 1, Number 1,pp.139-159,(2007).
4.P.Andrew and J.Conard, Presenting Windows Workflow Foundation,Sams Publishing(2006).http://msdn.microsoft.com/workflow(Accessed October 1,2006).
作者:石世特
出处:http://www.cnblogs.com/TivonStone/
希望本文对你有所帮助,想转随便转,心情好的话给我的文章留个链接.o(. .)o