一种高效的业务流程构造方法#
摘要:面向服务的流程构造利用可视化的图形组件和web 服务组件之间的直接映射,让用户拖拉服务对应的图形组件构造业务流程。可视化的BPEL 开发平台如BPELProject 等通过解析WSDL 并在少量的图形界面的配合下半自动化地生成BPEL 代码。当流程的规模比较大的时候,Web 服务拼接可能有成百上千的候选变量,让开发人员从显示出的大量的候选变量中选择所需变量很不方便。为了解决这个问题,本文通过变量过滤定理来过滤掉不能够用来初始化当前服务输入变量的候选变量,从而缩小候选变量的范围。并利用候选变量与要赋值的服务输入变量之间的相关度对过滤后的候选变量进行排序,以便让业务开发员快速的定位用来给当前服务输入变量赋值的候选变量,该方法有利于加快业务流程的重构效率。
关键词:面向服务;web 服务;业务流程
0 引言
基于 SOA的业务流程开发就是通过组合领域资产库中的Web 服务来构造满足需求的业务逻辑,业务开发员可以选择不同的服务组合语言来组合Web 服务,不同的组合语言不仅对业务开发人员的技术和能力有不同的要求,还直接影响到开发的周期和效率。当前最流行的服务组合语言是基于XML 技术BPEL 语言。业务开发员当然可以手工编写BPEL 代码来组合服务,可是这对业务开发员的技术需求很高,业务开发员不仅要熟悉本领域的业务知识和需求,还必须全面掌握BPEL 语法。所以这种开发方式开发效率低,调试困难,开发周期长。现在出现了很多可视化的BPEL 开发环境,比如BPELProject, 45 ActiveBPEL, Oracle JDeveloper。在可视化开发环境中,业务开发员通过拖拉各种图形组件,利用不同的图形界面设置各种参数来构造业务流程。这些可视化的开发平台会自动化地生成BPEL 代码,从而加快了业务流程的开发效率,降低了开发周期。可是,这些开发环境是将基于XML 的BPEL语言的各种元素和对应的元素属性映射到自己的图形组件和属性视图。没有彻底地对业务开发人员屏蔽BPEL的语法细节,而且还要求业务开发员从可视化的平台里去选择相应的对话框,属性视图等等来设置大量的参数。因此限制了开发效率的进一步提高。为了进一步提高开发效率,本文将介绍一种高效的SOA 业务流程服务拼接方法,并在开源的BPELProject可视化的业务流程构造平台上实现该方法。该方法直接将领域资产库中的Web 服务映射到自己的图形组件,通过解析WSDL 来自动化的生成相关的元素并设置其相应的属性值,并利用少量的图形界面指导用户输入平台不能够自动生成的属性值。这样不仅进一步对业务开发员屏蔽BPEL 语法细节,还避免了让开发人员做大量的属性设置工作。业务开发员直接面向业务领域和业务需求开发流程,从而进一步提高开发效率,缩短开发周期。
本文结构如下,第一节介绍通过解析WSDL 自动生成调用服务相关的BPEL 元素并自动设置元素属性值的方法,第二节提出并证明了用来过滤变量的两个定理,并介绍了用来对过滤后变量进行排序的变量相似度的概念和计算方法,第三节通过一个业务流程实例来详细说明变量过滤定理和变量之间相似度在设置服务输入变量中的应用。最后是结论。
4 结论
本文提出一种高效的SOA 业务流程服务拼接方法,并在BPELProject 工具上实现。该方法通过解析要调用的服务的描述文档WSDL,自动的生成调用某个服务时所需要的BPEL元素和对应的属性。对于不能够完全自动化生成的元素和对应的属性,通过对话框来获得用户的输入来辅助生成。其中对变量赋值时,利用变量过滤定理和变量间相似度的概念来分别对可能用来给当前要调用的服务的输入变量进行赋值的变量集合进行过滤和排序,然后用对话框来显示已被过滤和排序的变量供用户选择,让用户尽可能快的定位到相应的变量。用户在构造流程时,不需要知道太多的BPEL 的语法细节,只要熟悉业务需求,就能够很容易快速的构造流程。极大地提高了业务流程的开发效率,缩短了业务流程开发周期。
[参考文献] (References)
[1] Alexandre Alves, Assaf Arkin, Sid Askary, Ben Bloch, Web Services Business Process Execution
Language Version 2.0, http://www.oasisopen.org/committees/
download.php/19511/wsbpel-specification-draft-Aug01-2006.htm#_Toc142302863
[2] Erik Christensen,Francisco Curbera,Greg Meredith,Sanjiva Weerawarana, Web Services Description
Language (WSDL) 1.1,http://www.w3.org/TR/WSDL
[3] Budan Wu, Zhi Jin,Bin Zhao. A Modeling Approach for Service-Oriented Application Based on Extensive
Reuse. Proceedings of IEEE International Conference on Web Services (ICWS2008), Beijing, 2008, pp.754-757
[4] 杨志,陈俊亮,吴步丹,一种基于本体查询重写的服务匹配算法,中国计算机学会服务计算学术会议(CCF CSC 2010)论文集,Beijing,2010
[5] Liu Ying, Wang Li,IBM China Research Lab,An Intelligent Service Composer for 315 Business-level Service
Composition,The 9th IEEE International Conference on E-Commerce Technology and the 4th IEEE International
Conference on Enterprise Computing,E-Commerce and E-Services(CEC-EEE 2007)
[6] 胡海涛,李刚,韩燕波,一种面向业务用户的大粒度服务组合方法,中国计算机学报,第24 卷第 4期,2005 年4 月
学术论文网Tag:
|