【06】业务流程ppt课件_第1页
【06】业务流程ppt课件_第2页
【06】业务流程ppt课件_第3页
【06】业务流程ppt课件_第4页
【06】业务流程ppt课件_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SOA原理与技术业务流程1业务流程1. 业务流程执行言语WS-BPEL规范2. 目前主流的WS-BPEL引擎3. Apache ODE2第1部分业务流程执行言语WS-BPEL规范3业务流程执行言语WS-BPEL规范业务流程执行言语Business Process Execution Language, BPEL,发音为bipple或bee-pell,也叫业务过程执行言语,是一种基于XML的,用来描写业务流程的编程言语,被描写的业务流程的每个单一步骤那么由Web效力来实现。4业务流程执行言语WS-BPEL规范BPEL是基于Web效力的,并且依赖于WSDL。一个BPEL流程可以发布为一个WSDL定

2、义的效力,并像其它Web效力一样被调用。而且,BPEL希望一个Web效力合成所包含的全部外部Web效力,都是用WSDL效力契商定义的,这令BPEL流程可以调用其它BPEL流程,甚至可以递归的调用本人。5业务流程执行言语WS-BPEL规范值得留意的是BPEL不直接支持人机对话,BPEL所描写的过程仅与Web效力通讯,而这些Web效力却可以提供与用户的信息交换,但它们不是用户本身。用BPEL编写的流程可以在任何支持BEPL规范的平台或产品上运转。6业务流程执行言语WS-BPEL规范协议根底WSBPEL是基于XML定义的流程描画言语,它位于几个XML规范之上:WSDLl.1、XML Schemal.

3、0和XPathl.0。其中WSDL音讯和XML Schema类型定义提供了BPEL流程所用的数据模型;XPath为数据处置提供支持;一切的外部资源和同伴被表示成WSDL效力。7业务流程执行言语WS-BPEL规范BPEL包含的范围处置活动的顺序,特别是网络效力互操作。音讯和处置实例之间的关系。在发生错误和例外情况下的恢复行为。处置角色之间的基于网络效力关系的双面性8业务流程执行言语WS-BPEL规范实例1 : BPEL的根本构造 ? . ? . ? . 9业务流程执行言语WS-BPEL规范 ? . ? . ? . activity10业务流程执行言语WS-BPEL规范 前面的BPEL根本构造包括

4、了一部分为了定义一个业务流程,BPEL引入如下关键元素:伙伴链接 变量 活动 关联集合事件处理程序 BPEL事务与补偿机制 BPEL异常管理 11业务流程执行言语WS-BPEL规范部分关键元素之间的关系:流程是由一系列的活动组成的;流程经过同伴链接来定义与流程交互的其他效力;效力中可以定义一些变量;流程可以是有形状的长时间运转过程,流程引擎可以经过关联集合将一条音讯关联到特定的流程实现。12业务流程执行言语WS-BPEL规范同伴一个流程可以调用其他效力,也可以呼应来自客户端的恳求一个流程既可以作为效力的恳求者,也可以扮演效力的提供者BPEL把与流程交互的其他效力称为同伴13业务流程执行言语WS

5、-BPEL规范在异步通讯环境中,流程与同伴之间的会话能够是双向的,它们会扮演不同的角色。因此,为了消除在通讯过程中的多义性,我们需求明确效力和流程所扮演的角色。14业务流程执行言语WS-BPEL规范例如:在BPEL中的同伴BPEL: 15业务流程执行言语WS-BPEL规范Purchase Process WSDL:Purchase Process PortType: 16业务流程执行言语WS-BPEL规范同伴链接同伴链接用于实现Web效力长期稳定的交互,描画同伴之间的关联。这种关联是经过元素来定义的。假设在流程的活动中需求指定与特定同伴的交互,只需求援用partnerLink的称号即可。在元素

6、中,属性myRole指出了业务流程本身的角色,而属性partnerRole指出了同伴的角色17业务流程执行言语WS-BPEL规范经过partnerLink的笼统,在流程建模时不用指定详细的效力端点,而将流程与详细效力的绑定推迟到组装或运转时来完成。这种动态同伴关系为流程带来了极大的灵敏性,也加强了流程的可复用性。18业务流程执行言语WS-BPEL规范实例2 :一个包含的实例 19业务流程执行言语WS-BPEL规范 20业务流程执行言语WS-BPEL规范在实例2中,他会留意到每一个元素中都包含一个partnerLinkType 属性。下面让我们来解释一下 partnerLinkType 。同伴链

7、接经过援用partnerLinkType同伴链接类型来定义流程与同伴效力之间的通讯接口实践上是WSDL文档中的Port Type。21业务流程执行言语WS-BPEL规范同伴链接类型声明了两个或多个效力之间的关系。同伴链接类型定义了一组角色,其中每个角色指明一组Port Type,即明确了该角色所提供的效力接口,一边接纳会话的上下文音讯。 假设partnerLinkType仅有一个角色,那么将根据需求省略其中一个属性partnerLinkType通常被定义在WSDL文档中,被BPEL流程所援用。22业务流程执行言语WS-BPEL规范以下图展现了BPEL流程定义和WSDL文件之间的映射关系。23业

8、务流程执行言语WS-BPEL规范实例2的代码片段显示了如何利用partnerLink和 partnerLinkType 定义流程与同伴的协作关系。 根据BPEL流程定义和WSDL文件之间的映射关系,我们还需求在流程对应的WSDL文档中定义partnerLinkType。 24业务流程执行言语WS-BPEL规范实例3 :与实例2对应的WSDL文档中定义partnerLinkType 25业务流程执行言语WS-BPEL规范. . 26业务流程执行言语WS-BPEL规范在实例3中可以留意到:协作同伴链接类型与协作同伴链接之间具有一对多的关系,同一个协作同伴链接类型可以用来描画多个协作同伴链接。虽然运

9、用效力的用户必需静态地依赖于特定的port-Type,但是在执行过程中可以经过端口类型动态地发现和运用包括在端口定义中的信息。27业务流程执行言语WS-BPEL规范变量:在BPEL中,可以运用变量来保管和传送流程的形状信息。它们通常是从协作同伴那里接纳到音讯,或者是被发送给协作同伴的音讯。同时,它们还有能够是与流程有关的形状音讯,这些音讯并不与协作同伴进展交换28业务流程执行言语WS-BPEL规范BPEL支持的变量类型包括三种:1.由WSDL文件所定义的音讯类型(message type);2.由XML Schema所定义的简单类型(simple type);3.由XML Schema所定义的

10、元素(element).29业务流程执行言语WS-BPEL规范可以赋值给变量的数据类型需求提早用messageType, element或type属性定义好。messageType属性表示允许变量包含WSDL定义的整个信息; element属性表示一个XSD元素构造;type属性表示一个XSD简单构造,比如:string ,integer30业务流程执行言语WS-BPEL规范变量是有作用域的:每个变量只需在定义它的作用域和所包含的作用域内的全部作用域中才是可见的属于全局流程作用域的变量称为全局变量;属于流程作用域的变量称为部分变量31业务流程执行言语WS-BPEL规范BPEL支持四种表达式布尔

11、表达式。继续时间表达式。截止时间表达式。普通表达式,可以归结为XML Schema中所定义的string, number和boolean格式。32业务流程执行言语WS-BPEL规范BPEL同时支持一些操作符,如简单的算术运算(加、减、乘)、简单的比较运算(等于、不等于、小于、大于、小于等于、大于等于)、布尔运算(and和or运算)以及对xml格式的操作符。现有的BPEL可以经过外部的表达式言语来描画、计算表达式,这经过process的expressionLanguage属性进展表达式言语指定,如今只能指定为XPath1.033业务流程执行言语WS-BPEL规范BPEL:Purchase Pro

12、cess WSDL: 34业务流程执行言语WS-BPEL规范WS-BPEL提供了一些内置的函数支持变量内容的处置:(1)getVariableProperty(variableName, propertyName)(2)getVariableData(variableName, partName?, locationPath? )35业务流程执行言语WS-BPEL规范实例4:用getVariableData函数检索不同变量中特定的数据片段getVariableData (InvoiceHoursResponse, ResponseParameter) getVariableData (inpu

13、t,payload, /tns:TimesheetType/Hours/.) 36业务流程执行言语WS-BPEL规范活动:BPEL是由一系列步骤组成,这些步骤称为活动活动分两类:根本活动描画了流程内的一个详细步骤,如接受恳求、调用同伴效力、变量赋值等构造化活动描画了如何组织和管理流程的控制流37业务流程执行言语WS-BPEL规范根本活动:根本活动是与外界进展交互最简单的方式,活动内不会嵌套其它活动。它们是无序的个别步骤,与效力进展交互、操作、传输数据或者处置异常等。38业务流程执行言语WS-BPEL规范根本活动包括如下:流程用于和外界进展交互的根本活动:receive、invoke、reply

14、;流程用于传输数据的根本活动:assign;经过throw活动发出缺点信号;经过exit活动放弃一切流程实例的执行;经过wait活动使流程等待一段时间或到达某个截止期限后再执行;经过empty活动不执行任何的动作;39业务流程执行言语WS-BPEL规范主要根本活动:担任调用效力receivereplyinvokeassignwaitemptyexit40业务流程执行言语WS-BPEL规范构造活动:构造化的活动规定了一组活动发生的顺序。他们描画了业务流程是怎样经过把它执行的根本活动组成构造而被创建的,这些构造表达了涉及业务协议的流程实例间的控制方式、数据流程、缺点和外部事件的处置以及音讯交换的协

15、调。构造化的活动可以被恣意的嵌套和组合41业务流程执行言语WS-BPEL规范 主要构造活动包括如下: sequence按照一个序列处置一系列活动while在一个条件满足的情况下处置一个活动switch按照不同条件处置不同活动flow平行或者按照随意顺序处置活动pick按照外部事件从过程的角度不定值地选择42业务流程执行言语WS-BPEL规范主要构造活动sequenceflowwhileswitchpick43业务流程执行言语WS-BPEL规范以上是是BPEL4WS1.1中常见的义务,在最新发布的WS-BPEL2.0支持更多新的义务或行为44业务流程执行言语WS-BPEL规范45业务流程执行言语

16、WS-BPEL规范活动举例: 接纳一个用户id根据id获取用户的名字输出“Hello, 此id的名字46业务流程执行言语WS-BPEL规范对应的源码:47业务流程执行言语WS-BPEL规范活动详解:Receive(接纳) /Reply(回答)活动从流程的外部同伴那获得数据,并将其保管到流程变量。通常一个Receive是一个流程的初始点,它会阻塞执行直到匹配的音讯的到达。在异步信息交换时,receive也可以接纳回收信息。48业务流程执行言语WS-BPEL规范元素有5个属性: partnerLink :在通讯过程中识别同伴 portType:从同伴方接纳恳求音讯的接口 operation :接纳

17、恳求音讯 variable:用来存储接纳到的恳求音讯 createInstance: 当该属性设置为yes时,它指明了当前流程接纳到匹配音讯是会创建新的流程实例来处置该恳求49业务流程执行言语WS-BPEL规范活动发送音讯给同伴来应对经过Receive活动所接纳到的音讯。Receive 和Reply的组合对应着WSDL portType上定义的一个恳求呼应操作。假设receive活动对应着一个单向操作,那么不能在流程中定义对应的reply活动。50业务流程执行言语WS-BPEL规范元素也有5个属性:其中, partnerLink, portType 和 operation含义 同receive

18、元素的属性含义一样。variable:用来存储从同伴前往的音讯messageExchange:这是一个WS-BPEL2.0新添加的可选的属性。它使得reply元素可以准确的关联到一个可以接纳信息的活动比如 receive元素51业务流程执行言语WS-BPEL规范实例4 :包含receive /reply活动的片段 52业务流程执行言语WS-BPEL规范53业务流程执行言语WS-BPEL规范留意:1在实例4中:receive和reply活动中都是经过partnerLink来引导预定义同伴关系的,而且需求设置portType 和operation属性来声明流程实现的WSDL portType和操作

19、。2假设将receive活动作为流程的起始点,那么需求将receive活动的createInstance属性设置为yes,它指明了当前流程接纳到匹配音讯是会创建系的流程实例来处置该恳求。54业务流程执行言语WS-BPEL规范在BPEL流程中,我们还可以定义更为复杂的音讯呼应机制,可以将特定的音讯关联到相应的流程实例中。关联集合就是为理处理上述问题而提出来的。55业务流程执行言语WS-BPEL规范Invoke 恳求活动允许业务流程同步或异步伐用由协作同伴提供的效力,效力实现可以是单向或恳求呼应操作。该元素也有5个属性: partnerLink :指明同伴效力 portType: 区分同伴效力的p

20、ortType565.2:业务流程执行言语WS-BPEL规范operation :同伴效力对于从业务流程发送来的恳求所要进展的处置操作inputVariable :用于与同伴进展交流的输入信息。留意:输入信息作为一个变量outputVariable:该属性用于恳求呼应操作中保管前往值变量。57业务流程执行言语WS-BPEL规范实例5:invoke元素区分目的同伴的实现细节 58业务流程执行言语WS-BPEL规范Assign 赋值活动的作用是用新的数据元素来更新变量的值。Assign活动可以包括恣意数量的根本复制操作Assign 活动还可以把端点援用复制到协作同伴链接,或把协作同伴链接复制到端点

21、援用,以实现效力的动态绑定。59业务流程执行言语WS-BPEL规范实例6:TimesheetSubmissionFailedMessage 变量被复制到另一个信息变量 60业务流程执行言语WS-BPEL规范留意:copy构造可以起到数据转换的功能比如:可以将一个变量的一部分copy到另一个变量61业务流程执行言语WS-BPEL规范Wait 等待活动会暂停流程执行,等待一段给定的时间或等到某一时辰才干继续运转。Empty 空活动不执行任何的动作。Exit活动放弃一切流程实例的执行。62业务流程执行言语WS-BPEL规范Sequence 顺序活动定义一段按顺序先后执行的活动。执行顺序是sequen

22、ce活动中嵌套活动的先后顺序。当sequence中的最后一个活动完成后,该sequence活动也就完成了。63业务流程执行言语WS-BPEL规范实例7:一个sequence构造的纲要 . . . . 64业务流程执行言语WS-BPEL规范Flow 流程活动可以描画更为复杂的活动执行顺序。我们可以利用flow来指定一个或多个并行执行的活动。为了定义恣意的控制构造,可以在并行的活动中运用链接。Flow能进一步表达直接或间接嵌套在其中的活动之间的同步相关性,link(链接)用来表达这种同步相关性。65业务流程执行言语WS-BPEL规范Flow活动出现的一切link必需在flow活动中分开定义,并经过

23、称号进展标识。Flow活动中嵌套的活动需求经过source或target属性来阐明该活动为哪个链接的源或目的活动。在flow活动中,对于每一个link必需有且仅有一个活动作为它的源活动,同样有且仅有一个活动作为它的目的活动。66业务流程执行言语WS-BPEL规范目的活动会在源活动完成之后执行。这样flow内部的活动就可以经过活动构成一个有向图。我们还可以在link源上定义transition变化条件,当源活动完成之后,BPEL引擎会检查变化条件能否满足,假设link的变化条件满足,目的活动就会执行。67业务流程执行言语WS-BPEL规范Switch分支活动与传统的构造化言语的功能类似,用于从一

24、组分支情况中选择一个特定的活动分支加以执行。Switch由case元素定义的一个活多个条件分支的有序列表组成,后面可跟也可以不跟一个otherwise分支。68业务流程执行言语WS-BPEL规范以case分支的出现顺序检查,第一个条件是true的分支被选择并被作为被执行的活动 。假设有条件的分支都未被选择,那么otherwise分支将被选择。留意:在WS-BPEL 2.0中,switch活动曾经被if,elseifthen 活动取代。69业务流程执行言语WS-BPEL规范实例7:switch活动框架 . . 70业务流程执行言语WS-BPEL规范While循环活动也承继于传统的构造化编程思想,

25、提供了while-do循环构造的支持。它可以包含一个活多个活动它指定反复执行其内部活动,知道胜利条件不被满足为止。71业务流程执行言语WS-BPEL规范Pick选取活动会等待一组相互排斥事件中的一个时间的发生,然后执行与发生的事件相关联的活动。它会阻塞业务流程的执行,以等待某一特定的事件发生。当其中任何一个事件被触发后,业务流程就会继续执行,pick也随即完成了,不会再等待其他事件的发生。72业务流程执行言语WS-BPEL规范每个pick活动必需至少包括一个onMessage事件。onMessage事件的语义等同于有关变量属性的可选择类型的receive活动。Pick活动还可以定义onAlar

26、m事件用于指定超时警报。73业务流程执行言语WS-BPEL规范Pick活动也可以作为业务流程的起始点,指定流程可以接纳多种不同的音讯,并让流程在接纳到特定音讯后创建新的流程实例来处置音讯。这里与receive活动类似,我们需求将pick活动的createInstance属性设置为“yes。当然这时候就不应该定义onAlarm超时事件。74业务流程执行言语WS-BPEL规范关联集合:BPEL提供了声明性机制,以指定效力实例中相关联的操作组。一组相关标志可定义为相关联的组中一切音讯共享的一组特性。这样的一组特性称为关联集合。每个关联集都在一个作用域中进展声明并属于该作用域。属于全局流程作用域的关联

27、集称为全局关联集;属于部分作用域,这样的关联集称为部分关联集。75业务流程执行言语WS-BPEL规范在流程开场时,全局关联集处于未初始化的形状。在其所属的作用域的执行开场时,本地关联集处于未初始化的形状。相关集在其语义上类似于延迟绑定的常数。相关集的绑定由特别标志的音讯发送或接纳操作来触发。相关集在其所属的作用域的生存期中只能初始化一次。在初始化之后,它的值就可被以为是业务流程实例的标识的别名76业务流程执行言语WS-BPEL规范相关集用来关联和标定一个BPEL过程实例。对需求坚持会话形状的BPEL业务需求以及多方业务协议来说是非常有用。初始者流程发送启动会话的第一个音讯,从而定义了标志该对话

28、的相关集合中的特征值。一切其他参与者经过接纳提供相关集中的特征值的传入音讯来绑定会话中的相关集。77业务流程执行言语WS-BPEL规范比如:一个游览社订票流程,当该流程启动之后,用户需求可以查询该流程形状,并能取消该流程。这就需求相关集的支持来确保后续的恳求音讯绑定到一样的流程实例中。相关集的称号用在invoke、receive和reply活动中,也用在pick活动的onMessage分支中,同时还用在事件处置程序的onMessage方式中。 78业务流程执行言语WS-BPEL规范生命周期:每个实例的生命周期为从实例的创建到实例的终止。实例的创建:当receive或pick活动的createI

29、nstance属性被设为“yes时,当活动执行到它们时就会检查该实例能否存在,假设不存在就创建一个新实例。79业务流程执行言语WS-BPEL规范实例的终止方式有以下几种:当定义流程的活动全部完成时,正常终止;当缺点出现时,异常终止;当流程实例被terminate活动显式地终止,异常终止。80业务流程执行言语WS-BPEL规范至此,我们曾经引见了BPEL流程中关键元素的引见。既然说BPEL是专为Web效力设计的,那让我们来看一下BPEL流程和WebService交互运用:81业务流程执行言语WS-BPEL规范首先由客户端(JSP)经过音讯发起流程,创建流程实例并传入相关参数;流程在Receive

30、节点将参数存入与BPEL流程绑定的WSDL接口的输入变量BO中;82业务流程执行言语WS-BPEL规范添加invoke节点调用外部的WebService,该Web效力能够是由ERP、CRM或者OA等业务系统暴显露的效力接口,WebService根据输入变量BO完成查询数据库、启动其他任务流等相关业务处置并前往输出值给BPEL流程;流程在Reply节点把输出值前往给前台JSP,至此流程终了83业务流程执行言语WS-BPEL规范BPEL异常管理活动执行过程中发生异常,业务流程必需对错误进展处置,BPEL提供了异常处置机制用户可以在业务流程中添加faultHandler来捕获处置相应的异常fault

31、Handler与特定的Scope关联,用于捕获Scope内产生的异常。当异常发生时,BPEL正常执行流终了,控制流转入faultHandler内执行。84业务流程执行言语WS-BPEL规范补充:特殊活动 ScopeScope活动为嵌套在其中的活动提供缺点处置功能和补偿处置功能。scope 可以提供缺点处置程序、补偿处置程序、数据变量和相关集。 每个Scope有一个定义它的正常行为的主要活动。该主要活动可以是一个复杂的构造化的活动,其中有恣意深度的许多嵌套的活动。一切的嵌套的活动都共享该Scope85业务流程执行言语WS-BPEL规范faultHandler包含多个catch活动,每个catch

32、活动能拦截某种特定的缺点假设没有缺点名,那么catch将拦截全部有适宜类型的缺点catchAll表示默许的错误处置活动86业务流程执行言语WS-BPEL规范异常处置器会尝试三种处理方案:1分析该错误信息,并根据指定规那么找到对应的适宜的行为进展处置;2运用一个rethrow行为,向外再次抛出一个错误3强迫终止该流程的执行。87业务流程执行言语WS-BPEL规范实例8:异常处置 activity 88当异常在特定的Scope内产生时,假设被Scope内内定义的faultHandler捕获,那么该Scope形状被置为Failed,当异常被处置后,外部Scope继续执行。假设异常无法被Scope内的

33、faultHandler捕获或无faultHandler定义,那么该Scope形状被置为Failed,并且将异常抛出到外部Scope继续处置,直到异常被处置为止。业务流程执行言语WS-BPEL规范89业务流程执行言语WS-BPEL规范BPEL事务与补偿机制事务:是指一组作为同一单元的活动,要么全面胜利,要么全部失败。事务包括如下属性:原子性 、一致性、隔离性 和耐久性ACID90业务流程执行言语WS-BPEL规范由于一个业务流程能够需求继续很长时间,而且流程能够涉及到外部效力。在流程完成之前,单个活动能够曾经完成,假设随后某个事件或错误发生而导致流程取消,曾经完成的活动需求被恢复。在这种情况下

34、我们要运用补偿机制来完成义务。91业务流程执行言语WS-BPEL规范补偿处置是为了将流程的形状回滚,回到跟进入作用域前一样。所需求做的就是将该作用域内已执行部分采用其它行为进展撤销,通常是调用一个效果相反的效力。经过补偿处置程序,作用域可以描画一部分经过运用程序定义的方式可撤销的行为。有补偿处置程序的作用域可不受约束恣意深地被嵌套。92业务流程执行言语WS-BPEL规范补偿处置程序仅仅是补偿活动的包装。在许多情况下,补偿处置程序需求接纳当前形状的数据并前往关于补偿结果的数据。补偿处置程序的调用方法是运用compensate活动。93业务流程执行言语WS-BPEL规范事件处置程序:整个流程以及每

35、个作用域可以与一组在相应的事件发生时并发调用事件处置程序相关联。在事件处置程序中进展任何类型的活动,但是不允许运用调用补偿处置程序。事件处置机制从作用域的一开场就激活,不断等待事件的到来而执行内部行为,也会随着作用域的终了而终了。94业务流程执行言语WS-BPEL规范有两种类型的事件:与WSDL中恳求/呼应或单向操作对应的传入音讯;用户设置的时间过后发出的警报。 95第2部分目前主流的WS-BPEL引擎96目前主流的WS-BPEL引擎BPEL中心组件有三部分组成BPEL设计工具BPEL Designer业务流模板Process flow templateBPEL引擎BPEL Engine97目

36、前主流的WS-BPEL引擎BPEL设计工具 大多基于Eclipse实现。业务流模板 业务流模板遵守BPEL规范。它在设计阶段有BPEL设计工具生成,运转阶段由BPEL引擎执行。98目前主流的WS-BPEL引擎BPEL引擎执行任何与BPEL规范相符的业务流模板,主要功能包括调用Web效力,数据内容映射,错误处置,事务支持,平安等等。 通常BPEL引擎与运用效力器集成在一同。99目前主流的WS-BPEL引擎举个简单例子来了解一下上述概念:比如说一个审理文件的任务流系统。如今要审批一个文件,他只需求坐在电脑旁,翻开公司的任务流系统,点击某个按钮来启动审批这个文件的流程。这样,他的文件就随着任务流系统

37、的控制,从一级指点-二级指点等等一路走了下来。当然,这些指点们也是这个系统的用户,他们进入这个系统就看到了本人需求审批他的文件了100目前主流的WS-BPEL引擎在上面这个例子中,流程普通是用流程设计器也就对应上文的BPEL设计工具来创建的。把流程创建好之后,普通会生成一个基于XML的文本文件对应业务流模板,这个文件其实就是他刚刚设计的流程。然后,他把文件交给流程引擎,设计器的任务就算完成了嗯?那引擎是什么?101目前主流的WS-BPEL引擎2引擎是什么?只需上面的流程文件没什么作用,这时就需求一个“东西来处置这个文件了,它读取这个文件的内容,根据文件设定的流程走向来控制这个流程。这个关键性的

38、“东西就是引擎。引擎就好似流程的指南针一样,指点着流程走向不同的地方。它是整个系统的中心102目前主流的WS-BPEL引擎目前主流的WS-BPEL引擎有以下几个:Oracle BPEL Process Manager 甲骨文公司的BPEL规范的执行,带有JDeveloper和Eclipse的图像式模型和调配工具IBM的WBI Server FoundationBEA Integration103目前主流的WS-BPEL引擎开源的:ActiveVOS 一个开放源代码的BPEL4WS 1.1的执行Twiste 一个开放源代码的BPEL规范的执行,支持面向效力架构和人机界面,现名Agilabexee

39、fivesight-pxe104目前主流的WS-BPEL引擎开源的WS-BPEL引擎:ActiveVOSActiveVOS是ActiveBPEL的商业化产品。ActiveBPEL引擎的最新版本3.0,完全支持WS-BPEL2.0规范。其包含引擎和定制工具以及控制台。引擎是开源,但是定制工具并非开源。ActiveBPEL 是BPEL引擎的代表。105目前主流的WS-BPEL引擎ActiveBPEL 引擎在构造上有三个主要的方面 : 引擎 engine, 流程process和活动 activity。 引擎执行相匹配的一个或多个 BPEL 流程 , 流程由活动组成 , 并按照活动的顺序或包含 LIN

40、K 执行 。ActiveBPEL 引擎根据 BPEL 流程的定义 (XML 文件 ) 创建流程实例 , 并执行这个流程。106目前主流的WS-BPEL引擎引擎:107目前主流的WS-BPEL引擎引擎图中右边的数据库元素代表普通的耐久性存储 . ActiveBPEL 引擎采用了插入式的构造 , 不同的管理器可以执行不同的存储机制 . ActiveBPEL 引擎伴有一个继续的管理者在内存中记录每件事。108目前主流的WS-BPEL引擎WS-BPEL引擎任务原理简介:1启动引擎利用一个引擎工厂管理一个 ActiveBPEL 引擎的创建。并经过一个对象提供的缺省值并读取aeEngineConfig.x

41、ml文件来配置引擎。2创建流程109目前主流的WS-BPEL引擎流程创建 每个 BPEL 流程必需至少有一个起始活动 . 一个新的 BPEL 流程当它的起始活动被触发时创建 , 也就是一个引入音讯或一个 PICK 活动的警报的到来 引擎分派引入的音讯给正确的流程实例 . 假设有相关的数据 , 引擎就会发现正确的实例并匹配相关的数据 . 假设没有相关的数据 , 恳求匹配一个新的活动 , 一个新的流程实例被创建 .110目前主流的WS-BPEL引擎流程创建图示:111目前主流的WS-BPEL引擎3输入和输出Activebpel引擎本身并不处置输入和输出。 然而 , 协议规范处置器像 AeBpelR

42、PCHandler 和 AeBpelDocumentHandler 把数据从一种特殊的协议转换为一种音讯 ,反之亦然。112目前主流的WS-BPEL引擎4数据处置一切变量的实现经过 IAeVariable 接口。这个接口可以得到变量的定义和它的有效负载 , 假设变量被声明成一种相对的元素或音讯 , 将会有所不同 音讯的负载需求一个和部件对象交互的接口 。113目前主流的WS-BPEL引擎5表达式计算一切活动和链接允许运用对象各种属性的表达式。这些表达式需求一个相容的方法来执行 并描画执行的相互关系。 IaeBpelObject对象本身可以包含这些实现并可以提供承继于对象的笼统根本类.BPEL对

43、象是它本人的作用域并且可以被用来正确的找回表达式内容的变量.赋值允许一切的XPATH扩展( for example, bpws:getVariableData )。114目前主流的WS-BPEL引擎6调试及日志Debugging and Logging在流程执行期间 ,ActiveBPEL 引擎激活流程的事件 。当日志启动 , 一个 AEEngineLogger 实例监听引擎的事件并写出每个流程的日志文件。一旦流程完成 , 文件封锁日志文件放在user.home/AeBpelEngine/process-logs115目前主流的WS-BPEL引擎IBM的WS-BPEL引擎:WBI Server

44、 FoundationWBI Server Foundation由运转环境和开发环境组成,它的开发环境是WSAD-IE,在WSAD-IE中完成流程开发后,将流程的EAR运用部署到运转环境中WBI Server Foundation 的运转环境提供一个高效的J2EE任务流引擎,它由流程导航(Navigator)、人员交相互关的任务项管理(WorkItem Management)、工厂(Factory)、内部和外部接口、客户端(Client)等部分组成116目前主流的WS-BPEL引擎WBI Server Foundation 的运转环境:117目前主流的WS-BPEL引擎导航器:导航器组件是流程

45、引擎的中心,它管理一切流程实例的形状过渡以及这些流程实例中一切活动的形状过渡。任务项管理:Work Item Manager 组件担任在流程引擎的数据库中创建和删除任务项,根据该数据库分析来自流程参与者的任务项查询等118目前主流的WS-BPEL引擎工厂:工厂组件担任管理流程引擎处置的物理“形状信息。流程相关的数据可以以以下方式之一被存储: 瞬时存储在内存中,不可中断的流程要获得高效率的执行需求这种方式 耐久存储在数据库中,可中断的流程要获得耐久性需求这种方式它支持的数据库包括 DB2、Oracle、Sybase 和 Cloudscape。119目前主流的WS-BPEL引擎 外部接口:流程引擎对外提供EJB和JMS两种接口,由Facade-Session EJB 和 Facade MDB 担任外部接口的同步生成和异步生成。客户端:Server Foundation提供了Web客户端支持,同时用户可以利用其API接口开发本人的客户端。其他组件:流程引擎包含一个担任产生诊断信息的跟踪和记录组件。120第3部分Apache ODE BPEL执行引擎1211下载安装包 apache

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论