当前所在位置: 首页 >工作流专区>正文

返回列表页

基于SOA的工作流系统设计

时间:2013-04-23分类栏目:bpr作者:佚名

工作流管理技术是一种正在快速发展的技术,正在被越来越多的企业所应用。企业的日常活动中,约有70%是属于流程类活动,如订单出货流程、生产流程、企业内各类申请表单、公文签审、信息传递与签收、公司各类支出与收付等。由于在Internet上开展电子商务的廉价与方便性,促进了企业之间的交流,扩大了企业视野,在这种环境下,工作流管理系统就暴露出了很多不足之处:缺乏柔性,不能及时响应变化和相互之间缺乏互操作等,这些显然不能满足现代企业业务流程管理的要求。

  面向服务体系结构(Service-Oriented Architecture,SOA)的出现,为解决上述难题提供了契机。SOA是为解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件架构。把SOA加入到工作流系统中,可以很好地解决现有工作流管理系统的柔性缺乏、不能及时响应变化和相互之间互操作性差等缺点,极大地提高了工作流系统的应用范围,促进工作流管理系统的发展。因此,研究并实现基于SOA的工作流管理系统具有重要的现实意义和广阔的应用前景。文中设计开发的工作流管理系统应用于某电力公司设备管理系统,实际应用表明,设计的工作流管理系统改善了电力公司的内外部流程,提高了工作效率,达到了预期的效果。

其中,流程定义存储服务负责提供保存流程定义文件的服务;流程实例存储服务保存流程实例状态数据;工作流引擎服务负责从流程定义存储服务处获得流程定义,解释后执行,并通过流程实例存储服务保存流程实例数据,通过调用其它服务完成流程活动,与其它引擎服务协作可进行流程迁移或并行执行,用户则通过用户界面与工作流引擎进行交互。

在基于SOA的工作流管理系统中,工作流的使用不再限于它的位置,任务由服务完成。只要为服务定义标准接口,它们就能被任何依据标准的应用访问到。由于一个流程不再限制于工作流引擎的位置,流程能够在任何地方设计、存储和执行。用户能够选择分布在网络环境中的任何可获得的工作流引擎服务来开始执行一个流程。在执行过程中,可以在不同引擎服务间迁移来达到负载平衡,降低不同应用和引擎服务间的通信费用,易于从错误中恢复,甚至一个流程同时在多个引擎服务上执行,以获得更高的效率。可见,基于SOA的工作流管理系统具有分布、高效、容错、负载平衡等优点,非常适应复杂信息环境的需求。

整个工作流系统由建模工具、客户端、模型分析、工作流引擎、SOA服务管理模块组成。建模工具用来进行工作流过程建模。模型建立后使用模型分析工具对模型进行完整性、约束、时间可行等方面的检查,检查后在数据库中建立对应记录。工作流引擎将数据库中的记录实例化。客户可以使用状态查询某个实例的状态,并可以控制或修改相应的流程。客户使用浏览器作为客户端,通过工作流引擎提供的功能完成对应的功能。SOA服务管理可细分为Web服务管理和Web服务注册。Web服务管理主要是将已有的Web服务组合,形成从工作流活动到Web服务的对应关系,供客户使用。Web服务注册主要是对Web服务进行注册,并由Web服务管理模块进行管理。

文章来源:网络
上一篇:BPR经典N法下一篇: