基于SOA的工作流系统集成研究与设计
摘 要:SOA的软件架构也能为企业未来的下一步信息化建设提供更便捷的服务,更易于软件的移植或重用。在此为了开发出符合业务流程的工作流系统,以管理企业的业务需求为出发点,通过研究与分析工作流系统集成的关键技术,采用SOA的思想,把一些方法封装为服务,将其开发为基于SOA的工作流系统。这在最大程度上解决企业现有应用信息系统间的耦合,也便于后续开发的系统与现有系统保持一致的规范。
关键词:SOA; 工作流; 系统集成; 管理系统
中图分类号:TN91934 文献标识码:A 文章编号:1004373X(2012)22002904
软件技术的发展日新月异,从最初的面向过程的软件开发,到面向对象的开发模式,这些技术虽然提高了软件开发的效率,但很难解决现有软件所存在的问题[1],所以需要对软件的架构进行进一步研究。现有的软件系统大多是紧耦合、封闭式、相互独立的,基本上都是一次性交付一次性使用,很难以进行二次开发或改造。于是软件技术开发人员开始把软件系统开发的架构转向SOA[2]。
本文以企业的业务需求为出发点,通过研究与分析工作流系统集成的关键技术,通过SOA的思想,能够为企业的2个部门开发出符合其业务流程的工作流系统,在最大程度上解决企业现有应用信息系统间的耦合,也便于后续开发的系统与现有系统保持一致的规范,增强流程管理对业务需求变化做出响应的灵活性与敏捷性,提高各系统间协同工作的效率。
1 工作流管理系统体系结构
工作流技术,也称工作流管理技术,最初的应用领域是生产组织和办公自动化领域,是“将业务过程从应用程序中抽取出来”的一门技术[34]。工作流管理系统要求能够支持企业经营过程高效率地执行并监控经营过程的执行过程[5]。通常情况下,工作流管理系统是指运行在一个或多个工作流引擎上的用于定义、实现、管理工作流运行的软件系统,通过与人或应用程序的交互,推动着工作流实例的执行,并对工作流运行状态进行监控[6]。
工作流管理系统一般都要提供3个阶段的基本功能:
(1) 建立阶段的功能:工作流过程建模和相关活动类型的定义等。将企业的业务流程在计算机内进行形式化定义,可以用图形,或Pertri网等描述。
(2) 运行阶段的监控功能:负责对过程定义的解释和执行。创建工作流实例并监控工作流实例的运行状态,负责每个过程中的资源分配及任务调度。
(3) 运行阶段的交互功能:实现工作流执行过程中,与人、与应用程序之间的交互。
如图1所示,工作流管理系统通常主要由3部分内容组成。
具体功能的实现部分。
(2) 系统控制数据:各部分功能构件所使用的工作流系统内部数据。
(3) 应用程序与应用数据:是指可以被工作流系统调用的,用来完成工作流管理系统整体或部分功能的外部系统和数据。
2 SOA的组成结构
面向服务架构(Service Oriented Architecture,SOA)。是以服务为导向的企业级系统架构,具有松耦合、高内聚、开放式的特点[7]。相对于其他软件架构,SOA更有优势[8]。基于SOA开发并实施的应用系统可以更好地满足企业“随需应变”的需求。SOA架构核心是服务,与服务代理、服务请求者、服务提供者及相关协议和操作,共同组成了SOA的基本结构,如图2所示。
图2 SOA的基本结构服务提供者,是服务的创建者和提供方,负责服务的设计、开发与实现,一般是企业或组织开发的具有某种功能的软件系统、组件或计算单元。
服务请求者,是服务消费者,一般指企业、单位或个人。当需要某个功能的服务时,通过向服务代理机构查找,发现自己所需要的服务,然后订阅服务,通过SOAP(Simple Object Access Protocol)与服务提供者绑定、执行服务。
服务代理,是服务提供者与服务使用者的中介,向外提供已注册的服务目录及对应的网络地址和功能、参数等描述信息。负责对服务发布数据的增加、删除等管理功能。
3 面向服务的工作流系统特点
基于SOA的工作流系统改变了传统的使用工作流技术开发应用系统的方式,具有面向服务的特点,也具有传统工作流系统所不具备的优点:
(1) 降低了工作流与应用程序的耦合度,由服务层来封装推进工作流向前流转的方法及工作流的通信服务。
(2) 易于实现与其他系统的集成,具有更强的集成特性,在实现对应用系统的业务数据与业务过程的集成上有优势。既可以服务封装的形式集成现有的系统,又可以集成未来的多种新技术。
(3) 便于业务流程的优化与整合,由于在系统架构设计中把工作流的流程定义部分与控制部分采取分离的措施,而且简化了方法定义的数目,所以当对流程定义根据业务变更的需要做出更改时,只需要工作流作一些变动就可以实现了,可以满足敏捷开发的要求。
4 传统的系统集成解决方案
在最早期的企业应用系统集成方案是采用“点对点”的集成方式,它是采用桥接的方式,这种技术一般是特定的、彼此独立的专用链接,通用性不强[9]。随着业务的增加,集成的需求越来越多,给程序开发人员的代码开发与维护带来很大的工作量,也给集成研发人员带来了技术上新难题。
为了克服“点对点”的集成方式带来的问题和缺陷,星型架构被引入到企业应用中,她是由一个集线器Hub和多个适配器Adapter组成[10]。这种集成方案有一个致命的安全隐患是一旦集线器出现故障,所有处于集成方案中的应用系统都无法相互通信,可以造成方案的崩溃。
另一种基于消息总线的总线型集成架构,将方案中的集线器Hub换成了消息总线[11]。各应用系统将要发送的消息传递给适配器,适配器对消息进行数据格式转换后传输给消息总线,由消息总线负责消息传递的路由。这种集成方式增加了系统的复杂度,使得消息总线与各应用系统之间成了紧耦合的关系,不利于与基于新技术开发的系统实现集成。
5 基于SOA架构的系统集成
基于SOA架构开发的软件系统能提高业务的敏捷性与灵活性,对企业业务的变更做出快速而有效的响应,更为系统集成提供了一种快速的解决方案[12]。基于SOA的系统集成方案中,首先将企业应用系统中的业务逻辑提取出来,并将与业务相关的操作方法封装起来向外公开为服务。其他系统只需要知道已经向外公开的服务的IP地址,就可以实现服务的调用,进而实现与业务相关的过程集成或系统集成。基于SOA的系统集成方案有很多优点:
(1) 基于标准的服务,采用开放式的标准将应用系统的某些功能封装为大小不同的粒度,可很轻松地实现同构或异构系统的集成。
(2) 以业务为核心,基于服务架构的软件开发,可以实现代码的重用,而且可以由一些小粒度的服务单元根据业务流程组合成复杂的业务功能,这样开发人员可以将更多的精力转移到业务领域,使开发出来的系统能更好地符合企业业务流程与规则。
(3) 支持企业级的系统集成,目前面向服务的软件开发在技术上也逐渐趋向成熟,微软、IBM等大公司推出的SOA开发平台都能都很好地支持企业级的应用开发,能方便地整合企业的业务数据与业务流程。
(4) 兼顾开发效率与经济效益,由于基于SOA开发的软件系统是松耦合的,而且采用开放式标准,以服务的方式向外发布,所以可以实现短周期的应用软件开发,及时地响应企业业务变更的需求。减少人力、物力投资的同时,又能为企业的发展提供有力的工具支持,无疑是企业的最佳选择。
基于SOA的系统集成方案具有以上的诸多优点,在企业的应用软件系统集成中相比于其他的集成方案,占据着绝对的优势。因此设计的面向服务的工作流系统架构如图3所示。
本方案设计中应用程序直接与服务交互,通过调用服务中封装的方法完成与工作流的通信及推动工作流的状态向下一步流转。确保了工作流与应用程序的松散耦合及相互独立。服务向外发布的时候,是以IP地址的形式公开给应用程序的,因此,可以供本系统调用,也可以供外部系统中的应用程序调用。
由于将工作流运行时服务也封装在服务里,由同一宿主托管,因此本地通信的接口及参数类的定义,也在此层实现。由此对应的系统集成方案的总体设计架构如图4所示。
图4 基于SOA的系统集成架构这个集成方案也是采用多层架构的设计方式,从图中可以看出系统的集成其实是基于服务的集成。其中,把工作流系统作为整个服务发布出去,就是除去表示层之外的部分以服务的方式向外提供并被调用。这种工作流服务的封装模型如图5所示。
图5 工作流系统服务封装在这种集成架构中,服务是基于WCF开发的。系统与系统之间的集成其实就是各系统所对外发布的服务与服务之间的集成,系统间的通信也就成了服务与服务之间的通信了。集成的内容实现主要在服务管理与应用层之间。可以根据业务流程对所开发的WCF服务进行整合,或重新编排,然后在应用层被客户端应用程序调用。
6 结 语
本文通过SOA的思想,将一些方法封装为服务,向系统内也向系统外有选择地公开一些方法,就是将其开发为基于SOA的工作流系统。彼此之间互相调用对方向外公开的服务,可以很轻松地实现数据共享、业务流程集成等系统集成方面的需求。这种基于SOA的工作流系统集成解决方案的应用能满足企业当前的业务需求,也为其他现有系统的集成提供一个很有效的集成思路,符合企业的长远利益,改善了传统的系统集成方案及其不足。
参 考 文 献
[1] 王金玲.面向服务架构技术的研究与应用[D].汕头:汕头大学,2007.
[2] 潘杰,陈德焜,周咨聪.基于SOA开发框架的异构工作流集成方案[J].微计算机应用,2008,29(3):3739.
[3] 张瑾.WWF开发指南[M].北京:机械工业出版社,2008.
[4] 杨利国.基于WF工作流技术研究及应用[D].武汉:武汉理工大学,2008.
[5] Workflow Management Coalition. WFMCTC 1023.V1. 1 Workflow standard interoperabilityWfXMLBinding \[S\]. \[S.l.\]: Workflow Management Coalition, 2001.
[6] DATH S, KOCHUT K, MILLER J, et al. ORBWork: a reliable distributed CORBAbased workflow enactment system for meteor2, UGACS TR97001 \[R\]. USA: Department of Computer Science,University of Georgia,1997.
[7] 张庆福,万麟瑞.基于SOA的异构数据集成软件架构研究[J].计算机技术与发展,2011(3):69.
[8] 李文亮,刘竹松,陈王景.基于SOA的科研管理系统的分析与设计[J].计算机技术与发展,2011(7):1821.
[9] CHAN K C, VONK J, SNACHEZ G, et al. A specification language for the WIDE workflow mode \[C\]// Proceedings of 1998 ACM symposium on Applied Computing. \[S.l.\]: ACM, 1998: 197199.
[10] ALONSO G, MOHAN C, GUNTHOR R, et al. Exotica/ FMQM: a persistent messagebased architecture for distributed workflow management \[C\]// Proc. IFIPWG 8.1 Working Conference on Information Systems for Decentralized Organizations. Trondheim: WCISDO, 1995: 1115.
[11] LAWRENCE Chris. Integrated function and workflow \[M\]// FISCHER Layna. Workflow Handbook. Florida: Future Strategies Inc, 2005: 3152.
[12] PAPAZOGLOU M P.Serviceoriented computing concepts, characteristics and directions \[C\]// 4th International Conference on Web Information System Engineering. Roma, Italy: WISE, 2005: 111116.
作者简介: 赵红毅 男,工学硕士,讲师。研究方向为计算机控制、人工智能。
孟德恩 男,硕士研究生。研究方向为计算机系统结构。
版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于SOA的工作流系统集成研究与设计》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
本栏目阅读排行
栏目最新
- 1在农民收入调查工作动员培训会上讲话
- 22024年领导干部政治素质自评材料(完整)
- 3公司党委党建工作总结报告【完整版】
- 42024年主题教育党建调研开展情况总结
- 52024年度区妇联关于党建工作述职报告(完整)
- 6关于加强企业人才队伍建设调研与思考(完整文档)
- 72024县党员干部抓基层党建工作述职报告
- 8第二批主题教育研讨发言:时刻“以民为本”,听“实言实语”,办实事好事
- 92024关于党员干部法治信仰情况调研报告(2024年)
- 10局网络安全工作责任制落实自查报告(全文)
- 11XX国企分管领导关于党建设引领企业高质量发展研讨发言(范文推荐)
- 122024年第二批主题教育专题读书班研讨发言提纲(6)【完整版】