基于面向服务架构的工作流管理系统设计及应用研究
曹波
【摘? 要】为提升工作流管理系统开发水平,论文选取面向服务架构SOA作为研究工具,提出基于SOA的工作流管理系统设计及应用研究。通过分析传统工作流管理系统存在的问题,明确系统改进需求,按照SOA架构工作原理,设计系统模型。在某五金塑胶加工制造数字化项目管理系统开发应用中,根据产品制造管理需求,设计项目管理业务流程,按照系统逻辑架构,开发系统多个模块,形成了完整的项目工作流管理系统。
【Abstract】In order to improve the development level of workflow management system, this paper selects service-oriented architecture SOA as the research tool, and proposes the design and application research of SOA-based workflow management system. By analyzing the existing problems of traditional workflow management systems, clarifying the system improvement requirements, and designing the system model in accordance with the working principle of the SOA architecture. In the development and application of a metal and plastic processing and manufacturing digital project management system, according to the requirements of product manufacturing management, the project management business process was designed, and the system logic architecture was used to develop multiple modules of the system to form a complete project workflow management system.
【关键词】工作流;面向服务架构;管理系统;SOA架构
【Keywords】workflow; service-oriented architecture; management system; SOA architecture
【中图分类号】TP311.5;TP311.1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文献标志码】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文章编号】1673-1069(2021)06-0168-04
1 引言
信息时代的到来,为企业业务管理提供了便利条件,在一定程度上提高了企业业务流程管理(BPM,business process management)水平[1]。面对业务流程的不断变化,加大了对业务流程管理的需求,急需采取一定处理措施,使得企业后端与BPM得以融合,弥补BPM固化处理业务的不足,通过建立服务架构,实现业务逻辑与信息的共享[2]。面向服務架构(SOA,service-oriented architecture)刚好满足需求,所以本文选取此架构作为工作流管理系统改进研究工具,提出新的工作流管理系统设计方案,探究具体应用方法[3]。
2 传统工作流管理系统的局限性及改进需求
2.1 传统工作流管理系统应用局限性
为使企业业务管理更加规范,建立流程化管理体系,提升企业管理效率,避免信息孤立,我国业务管理学者提出了工作流模型。传统模型将各个部门工作涉及的信息集中到一起,为用户使用或者查阅提供便利条件[4]。随着业务量和合作要求的增加,这种模型在应用中暴露出局限性问题。
第一,互操作性能薄弱。传统模型应用中,支持工作流执行期间的部分服务管理,管理覆盖面不全面,导致缺少控制数据,无法共享所有业务数据信息[5]。第二,不支持异构环境的工作流分布。传统模型在局域网中应用较多,不支持Internet网络,这与企业办公业务流管理发展方向不符。第三,缺少动态建模功能。传统模型采用静态定义方法,对所需资源和执行期间的信息进行设定,并将模型的执行和定义拆分开来,对执行方案采取实例化处理,而后按照定义开始实施工作流管理[6]。如果在执行期间,某处资源发生了改变,此模式无法及时调整工作流。
2.2 工作流管理系统改进需求
当前企业对于工作流管理的需求,应该是可以支持不同环境下的运行,可以根据服务内容的变更,及时调整工作流管理方案[7]。在科学技术快速发展的时代背景下,选取一种应用程序体系结构的管理工具显得尤为重要,利用此项工具调整工作流管理体系,建立独立服务模块。如果某一项业务流程需要调整,不会影响到其他流程的正常作业[8]。为满足这些需求,本文提出了SOA技术应用研究,利用此项技术,调整工作流管理体系结构,提高管理系统的安全性能和服务质量。
3 SOA面向服务架构
3.1 SOA概述
SOA指的是一种支持独立服务的程序体系结构,该结构布设了多个接口,各个接口均具有可调用特性,与平台的硬件平台连接,实现业务流程管理信息交流[9]。该体系结构在管理系统开发中的应用,根据业务服务需求,为各项业务编号,从而实现业务流程有序化管理。另外,SOA架构内部设置了松耦合模块,支持不同环境的业务流程运行。当业务指标发生变化、企业合作伙伴关系发生变动等情况发生,该架构都可以根据业务变化情况,在短时间内更新管理体系,以满足任务执行修改需求[10]。
3.2 SOA协议栈
SOA架构是以按需业务流程的管理为管控对象,根据业务管理需求,调整任务执行流程,从而实现预期工作流管理目标。Web服务作为SOA技术的应用基础,在应用此项技术开展工作流管理工作时,应该以Web服务技术体系设定SOA标准和协议。按照此项要求,SOA协议栈如下:
按照功能不同,可以将SOA协议规范划分为5个模块,分别是UDDI、BPEL、SOAP、WSDL、HTTP、FTP、SMTP 7种协议规范。其中,HTTP、FTP、SMTP 3种协议规范实现的功能相同,即对消息传输协议进行限定;UDDI规范是对服务的发布进行管理,同时挖掘业务推行中存在的问题及特点;BPEL规范是对业务服务方式进行管理,要求将多项服务聚集到一体,按照服务先后顺序不同,制定为业务推行流程;SOAP规范建立在XML基础上,对不同业务服务消息进行管理;WSDL协议是对服务的详细描述,通过设定服务标准,对工作流内容和管理方式进行进一步限定[11]。以上所有协议规范都是为工作流的管理、服务质量和安全奠定基础。
3.3 SOA与工作流系统的结合
为充分发挥SOA在工作流管理中的作用,本研究对SOA中的独立服务进行排序,按照先后顺序进行调整,同时分析各个服务任务之间的关联关系,将SOA架构贯穿于工作流体系中,形成完整的工作流管理架构。这种结合模式开发优点如下:①采用结合开发模式,在异构环境下部署业务流程,以此扩大管理系统应用范围。此系统开发方法是以Web作为系统开发工具,对工作流采取封装处理,从而打破工作流在局域网中管理应用的束缚。②加强流程管理操作性。以Web服务作为封装结果,对工作引擎采取处理,建立复杂协作关系,打造工作请求——工作响应管理机制,实现多厂商之间的协调管理[12]。③支持工作重组。通过对应用程序采取封装处理,得到多个独立的服务。根据工作流执行需求,按照业务逻辑关系,重新组合服务业务,使得系统可以适应不同业务需求的工作流管理。
4 基于SOA架构的工作流管理系统设计
4.1 基于SOA架构的工作流管理系统模型
SOA架构在管理系统开发中的应用,支持多项管理功能开发,弥补了传统工作流管理局限性不足的问题。本研究在原有的工作流管理架构基础上进行了改进,按照SOA架构体系,调整过程定义工具,添加工作流数据库,创建不同流程管理功能模块,借助UDDI模块,实现服务查找与执行、服务信息发布,通过Web服务接口,实现工作流服务模块与提供服务业务模块之间的通讯连接。图1为基于SOA架构的工作流管理系统模型。
图1中的系统模型以面向服务为工作流管理特性,通过建立Web通信接口,实现多个工作流引擎交互,经过封装处理,向用户提供高质量服务。该模型执行服务模块可以是一个工作流引擎,也可以是多个工作流引擎。系统运行期间,根据服务业务工作流执行需求,调用应用程序,向其他工作流引擎发送本流程,从而建立各个业务流程之间的互操作关系,完成操作衔接。
考虑到业务流程环境为异构环境,为满足此环境下的互操作需求,需要建立一套支持信息共享的控制数据管理模块。该管理模块选取业务流程执行语言(BPEL,business process execution language)作为建模工具,依据Web服务需求,编写相应流程的执行程序,从而完成多项类型服务活动。本系统模型支持复杂工作流执行服务,采用上述方法建立多个流程以后,再将这些流程连接到一起,形成复杂的工作流执行体系。
4.2 基于SOA架构的业务流程集成
4.2.1 面向服务的系统封装机制
本系统由3个封装机制组成,这些机制均具有抽象特性:①操作。该机制可以运用面向对象程序来理解,利用程序方法进行描述。一般情况下,执行操作会导致数据改变,可以是一个数据,也可以是多个数据,采取修改、写、读等手段破坏数据的持久性。系统中,用组件或者应用程序来定义操作。②服务。该机制可以看作逻辑分组手段,根据操作需求,将具有一定关联关系的操作封装起来,组成操作集合。其中,各项操作具有独立特性,在为用户提供某项服务期间,无需等待当前操作结束后再开始,而是同时推进,按照业务逻辑关系,从数据库中调用操作,重新组合即可。③流程。该机制指的是将流程发布转换为借助Web平台服务业务的发布,通过建立访问通道,为用户访问业务提供了便利条件,加强了相互合作。不仅如此,此项机制的应用不局限于企业内部的业务流程的管理,能够根据合作需求,跨公司建立访问通道,将当前工作流设置为子工作流,采用嵌入处理方法,调整工作流结构。
4.2.2 系统服务调用机制
系统服务支持异步调用和同步调用2种方式,根据工作流任务执行时间需求,合理选取服务调用模式。如果执行时间比较急,则选取异步调用模式。服务调用主要操作步骤为:描述服务内容→发送服务请求→绑定服务操作→执行服务。一般情况下,将Web服务的实现与发布划分为2种类型。其中一种类型为UDDI注册,另外一种类型为静态发现。用户在申请Web服務期间,根据操作便捷需求,从2种途径中选取1种。第一种途径为以此项服务的描述语言文件作为开发工具,搜寻相关服务信息,另外一种途径为采取UDDI注册方式获取详细信息。利用得到的信息访问Web服务接口,按照访问协议,将编写好的服务请求发送接口服务器,通过审核后调用数据库,向用户提供相应服务,开启工作流管理模式。
5 SOA架构在科技项目管理系统开发中的应用
本文以某五金塑胶加工制造数字化项目为例,对SOA架构在项目管理系统中的开发应用展开研究,依据项目加工制造管理需求,设计项目管理业务流程、项目审批过程、系统逻辑架构。另外,按照系统功能不同,分别对各个功能模块进行设计分析。
5.1 科技项目管理系统简介
某五金塑胶加工制造数字化项目管理系统,是根据产品数字化制造需求,对产品制造环节加以管理,严格按照合同规定实施项目,要求工作流程与产品加工流程保持一致。利用数字化管理技术,简化产品制造流程,以此提高制造效率。为提高产品制造管理水平,本系统着重强调了工作流执行审核环節,在此环节加强对项目管理方案的审核,从而提高方案可行性。基于上述开发需求,本研究选取SOA架构作为系统开发工具,建立工作流引擎网络体系,通过Web终端向用户提供相应服务。
5.2 项目管理业务流程
关于五金塑胶加工制造数字化项目管理的业务流程,主要由6部分组成,采用活动节点连接方式描述,结构如图2所示。
①项目申报:该项活动是项目管理的第一步,根据五金塑胶产品制造需求,拟定制造方案,并提交方案可行性报告等材料,申请产品制造机会。②项目审批:该项活动是项目管理的关键步骤,按照产品制造要求,判断当前提交材料是否达到制造标准。如果达到标准,则审核通过,反之,对于当前制造材料申请不给予通过。③合同管理:该项活动是双方建立合作关系的重要步骤,需要在合同中体现彼此的要求和能力,使得双方的权益得到保障。④项目实施:该项活动是产品制造环节的描述,以合同标准作为活动执行依据,按照活动服务内容的先后顺序开始实施。⑤项目验收:该项活动是对项目实施成果的检验,以合同要求标准作为验收依据,仔细排查五金塑胶产品制造是否符合质量要求,并生成检验报告。⑥成果推广与专利管理:这2项业务并行执行,完成项目验收活动以后,为本项目申请专利,并对专利加以维护管理的同时,将项目执行得到的成果推广出去,让更多人知晓本产品制造成果,为企业品牌树立提供帮助。
5.3 项目审批过程
项目审批作为项目管理工作流的关键步骤,在很大程度上决定了接下来的产品制造是否可以顺利开展。因此,本系统强调了项目审批过程,以科技管理科为首,对项目进行初审,经过一系列复审和修改,最终生成可行性较高的产品制造方案。图3为项目审批过程图。
图3中,由科技管理科负责项目初审,如果符合产品制造要求,则将此部分材料发送给总公司,由五金塑胶数字化加工制造高级技术人员,对项目方案进行复审。反之,返回下级单位,根据初审意见,修改项目计划方案。假如本项目方案通过了复审,则将材料发送给总公司经理,由总经理决定是否使用此方案。反之,告知下级单位,当前提交的项目方案未通过复审,需要根据要求修改计划,修改后再次提交审核。如果总公司经理认可项目计划,则系统输出“项目计划通过审核”,反之,要求下级单位按照总经理给出的修改意见,调整项目计划书,修改后再次提交审核。在此期间,如果其中任何一个环节的审核结果显示“项目计划不给予使用”,则表示对当前方案全部否定,不给予修改再提交的机会。
5.4 系统逻辑架构
为提高产品制造管理水平,本研究利用SOA架构,建立了工作流管理系统逻辑架构,使得产品制造管理具有较强的逻辑性,相互交换工作流引擎情况下,实现面向服务的智能化管理。图4为系统逻辑架构。
图4中,该架构是以Web浏览器作为系统用户客户端,与本地/Web服务端口建立通信连接,选择相应功能开启各项功能服务模式,通过建立工作流引擎网络体系,在此环境下执行服务。位于最底层的是数据库,为工作流执行提供相关数据。
5.5 系统模块设计
按照系统逻辑架构,将系统拆分为4个模块,分别对各个模块的组成和功能进行设计。
①客户端。该模块指的是Web浏览器,作为人机交互的端口。②本地/Web服务。该模块是面向对象服务的应用板块,根据用户操作需求,为用户提供文档管理、数据维护等服务。③工作流执行环境。该模块是服务执行环境,利用监控工具、管理工具,在当前环境中推行工作流,从而实现产品制造操作的有序进行。④数据库。该模块是项目管理系统运行的支撑点,通过为系统提供业务数据和工作流数据,使得系统运行有据可依,按照数据关联关系,加强产品制造设备作业的限制,使得制造操作更加精准化、有序化。
6 结语
本文选取面向服务架构SOA作为研究工具,探究工作流管理系统的设计方法。通过分析传统工作流管理系统存在的问题,明确系统改进需求,将SOA架构应用至系统开发中,设计工作流管理系统模型。其中,系统业务流程集成采用了封装机制和调用机制。为深入探究系统开发方案,本文以某五金塑胶加工制造数字化项目为例,设计基于SOA的管理系统,在逻辑架构、系统模块、管理业务流程设计中展示面向服务架构的应用方法。
【参考文献】
【1】李亚凯,沈彦,周一军.基于SOA和柔性制造技术的生产调度系统[J].组合机床与自动化加工技术,2019(11):156-160.
【2】刘洪.基于服务组件的电子文件管理系统的对策研究[J].北京档案,2018(8):32-34.
【3】张国亮,王钰,王展妮,等.面向松耦合服务的机器人集成框架及应用研究[J].小型微型计算机系统,2018,39(4):651-656.
【4】张宇,吴文周,王琦,等.面向服务架构的南海地理信息决策模拟系统功能设计与实现[J].海洋环境科学,2018,37(1):137-142.
【5】叶蔚,常青,杨芳.基于虚拟化的移动应用架构研究和设计[J].计算机工程与设计,2019,40(2):292-297.
【6】陈甦欣,谢正莹.基于SCADA系统的代理型MES架构研究[J].组合机床与自动化加工技术,2018(8):171-173.
【7】李莉,王建国,余文泉,等.基于服务化体系架构的嵌入式软件研究与应用[J].火力与指挥控制,2019,44(11):180-185.
【8】李鹏,杨斌,刘怡诺,等.基于工作流的“农校对接”采购管理系统设计与实现[J].河北农业大学学报:农林教育版,2018,20(2):103-106.
【9】马旭颖,张智勇,高德华,等.基于云服务架构的田间信息采集与分析系统设计[J].农业机械学报,2019,50(1):129-134.
【10】王璐,史志钊,史兆明.基于模型的悬挂物管理系统工程研究与应用[J].电光与控制,2018,25(4):101-105.
【11】王赞,陈光,董晓,等.基于工业互联网的智慧能源服务系统架构研究[J].电力系统保护与控制,2020,48(3):77-83.
【12】李浩,陶飞,文笑雨,等.面向大规模个性化的产品服务系统模块化设计[J].中国机械工程,2018,29(18):2204-2214.