王 畅
(江苏教育学院运河分院 江苏邳州 221300)
SOA(Service-Oriented Architecture),作为一种面向服务的体系架构,通过Web Service技术打破由于体系结构不同、语言不同和平台不同而导致的异构环境下无法集成和连接的局面。在工作流技术中引入Web Service[1],将各种应用程序封装成Web Service,借助SOA的思想,对外公布和提供其标准的接口,支持和实现企业间跨平台地工作流连接和互访[2]。因此,将SOA与工作流系统相结合是完全可行的。
由于受到异构环境、软硬件平台、开发语言等因素的影响,使得企业间的一些需要共享的数据彼此分离、相互独立,这就有了“信息孤岛”的现象[3]。然而这种分离和独立在信息化水平日渐普及和提高的今天,显然已经非常不利于提高企业的信息交互能力和自身竞争力,这就对业务流程的集成[4]提出了迫切的需求。
(一)基于SOA的异构数据集成框架。工作流管理系统的数据库除了业务数据库以外还应包括由工作流定义列表、过程定义、Web服务表等组成的工作流相关数据库。如何将这些数据实现共享和集成,是系统良好运行的重要保障。为了保证子系统间的数据共享,采用SOA架构,使用Web Service封装数据源的技术,借助统一、规范的接口实现数据交换。这种基于SOA的异构数据集成框架[5]如图1所示。
图1 基于SOA的异构数据集成框架
从图1可以发现,此数据集成框架包括五个层次,接下来对此框架作简要说明:
1.在数据资源服务层提供对数据资源查询、修改、添加、删除、导入、导出等操作的支持,为异质的数据资源提供标准、统一的接口,以实现数据访问和操作的跨平台。
2.本体服务层提供了数据模式的规范表达模型和相关标准;在语义层实现将语义查询结果和信息封装为服务,以便被应用层加以调用。
3.从用户的层面来看,可以不必考虑数据是否异构等信息,借助统一的接口,便可以调用相应的数据服务实现相关的数据操作。
(二)面向服务的封装机制。在SOA架构中,Web服务是系统重构的技术基础和重要手段[6],通过Web服务的封装有效地满足系统内外的交互需求。
在工作流管理系统中常常包括一对一传送的直流模式、一对多传送的分流模式、多对一的合流模式和能够在流程中产生回路的回流模式[7]。将这些模式组合在一起,形成更为复杂的工作流。为了能够屏蔽交互细节,保证业务能够在不同的参与者之间灵活、顺利地执行和完成。将Web Service的封装技术引入其中,通过WSDL对服务进行描述,借助SOAP保证服务使用方与服务发送方的交互,依靠BPEL对服务重新组合,保证业务流程的顺利完成[8],此系统对业务逻辑与数据库的封装如图2所示。
图2 业务逻辑和数据库的封装
下面以某钻石办的公文流转和服务外包合同的审批这两种主要采用BPEL对封装的Web服务进行重新组合、编排技术的业务流程为例,详细阐述基于SOA的工作流技术在其信息管理系统中的应用与实现。
(一)基于SOA的工作流模型应用于系统开发的可行性。该钻石办是由多部门联合组成的机构,对钻石进出口交易进行联合管理,其组成部门包括商务、海关、商检、税务等。该公司受到市外资委的委托,承担着对钻石外资企业审批和管理的任务。目前,公司拥有200多家会员企业,面对数量快速增长和联系日益密切的业务活动,急需建立一个跨平台、跨部门、跨地域的企业信息管理系统,提高企业内部管理和服务的水平、企业与企业之间的业务办理效率。
将SOA工作流模型在此系统中加以应用是可行的,根据主要有以下几点:
1.以钻石办会员管理系统子系统为例,钻石办会员在地理位置的分布上并不集中,甚至比较分散,在这种情况下,使用局域网将钻石办与各会员单位相连显然不合实际,需要借助Internet,使之成为各单位沟通的桥梁。而SOA架构下的工作流模型能够支持这种分布异构的环境,为各会员之间的信息交互搭建了良好的平台。
2.系统包括年审数据管理、企业信息管理、交易合同管理、人力资源管理、消息文件管理、公文流转等功能模块,而一些功能模块之间更是紧密联系,相辅相成。将这些功能模块组合在一起就构成了完整的钻石办信息管理系统。如果将工作流技术引入其中,特别是采用SOA架构,那么业务活动就可以在工作流引擎的主导、控制和监管下,打破各模块沟通的障碍,有效地实现业务功能的集成从而提高工作效率。
(二)公文流转流程分析。公文流转在此系统中可以理解为基于工作流技术的一个功能模块,主要功能是将企业内部或企业之间的传统人工公文管理方式电子化。具体的流程如图3所示。
图3 公文流转流程
下面结合此流程图对系统中的公文流转流程的执行进行如下描述:
1.公文发送方通过OA接口,对公文录入排版,并结合部分电子文件共同生成公文。
2.公文生成以后,检查无误,加盖电子印章,对公文进行打包。
3.系统接到发送方的公文发送请求时,调用其中的公文交换服务,将公文传送给公文接收方,并对其发出收件提示。
4.公文接收方按照收件提示,做出对公文的执行回应。如果拒收或退回,则再次通过系统调用公文交换服务将公文传送给发送方,并进行回执处理。
5.如果公文接收方选择了对公文进行签收,则一方面通过公文交换服务将处理结果反馈给公文发送方,做好回执管理,另一方面继续进行公文流转的下一环节进行办理或输出。
6.当公文签收和办理完毕之后,对公文流转这一环节的流程进行整理、归档,以备开展更为复杂的协同办公。
(三)服务外包合同审批的流程分析。服务外包是指企业将原由自己提供的基础性业务或以IT为基础的业务流程从自身的价值链中剥离出来,然后外包给其他专业服务商来处理的经济活动。服务外包的业务流程是在网络环境下借助计算机完成,降低了企业成本并优化了企业间的资源配置。
服务外包合同的审批是钻石办信息管理系统的一个重要功能模块,它是由一系列活动组成,图4是其具体的流程表示。
图4 服务外包合同审批流程
下面结合此流程图对钻石办信息管理系统中的服务外包合同审批流程的执行进行如下描述:
1.当服务外包合同确认单签订以后,根据合同类型提交给不同级别的主管部门审批。
2.如果合同是 ITO(Information Technology Outsourcing)类型,例如像软件设计与开发、基础建设等信息技术外包,则提交给市级主管部门审批;如果合同类型是强调业务流程管理的BPO(Business Process Outsourcing)或者是强调信息集成、创新流程研发的 KPO(Knowledge Process Outsourcing),则提交给区/县主管部门审批。
3.相应的主管部门接到合同审批的请求以后,通过接口获取商务部提供的数据,并对合同信息进行审核,如果通过审核,则打印回执,并提交给领导等待批复;如果审核没有通过,则将合同返回,由合同签订双方或多方再次根据相关规定、规则重新签订合同,再提交。
(四)系统的逻辑架构。系统软件采用的是SOA的架构,将系统运行所需的数据、组件和应用程序单独分开,通过数据资源的重组,构建满足不同业务需要的服务组件,通过调用这些不同的服务满足各种各样业务流程的建立和运行。本系统逻辑架构如图5所示。
图5 钻石办信息管理系统的系统架构图
1.基础设施层。基础设施层是钻石办信息管理系统能够得以运行的基础平台。它包括各种软硬件环境,其中硬件环境可以是服务器、网络设备、业务终端等,软件环境包括支持系统运行的操作系统以及运行在操作系统之上的系统软件,除此之外,也包括系统二次开发平台,如SOAP、XML[9]等。
2.数据层。结合钻石办信息管理系统,主要包括流程数据库、OA管理数据库、会员管理数据库、诊断数据库等。
3.服务层。服务层由公共服务和业务服务组成,其中公共服务包括工作流组件、用户管理、权限管理、表单管理等,而业务服务由企业管理、信息管理、机构管理等组成。通过服务层为系统提供被用户调用的封装为Web Service的各类组件。
4.业务逻辑层。主要是查找钻石办信息管理系统各模块当前运行所需要的服务,一旦查找成功,通过SOAP发出服务请求,最后通过Web服务接口[10]获取所要调用的服务。
5.表现层。提供给用户钻石办会员管理系统和钻石办OA系统两个子系统的人性化操作界面,进而实现所需的各种功能。
本文采用SOA架构的思想,最大程度地对已有的业务资源和数据资源实现了集成和重用,建立了基于SOA的工作流管理系统的逻辑架构,实现了服务的动态编排和重组,解决了原有系统间无法协作共享和业务重组的需求,取得了良好的效果。
[1]孙瑞志,史美林.一个支持动态变化的工作流元模型[J].软件学报,2003,10(5):209-211.
[2]傅向华,明仲,彭小刚.基于SOA的流程与数据关联模型研究[J].计算机应用研究,2008,25(1):134-137.
[3]管红杰,王珂,江海峰,等.SOA架构的工作流管理系统的研究与应用[J].计算机工程与设计,2011,32(5):1654-1657.
[4]李红信,范玉顺.基于Web Service的异构工作流管理系统的集成和互操作研究 [J].信息与控制,2003,32(3):193-197.
[5]张庆福,万麟瑞.基于SOA的异构数据集成软件架构研究[J].计算机技术与发展,2011,21(5):17-21.
[6]荆泽泉,李庭俊,符云海.基于SOA和Web Service的遗留系统重构研究[J].数字技术及应用,2012,30(9):37-39.
[7]段会宁.基于SOA的工作流管理系统的研究与设计[D].哈尔滨:哈尔滨理工大学,2009:25-28.
[8]谭浩,张雄,廖军.基于BPEIAWS的工作流平台的设计和实现[J].计算机应用,2006,26(6):1245-1247.
[9]Yi-chaoC,FriedE.Stabilityandbifurcationofasoapfilm spanning a flexible loop[J].Journal of Elasticity,2014,116(1):75-100.
[10]吴丹.基于SOA的工作流管理系统研究与应用[D].广州:广东工业大学,2008:15-20.