BPEL与Java


======================================================
注:本文源代码点此下载
======================================================

简介

几乎每一个新的技术和企业应用开发平台背后的思想和的动机都是为了提供一个更易于开发业务应用的环境,在此,开发环境不能过于复杂,业务应用应与业务流程紧密地结合起来,并可以适应业务流程的不断变化的性质没有太多精力。

java为这类应用的开发提供了一个很好的平台,但今天的商业应用不能被孤立起来。在公司内部,企业应用必须是互操作的和集成的,在公司之间也是如此。整合不同的应用,一直以来都是一项与各种功能和技术的相关的艰巨的任务。

一体化的挑战的最新解决方案是面向服务架构(soa)和web服务技术。 soa的自下而上的观点认为应通过web服务来暴露不同的业务应用的功能。因此,现在可以通过一个新的标准化方式(web服务)来访问不同的传统和新开发的应用程序。这种访问方式是重要的,因为典型的公司都有大量的现有应用程序需要整合。

仅仅有web服务的开发和功能的暴露是不够的。我们还需要一种可以使用正确的顺序将这些功能整合起来的方式——一种可以使用这些暴露的功能来定义业务流程 的方式。我们当然喜欢比较简单和直接的方式来定义这些过程,尤其是认识到业务流程经常改变之后,我们想要更容易的对其进行修改。

正因如此,bpel(web服务的业务流程执行语言,也称ws-bpel、bpel4ws)变得非常重要。 bpel允许web服务的组合,是自上而下的、基于过程的soa方法。

本文主要讨论bpel的作用及其与java的关系。我们将集中精力专门针对bpel的扩展,一方面能够整合web服务之外的其他资源(例如ejb,jms等),另一方面有可能将bpel和java代码相结合,展示一些有趣的新观点。

bpel的作用

这一基于过程的soa方法需要一种语言来对web服务是如何组成业务流程进行相对简单的描述。当然,如果这样的描述也可以执行就更好了,这将使我们不仅要定义抽象流程定义,还要对流程撰写确实可执行的规范。 bpel就是这样一种语言,也是第一个这种语言,它可以:

1.允许我们定义抽象和可执行程序

2.为大部分公司所支持

3.存在可以对这种程序进行执行(bpel服务器)和开发(bpel的设计器)的软件(来自多个供应商)。

在我们更深入地了解bpel之前,先讨论一下web服务组合的两种方法:业务流程和动作。在业务流程,中央接管进程所涉及的web服务的控制和协调不同的 业务在操作中涉及的web服务的执行。这是按照业务流程的需求而做的。所涉及的web服务并不知道(也不需要知道)它们所涉及到的组合,它们只是一个更高 的业务流程的一部分。只有在业务流程的中心协调员知道并对有明确的业务流程定义的行动和对web服务的调用顺序进行集权。

另一方面动作不依赖于中央协调器。相反,每个web服务中所涉及的动作都确切地知道应该什么时候执行其业务和跟谁进行交互。动作是一个重点在于信息交换的协作过程。所有参与其中的动作都必须知道业务流程、业务执行、互换的信息,以及信息互换的时机。

从组合web服务来执行业务流程的角度来看,业务流程比动作更加灵活:

1、可以确切地知道究竟谁应该为整个业务流程的执行负责。

2、可以将web服务纳入业务流程之中,即使是它们并不知道自己是一个业务流程的一部分。

3、另外,还可以提供发生故障时可以采用的替代方案

bpel遵循业务流程范例。业务流程为其他标准所覆盖,如wsci(web服务业务流程接口)和ws-cdl(web服务业务流程描述语言)。业务流程并未得到业内人士将可媲美bpel的支持。

bpel的第一个版本早在2002年8月就已经由bea,ibm和微软所制定。此后,大多数厂商的加入引起了若干次修改并在2003年3月改进和制定了 1.1版。2003年4月,bpel提交给oasis(结构化信息标准促进组织)标准化,从那时起wsbpel训练班(web服务业务流程执行语言技术委 员会)就已经成立(http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel) 。这导致了在行业中更广泛的接收。

bpel可以用于公司内部和公司之间。bpel在公司内部用于规范企业应用的集成和整合,扩展先前孤立的系统。bpel在企业之间,使业务伙伴之间可以更容易和更有效的整合。bpel中业务流程的描述不影响现有系统从而刺激系统的升级。 bpel是功能已经存在或即将通过web服务公开的情况下的关键技术。随着在web服务技术的使用的增加,bpel的重要性也将进一步提升。

bpel语言


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
BPEL 背景知识   首先,介绍一些背景知识。BPEL 基于 XML 和 Web 服务构建;它使用一种基于 Web语言,该语言支持 web 服务技术系列,包括 SOAP、WSDL、UDDI、Web 服务可靠性消息、Web 服务寻址、Web 服务协调以及 Web 服务事务。   BPEL 代表了两种早期工作流语言 - Web 服务语言 (WSFL) 和 XLANG 的交汇。WSFL 由 IBM 基于有向图概念设计。XLANG 是一种由 Microsoft 设计的块结构化语言BPEL 组合了这两种方法,并提供了丰富的词汇来描述业务流程。   BPEL 的第一个版本诞生于 2002 年 8 月。此后,随着许多主要供应商(包括 Oracle)的纷纷加入了,催生了多项修改和改进,并于 2003 年 3 月推出了 1.1 版。2003 年 4 月,BPEL 提交结构化信息标准促进组织 (OASIS) 以实现标准化,并组建了 Web 服务业务流程执行语言技术委员会 (WSBPEL TC)。该努力使 BPEL 在业界获得更广范围的认可。   在企业内部,BPEL 用于标准化企业应用程序集成以及将此集成扩展到先前孤立的系统。在企业之间,BPEL 使业务合作伙伴的集成变得更容易、更高效。BPEL 激发企业进一步定义它们的业务流程,从而导致业务流程的优化、重新设计以及选择最合适的流程,进而实现了组织的进一步优化。BPEL 中描述的业务流程定义并不影响现有系统,因此对升级产生了促进作用。在已经或将要通过 Web 服务公开功能的环境中,BPEL 是一项重要的技术。随着 Web 服务的不断普及,BPEL 的重要性也随之提高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值