1 引言
业务流程是为了实现一定的业务目标而执行的一系列逻辑相关的活动的集合,业务流程的输出是满足市场需求的产品或服务。对于企业而言,业务流程是企业重要的知识资产,是核心竞争力的体现,一个精心设计和执行的业务流程能够为企业创造价值并节约成本。
现代业务流程管理系统的历史可以追溯到工作流系统。在企业IT环境中,工作流软件通常与企业应用集成系统结合在一起,成为企业应用的“黏合剂”,帮助企业实现业务流程的自动化和流水线化。传统工作流系统的最大缺陷就是:它们大多采用了专有技术,这使得业务流程与企业应用的结合变得非常复杂,通常需要很长时间进行部署和实施,而与企业外部系统进行集成则更加困难,无法适应全球化浪潮和互联网时代对企业灵活、无缝集成的需求。人们开始考虑利用Web服务的开放性和标准化,来解决业务流程与企业应用之间的互操作性问题。
这正是Web服务组合的思想,Web服务体系结构最引人注目的功能之一就是提供一个允许通过组合现有流程和服务来建立新服务的框架,即Web服务组合。尽管Web服务从各个方面(数据、通信、描述和发现)为实现大规模的业务协作奠定了良好的基础,但由于各个服务之间仍然是独立的状态,从而仍未解决企业内和企业间的业务集成问题。Web服务的交互及协作必然要求构造复杂的Web服务。通过Web服务交互,可以实现多个系统的相互协作,集成分布式应用中的各个组件就有了一个公共的框架。Web服务最终趋向于Web服务的组合,而不是孤立存在的Web服务。组合的本质就是若干Web服务协调工作,从而灵活地满足更复杂的业务需求。
2 基于Web服务组合的业务流程集成
2.1 Web服务组合的概念
Web服务组合,是指把Internet上已有的相对简单的Web服务按一定的业务流程逻辑组合起来以构成复杂的复合服务,从而提供更强大、更完整的商业功能。其中的业务流程逻辑通常对应于一定的商业逻辑,被组合的每个Web服务完成其中的一个任务。Web服务组合意味着通过组合基本服务来构建组合服务,从而提供增值服务的能力。
随着Web服务应用的推广和用户的增加,Web服务组合技术己经受到很多大型企业和研究机构的关注,在语言和相应支撑系统方面已有一些初步成果,目前,比较有代表性的Web服务组合方面的工作有BPEL4WS、WSFL、XLANG、WSCI、BPML,OGSA,Self-Serv等,它们分别在组合语言、组合工具以及执行环境方面开展了富有成效的研究工作。但是从已有的各种Web服务组合模型以及具体的实现方案来看,Web服务组合技术仍然没有达到期待的成熟度。
2.2 基于Web服务组合的业务流程集成
随着企业信息化建设的不断深入及业务需求的不断改变,现有的将业务流程固化到应用系统中的开发模式,与不断变化的业务流程间的矛盾日渐显现,已不能适应业务敏捷性的需求。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来获得竞争优势的能力。业务流程集成意味着在合作伙伴之间协同运作,在采购商和供应商之间实现协同工作、产品共同开发、通用系统以及信息共享。通过这种流程集成的方式,企业可以更关注其核心竞争力开发,而把其它活动交给合作伙伴去做。做到“各尽所能,各取所需”。
基于Web服务组合的业务流程集成着眼于将业务分解为一组离散的业务功能和流程,即所谓“服务”,使已有的信息系统和新建的应用系统按流程驱动的方式整合在一起,实现业务流程管理与应用系统间的松耦合。这些服务就像大小不一的乐高玩具中的积木,它们之间的灵活组合可适应不同的业务敏捷性需要。当需要完成一定的功能时,只需将其进行组合即可。当业务需求发生改变的时候,只需增加个别新增的业务功能,同时改变业务流程即可,而不必改变整个应用。从而从根本上解决了应用系统因业务流程变化,而需不断重新建设的技术难题。
3 基于与/或树的Web服务组合模型
3.1 输入/输出依赖与/或树
(1)Web服务
在一个Web服务集合WS={ws1,ws2,...,wsn}中,一个Web服务ws是一个三元组(SI,SO,K),其中:
SI:ws的输入信息集合;
SO:ws的输出信息;
K:ws的输入信息集合与输出信息之间的依赖关系,表现为一个深度为2的与树,其中根节点为ws的输出信息,叶节点为ws的输入信息集合,各原子输入信息之间为“与”的关系,即只有当所有原子输入信息都满足时才能获得输出信息SO。这里是应用问题归约对WS的输出信息问题进行分解。例如,一个票务查询服务ws----(I,O,K)用于查询某个日期某个车次是否有票,其可用基于输入/输出依赖与/或树的形式表示如下:
I={车次,日期,起点,终点}
O={车票信息}
K:输入,输出依赖与,或树如图1所示。
图1 输入/输出依赖与/或树
图1中从输出到输入的箭头表示输出对输入的依赖关系。小圆弧表示只有当所有输入信息{车次,日期;起点,终点}都满足时,才能获得输出信息{车票信息}。
(2)Web服务组合
Web服务组合问题是一个三元组(WS,CI,CO),其中:WS={ws1,ws2,...,wsn}:是将要进行组合的Web服务的集合;
CI={ci1,ci2,...,cim}:输入信息集合
CO={co1,co2,...,cop}:输出信息集合
Web服务组合问题的解是一个Web服务的流程序列,其输入输出分别为CI和CO。
(3)输入,输出依赖与/或树
一个Web服务组合问题的输入/输出依赖与/或树,是一个与/或树形式的输入/输出依赖关系,它的根节点为服务组合问题的输出集合,叶子节点为服务组合问题的输入。输入/输出依赖与/或树通过与/或树搜索算法来建立,其基于问题归约,对服务组合问题进行分解及变换,直至到可解的问题,即已知输入。这样的一棵输入,输出依赖与/或树,其实就是服务组合问题的解树。
3.2 搜索算法
输入/输出依赖与,或树的建立基于与/或树搜索算法。(1)初始节点的确定。首先加入一个虚拟的初始节点SO,作为与/或树的根节点,表示服务组合问题的目标状态。
(2)初始节点的扩展。根据CO中的输出信息,将SO扩展为P个节点co1,co2,...,con,这P个节点之间是“与”的关系,表示服务组合问题Q可以分解为P个子问题co1,co2,...,cop,只有当这P个子问题都有解,原问题才有解。如图2所示。
图2 初始节点的扩展
(3)下属节点的扩展。为便于讨论,在此扩展节点co1。其扩展策略为:搜索Web服务集合WS={ws1,ws2,...,wsn},用所有满足co1∈sc.so(即能产生输出co1的服务)的服务对节点co1进行扩展,扩展后的各服务之间是“或”的关系,即其中任何一个服务都可以产生输出co1。节点co1的扩展结果如图3所示。
图3 节点co1的扩展
(4)终止节点。组合服务的输入为终止节点。
4 算例分析
本节以铁路货物运输费用的计算流程为例,介绍基于Web服务组合的业务流程集成的实施步骤。
4.1 例子
在铁路货物运输中,货物运输费用的计算(不包括杂费)包括如下几个步骤:(1)按《货物运价里程表》计算出发站至到站的运价里程;(2)根据货物运单上填写的货物名称查找《铁路货物运输品名分类与代码表》、《铁路货物运输品名检查表》,确定适用的运价号;(3)整车、零担货物按货物适用的运价号,集装箱货物根据箱型、冷藏车货物根据车种分别在“铁路货物运价率表”中查出适用的运价率(即发到基价和运行基价);(4)货物适用的发到基价加上运行基价与货物的运价里程相乘之积后,再与按本规则确定的计费重量(集装箱为箱数)相乘,计算出运费。
业务敏捷性的需求是把这四个功能模块分别包装成独立的Web服务以供组合,而不是固化到一个应用中去。这四个功能分别对应表1中的四个Web服务。
表1 货物运输费用计算对应的服务
剩下的问题就是通过Web服务组合算法将这四个服务组合成一个完整的流程来计算货物运输费用。
4.2 算法实现
在这里采用基于与/或树的Web服务组合模型进行服务组合,选择与/或树深度优先算法作为我们的服务组合算法。算法实现基于卡内基梅隆大学人工智能库中的“AIC++搜索类库”。
在程序中,Web服务的输入,输出依赖关系,表现为“改写规则”的形式:(g1,g2,...,gn,End)。其中,第一个符号是Web服务的输出,最后一个符号END用于程序判断规则的结束,其余的符号是Web服务的输入。“改写规则”意味着对节点的扩展:当遇到g1(输出)时,可以用序列g2,...,gn(输入)来替代。这些输入信息间的关系是“与”的关系。
例如Web服务Calculate-mile的改写规则为:(mile,dep,des,END)
对于组合服务com,由于其输出为pri(运输费用),故其改写规则为:
(com,pri,END)
4.3 运行结果
程序的运行结果是输出解树中按深度优先顺序搜索到的节点的序列:com,pri,mile,dep,des,rate,num,carg,weig
输入/输出依赖与/或树(即服务组合的解树,不包括虚拟的根节点)如图4所示。其中颜色较深的节点为可解节点,即组合服务的输入信息,根节点为组合服务的目标输出信息。根据服务组合的解树,可以将组合服务的执行流程表示为图5的形式。
图4 输入/输出依赖与/或树
图5 组合服务执行流程
4.4 结果分析
服务组合通过对单独的业务功能模块进行组合,来完成复杂的业务流程,从而满足企业信息部门对业务流程集成的动态、敏捷性需求。在服务组合输入,输出依赖关系的表达上,基于与/或树的服务组合模型强于基于AI规划及图搜索的方法,更适于表达实际的业务流程中网状的输入/输出依赖关系,可以满足更复杂的服务组合需求。同时,人工智能的成熟与发展为基于与/或树的服务组合提供了坚实的理论基础,无需过多的专业化操作,就可以进行Web服务的动态组合。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于Web服务组合的企业业务流程集成研究