信息化应用 营销管理 企业管理 业界消息 站内搜索 标签
首页 » 文档中心 » 信息化软件应用 » BPM 业务流程管理 » 基于SOA和BPEL的业务流程管理研究与应用

基于SOA和BPEL的业务流程管理研究与应用

2010-04-17

基于SOA和BPEL的业务流程管理研究与应用: 0 引言

激烈的市场竞争要求企业不断改善其业务流程,努力提高其业务流程的灵活性和对市场变化的适应性。企业迫切需要利用信息手段实现先进的流程管理。通过分析业务信息,制定适合自己的业务流程并通过相应的软件平台实现企业的信息化,从而能够灵活地应对市场的变化,提高竞争力。

面向服务的体系架构(SOA,Service Oriented Arehitecture)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。SOA具有松散耦合、位置透明、协议独立等特征。

就目前来讲,Web Service是实现SO架构的首选,它基于一系列的行业标准技术,WSDL,UDDI以及SOAP,它独立于任何特定平台和编程语言,可以跨越组织边界进行调用。Web服务的业务流程执行语言BPEIAWS(Business Process Execution Language For Web Services)是IBM、BEA、Microsoft、SAP和Siebel共同开发的规范,是专为整合Web Services而制定的一项规范标准。

BPEL4WS使用XML描述。结合了WSFL和XLANG两者的优点,同时摒弃了一些复杂烦琐的部分,形成了一种较为自然的描述商业活动的抽象高级语言。可以定义企业内部和企业之间的基于Web Service的业务协作。

在SOA中,使用BPEL4WS来对业务过程进行建模,由于在SOA中服务的互相调用代价昂贵,因此如何定义合理、安全、满足性能要求的业务模型至关重要。但是由于相关技术还不太成熟,将其应用于业务流程建模中还会面临很多问题。

基于SOA和BPEL的业务流程管理研究与应用: 1 WS—BPEL介绍

1.1协议基础

WS—BPEL是基于XML定义的流程描述语言,它位于几个XML规范之上:WSDLl.1、XML Schemal.0和XPathl.0。其中WSDL消息和XML Schema类型定义提供了BPEL流程所用的数据模型;XPath为数据处理提供支持;所有的外部资源和伙伴被表示成WSDL服务。在这些规范中,WSDL对WS—BPEL语言影响最大,WS—BPEL流程模型位于由WSDLl.1所定义的服务模型之上。

1.2关键技术说明

BPEL流程的本质就是通过BPEL的活动(Activity)将BPEL的过程组件“串起来”。所谓串起来就是通过BPEL的活动让BPEL的过程组件产生一种动态的交互。为了实现这些功能,WS—BPEL引人了合作伙伴链接、变量、相关集、活动、生命周期等关键元素。

(1)合作伙伴链接(Partner Links)。用于实现Web服务长期稳定的交互,它是由合作伙伴链接类型描述。合作伙伴链接类型定义了服务在会话中扮演的“role”,并指定了每个服务所提供的“port-Typo”,以便接收会话的上下文的消息。合作伙伴链接类型与合作伙伴链接之间具有一对多的关系,同一个合作伙伴链接类型可以用来描述多个合作伙伴链接。虽然使用服务的用户必须静态地依赖于特定的port-Type,但是在执行过程中可以通过端口类型动态地发现和使用包括在端口定义中的信息。

(2)变量(Variables)。用来保存组成业务流程状态的消息,它们通常是从合作伙伴那里接收到消息,或者是被发送给合作伙伴的消息。同时,它们还有可能是与流程有关的状态消息,这些消息并不与合作伙伴进行交换。每个变量的类型可以是WSDL消息类型、XML Schema简单类型或XML Schema元素。

(3)相关集(Correlation Sets)。用来关联和标定一个BPEL过程实例。对需要保持会话状态的BPEL业务需求来说是非常有用的。

(4)活动(Activity)。是指BPEL流程中一条语句或者一个步骤。包括基本活动和结构化活动,基本活动定义了组成业务流程的任务。

(5)生命周期。每个实例的生命周期为从实例的创建到实例的终止。实例的创建:当receive或pick活动的createInstance属性被设为“yes”时,当活动执行到它们时就会检查该实例是否存在,如果不存在就创建一个新实例。实例的终止方式有以下几种:当定义流程的活动全部完成时,正常终止;当故障出现时,异常终止;当流程实例被terminate活动显式地终止,异常终止。

基于SOA和BPEL的业务流程管理研究与应用: 2 基于BPEL的业务流程管理架

业务流程管理(BPM)主要功能就是优化管理。最核心的功能体现在平台支撑、流程设计、流程集成、流程自动化、流程执行、管理监控等6个方面。而集成这些软件功能的平台称为业务流程管理系统BPMS(Business Process Management System)。由于以往BPM对于不同的IT系统所提供的相互沟通能力比较有限,从而产生更多的集合方面的问题。

逐渐地,开发者开始使用BPEL结合Web服务架构对商业过程建模。在分布式网络环境中,Web服务与BPEL的结合很好地解决了系统异构的问题。WS—BPEL是业务流程描述语言,为编排Web服务提供了通用标准。图1是一个基于BPEL的业务流程管理系统的结构图。BPEL流程建模引擎,提供可视化的流程建模工具,并能自动生成BPEL文件,供流程执行引擎调用。

当流程需要调整时,还可导人原有BPEL文件生成流程图,对流程进行修改。BPEL管理/监控工具,提供对流程的管理,以及流程执行过程的监控,并能够根据流程执行情况提供分析报告。BPEL流程执行引擎,控制流程的执行。当请求到达时,选择某个流程并生成流程实例,按照流程描述的过程调用Web服务来完成具体的任务。流程执行引擎是BPMS的关键部分,图2显示了它的内部结构。BPEL流程信息库,用来存储流程模板,是BPEL文件格式,由于它是用XML描述的,因此很容易对它们进行解析。流程实例信息库,用来存储流程实例中的变量信息,以及流程相关的状态信息。

基于SOA和BPEL的业务流程管理研究与应用: 3 应用实例

下面以房屋贷款的案例来说明业务流程的执行BPEL流程信息库,用来存储流程模板,是BPEL文件格式,由于它是用XML描述的,因此很容易对它们进行解析。流程实例信息库,用来存储流程实例中的变量信息,以及流程相关的状态信息。

3.1案例的由来

目前我国的房价飞速上涨,这与炒房者一人拥有多套房子不无关系,而大部分炒房者都是用银行贷款的钱在“炒房”,这与我国目前的银行贷款政策有关。目前我国的银行房屋贷款政策对购买一套房和多套房的首付和贷款利率是一样的。这样的银行政策为“炒房者”提供了机会,使他们能够以少量的首付贷款得到房子,然后倒手得到巨大的差价。

银行应该根据“购房者”目前拥有的房尾数量提供不同的首付比率和贷款利率。房屋数量为0的客户应该得到最小的首付比例和最低的贷款利率;然后根据客户的房屋数量依次相应提高首付比例和贷款利率,这样应该能起到抑制房价的作用。下面的实例假定银行政策已经这么执行了。

3.2业务现状

目前有5个独立的Web Service,它们互相之间互不知道,也不能互相调用。

(1)HouseLoanAgency:专门负责根据客户姓名查询客户的已有房屋数量。

(2)Bank0:专门负责处理已有房屋数量为0的客户的房屋贷款需求,有专门针对房屋数量为。的贷款首付和贷款利率。

(3)Bank1:专门负责处理已有房屋数量为1的客户的房屋贷款需求,有专门针对房屋数量为1的贷款首付和贷款利率。

(4)Bank2:专门负责处理已有房屋数量为2的客户的房屋贷款需求,有专门针对房屋数量为2的贷款首付和贷款利率。

(5)Bank3:专门负责处理已有房屋数量大于2的客户的房屋贷款需求,有专门针对房屋数量大于2的贷款首付和贷款利率。

3.3业务需求

在完全不影响上面的5个Web Service正常运行的情况下。包括不修改上面5个web Service的任何代码的情况下,将上面5个web Service集成起来。这个新的系统只需要输入用户姓名,系统就会首先自动查出客户的房屋数量,然后自动转到相应的银行进行房屋贷款服务,客户最后可以得对应于他的目前已有房屋数量的贷款首付和贷款利率。

基于SOA和BPEL的业务流程管理研究与应用: 4 结束语

本文在基于SOA架构的开发中引入BPEL,对业务流程进行管理。该思想的引入,将使得企业在以往基于面相服务的体系结构开发过程中所遇到哦的血多难题变得容易解决。但是,由于XML自身的局限性,以及对客户的需求分析理解方面的等等问题,WS-BPEL还需要进一步改进。在流程建模方面,由于设计方案多种,如何创建一个优质的业务流程非常重要。这些都为以后的研究提供了参考方向。

相关链接
基于业务流程管理的价值增值报告模式...2010-04-16 BPM平台选型:企业当随需选取2010-05-01
绩效考核指标应从流程出发2010-05-03 流程优化的三重境界2010-04-09
培育细分领域核心能力,构建差异化竞...2010-05-05 企业业务流程再造及其效果研究2010-05-12
“中国式”业务流程管理发展的十大结论2010-05-14 九州通医药:物流信息化打造第一品牌...2010-03-27
管控流程设计——“鱼和熊掌如何兼得”2010-03-26 基于精细化管控的高效流程设计2010-05-21
信息化软件应用目录
OA 办公自动化系统 CRM 客户关系管理系统 PM 项目管理系统 SCM 供应链管理系统 CC 协同商务系统 BPM 业务流程管理 BI 商务智能 CMS 内容管理系统 KM/KBS 知识管理系统 电子商务系统 HRM 人力资源管理系统 ERP 企业资源计划 EAM 企业资产管理系统
升蓝首页 | 文档首页 | 产品首页 | 服务首页 | English Version | Big5 Version | 联系我们
Copyright © 1999-2008 深圳市升蓝软件开发有限公司  URL: http://www.hi-blue.com