BPEL活动浅析-开发频道

Create By Any-Extract(WL-AE) 数据挖掘实验室

  BPEL活动(Activity)是指BPEL流程中一条语句或者一个步骤的执行。BPEL常用的一些基本活动如下:
  •   <assign>/<invoke>(赋值/调用);
  •   <condition>/<otherwise>(条件/否则);
  •   <sequence>/<flow>(顺序/并行);
  •   <link>/<source>/<target>(链接/源/目标);
  •   <pick>/< onMessage>/ <onAlarm>(选择/监听/闹钟)。

  下面将予以详细的介绍。 数据挖掘论坛

  <receive> /<reply>(接收/恢复)

  接收<receive>是整个BPEL的起点,一旦BPEL引擎从客户端接收到请求消息,它将会启动一个BPEL的流程。

  <receive>的属性如下。

数据挖掘工具

  •   name:定义receive的名称,此处为“request”。
  •   partnerLink:对应于BPEL流程定义的partnerLink的名字,实例如下。

<bpel:partnerLink myRole="HouseLoanBrokerService" name="HouseLoanBroker" 数据挖掘工具

partnerLinkType="tns:HouseLoanBrokerPL"/>

数据挖掘研究院

  •   portType:对应于合作伙伴链接中partnerLinkType所定义的WSDL的接口portType。
  •   operation:对应于合作伙伴链接中partnerLinkType所定义的WSDL的接口操作(Operation)。
  •   variable:variable="request"表示客户端的请求消息将会被赋值到所定义的变量“request”中。
  •   createInstance:createInstance="yes"表示BPEL将会创建一个新的实例

  下面是房屋贷款的receive实例: 数据挖掘工具

<bpel:receive name="request" partnerLink="HouseLoanBroker"

portType="tns:HouseLoanBroker" operation="getLoanQuote" variable="request" 数据挖掘工具

createInstance="yes"> 数据挖掘论坛

</bpel:receive>

数据挖掘论坛

  恢复<reply>是整个BPEL的终点,BPEL流程将会把响应结果返回给服务请求者。 数据挖掘交友

  < reply >的属性如下: 数据挖掘交友

  •   name:定义receive的名称,此处为“response”。
  •   partnerLink:对应于BPEL流程定义的partnerLink的名字;

<bpel:partnerLink myRole="HouseLoanBrokerService"

name="HouseLoanBroker" partnerLinkType="tns:HouseLoanBrokerPL"/>

数据挖掘论坛

  •   portType:对应于合作伙伴链接中partnerLinkType所定义的WSDL的接口portType。
  •   operation:对应于合作伙伴链接中partnerLinkType所定义的WSDL的接口操作(Operation)。
  •   variable:variable=" response "表示BPEL流程会将结果变量“response”返回给服务请求者。

  下面是房屋贷款的reply的实例:

<bpel:reply name="response" partnerLink="HouseLoanBroker" 数据挖掘工具

portType="tns:HouseLoanBroker" operation="getLoanQuote"

数据挖掘研究院

variable="response" />

  <assign> /<invoke>(赋值/调用)

  <assign>赋值和<invoke>调用经常是一前一后的两个任务。这是因为在调用合作伙伴的服务时,需要先给合作伙伴的接口的输入变量赋值,然后再调用服务。 数据挖掘交友

  下面是assign的写法实例,它主要是要定义两个元素,一个是<from>,一个<to>;其过程就是要将<from>变量下的某个参数复制到<to>变量下的某个参数中。值得注意的是,两个参数的类型必须一致。此外,不能将整个变量复制给另一变量,只能复制变量下面的参数。 数据挖掘研究院

<bpel:assign> 数据挖掘交友

<bpel:copy> 数据挖掘交友

<bpel:from variable="ca-housenumber-response" part="payload" 数据挖掘实验室

query="/ca:getHouseNumberResponse/ca:housenumber" />

数据挖掘论坛

<bpel:to variable="bk-loanquote-request" part="payload"

query="/bk:getLoanQuoteRequest/bk:housenumber"/> 数据挖掘实验室

</bpel:copy>

</bpel:assign>

数据挖掘交友

  <invoke>调用是BPEL中最重要的活动,其他所有的活动都是为了辅助整个活动,它将会调用合作伙伴的服务,得到返回结果。 数据挖掘实验室

  <invoke>的属性如下: 数据挖掘论坛

  •   name:定义invoke的名称,此处为“bank0”。
  •   partnerLink:对应于BPEL流程定义的partnerLink的名字,实例如下:

<bpel:partnerLink partnerRole="BankService" name="Bank0"

partnerLinkType="bk:BankPL"/> 数据挖掘论坛

  •   portType:对应于合作伙伴链接中partnerLinkType所定义的WSDL的接口portType。
  •   operation:对应于合作伙伴链接中partnerLinkType所定义的WSDL的接口操作(Operation)。
  •   inputVariable:表示在调用合作伙伴服务之前,事先定义并且已经赋值的输入变量。
  •   outputVariable:存储合作伙伴服务调用结果的输出变量。

  下面是房屋贷款的invoke的实例: 数据挖掘实验室

<bpel:invoke name="bank0" partnerLink="Bank0"

数据挖掘论坛

portType="bk:Bank" operation="getLoanQuote" 数据挖掘论坛

inputVariable="bk-loanquote-request"

outputVariable="bk-loanquote-response-0"

数据挖掘实验室

sm:endpoint="urn:logicblaze:soa:bank:Bank0:bank" /> 数据挖掘论坛

  <condition> /<otherwise>(条件/否则)

  <condition> /<otherwise>(条件/否则)是BPEL中的条件语句。因为BPEL是流程管理的程序语言,因此它需要根据不同的条件来调用不同的合作伙伴的服务。<condition> /<otherwise>一般会一起使用,<otherwise>表示上述条件都不满足时的下一步活动。 数据挖掘工具

  <condition>通常会调用getVariableData()来得到变量中某一路径下的参数值,再和常量或者其他变量的参数值进行比较。

数据挖掘实验室

  下面是房屋贷款中<condition> /<otherwise>的实例。

数据挖掘工具

  首先是房屋数量为0时的情形的一个分支,调用Bank0的服务。 数据挖掘论坛

<bpel:switch> 数据挖掘工具

<bpel:case condition="getVariableData("bk-loanquote-request", "payload", 数据挖掘工具

"/bk:getLoanQuoteRequest/bk:housenumber") = 0 "> 数据挖掘研究院

<bpel:invoke name="bank0" partnerLink="Bank0" 数据挖掘实验室

portType="bk:Bank" operation="getLoanQuote"

数据挖掘实验室

inputVariable="bk-loanquote-request"

数据挖掘实验室

outputVariable="bk-loanquote-response-0" 数据挖掘论坛

sm:endpoint="urn:logicblaze:soa:bank:Bank0:bank" />

数据挖掘研究院

</bpel:case> 数据挖掘研究院

  最后用<otherwise>来实现BPEL条件的最后一个分支,房屋数量大于2时的一个分支。

<bpel:otherwise> 数据挖掘工具

<bpel:invoke name="bank3" partnerLink="Bank3" 数据挖掘实验室

portType="bk:Bank" operation="getLoanQuote" 数据挖掘工具

inputVariable="bk-loanquote-request" 数据挖掘交友

outputVariable="bk-loanquote-response-3"

sm:endpoint="urn:logicblaze:soa:bank:Bank3:bank" /> 数据挖掘工具

</bpel:otherwise> 数据挖掘论坛

</bpel:switch> 数据挖掘论坛

共2页。 1 2 :

Create By Any-Extract(WL-AE)

[数据挖掘工作交流] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:基于组播管理技术实现IPTV业务保障 - 组播管理技术的基本概述-开发频道
下一篇:BPEL过程组件-开发频道
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • The CRM market in 2007: Top experts shar
  • 实例解析:DB2中实现Oracle的相关功能
  • 基于ESB的MQ连接方案
  • SaaS predictions for 2008 and beyond
  • SOA 十二大致命失误-开发频道
  • 引领技术潮流 DB2 9.5和IBM Data Studio
  • BPEL过程组件-开发频道
  • uC/OS-II在S3C44B0X微处理器上的移植
  • IBM SOA构架零售业应用 PLM进入新纪元-开发
  • 详细介绍微软SQL Server 2008
  • 论坛最新话题
  • 线性和非线性回归算法
  • 时间序列预测算法源码(C#)
  • Snowball: A language for stemming algori
  • 搜索引擎Ask.com改版 搜索速度质量双双提升
  • 正规省级、国家级别期刊征集论文稿件
  • 寻data mining cookbook 一书的配套光盘
  • 网博垂直搜索引擎完全开源版
  • 电脑也会成为火灾元凶 操作不当也会有危险
  • 网络暴力间接逼死崔真实 韩国拟立法实名上
  • 网络最流行的歌曲单良《那一场雪》推荐给大
  • 相关资讯
  • IBM SOA构架零售业应用 PLM进入新纪元-开发
  • SOA 十二大致命失误-开发频道
  • SaaS predictions for 2008 and beyond
  • The CRM market in 2007: Top experts shar
  • 数据挖掘实验室资料
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静
  • mit ocw 数据挖掘相关课程连接
  • Introduction to Data Mining