流程驱动的服务化软件开发环境_第1页
流程驱动的服务化软件开发环境_第2页
流程驱动的服务化软件开发环境_第3页
流程驱动的服务化软件开发环境_第4页
流程驱动的服务化软件开发环境_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、流程驱动的服务化软件开发环境OnceBPD用户手册修订记录版本日期作者章节描述0.12008-11-07SOA组全部创建OnceBPD用户手册目录1.引言31.1.编写目的31.2.手册读者31.3.定义32.简介52.1.关于OnceBPD5概述5OnceBPD的优点5OnceBPD面向的用户63.流程设计与转换73.1.关于流程设计7规划流程7流程布局8流程建模8设定属性9模型转换9部署和运行流程9监控信息的可视化显示93.2.创建流程图表9创建新工程10创建新流程11使用菜单13图形编辑工具栏153.3.设定属性21设置流程属性21设置服务属性25设置活动结点属性26设置转移条件属性30

2、4.案例介绍324.1.业务需求建模324.2.服务属性设置334.3.流程模型转换364.4.流程部署474.5.流程的运行与监控485.客户服务536.版权信息531. 引言1.1. 编写目的本手册旨在帮助使用OnceBPD的业务流程设计人员了解使用OnceBPD工具设计业务流程的步骤及相关细节。1.2. 手册读者本文档主要适用于那些为企业创建业务流程的流程设计者。流程所有者(如果不是流程设计者)也可以通过阅读本文档以获得有关流程设计的信息。应用设计者和业务流程设计者可以从本文档中了解到OnceBPD是如何创建流程的。1.3. 定义下面列出了OnceBPD中使用的大部分重要概念和术语。它们

3、是按逻辑顺序组织的。l 流程建模 - 按业务规则路由工作以及指定活动内容和服务的方法和方式。l 流程 - 表示描述工作流的活动和路由规则,以及完成每个活动的服务资源的信息。l 服务 - 为了达到特定目的而实施的单一过程。例如,使用采购订单请求过程来启动一项服务,以获得一份为特定职员购买新计算机的采购订单。l 活动 - 一个工作单元,表示流程中的一个步骤。在流程图中,活动用节点表示。活动和服务绑定在一起,当流程执行到某个活动时,流程引擎会自动调用和活动相关联的服务。完成活动后,流程引擎会继续执行流程,路由到下一个活动。BPMN介绍2004年,BPMI(Business Process Model

4、ing Integration)组织提出了业务流程建模符号(Business Process Modeling Notation,BPMN),统一定义了各种元素的图形表示,便于业务人员的理解。另外,在软件工具支持下BPMN还能够转化成可执行语言如BPEL,进而由流程引擎直接运行。这样,提高了开发的抽象层次,不同的人员能够工作在自己擅长的抽象层次,紧密合作,提高了工作效率。在2006年2月,BPMN被OMG(Object Modeling Group)组织接受为正式标准,加速了其在业务流程可视化建模方向的发展。BPMN定义了出现在业务流程中的各种元素的图形表示和属性,BPMN使用四类基本建模符号

5、建模业务流程,即组织责任区、流对象、连接对象和自定义对象。BPEL业务流程执行语言WS-BPEL(Web Services Business Process Execution Language)是专为整合Web服务而定制的一项规范标准。它是IBM的WSFL和Microsoft的XLANG的结合,目前已经成为业界的规范标准,新版本WS-BPEL2.0即将获得OASIS标准组织通过。WSFL支持图形化的流程,而XLANG在结构化语言构造方面有独到之处,而BPEL融合了这两者的优点,同时摒弃了一些复杂繁琐的部分,形成了一个较为自然地表达可执行业务流程的描述语言。本文档会被新的改进和信息所更新,有关

6、本文档的最新版本,请访问中国科学院软件研究所软件工程技术研究开发中心网站,以及开放网络计算环境网站。2. 简介2.1. 关于OnceBPD流程驱动的服务化软件开发环境(ONCE Business Process Designer, Once BPD)作为一个面向服务的业务流程设计平台,为业务流程的设计、转换、部署、监控管理提供了可视化的设计开发平台,支持基于BPMN规范的业务流程图形化设计,支持基于QoS信息的web服务自动检索及服务内容解析,支持业务流程模型与可执行的流程描述语言BPEL之间的相互转换,支持流程的自动部署,以及图形化流程监控。2.1.1. 概述下面简要介绍 OnceBPD的一

7、些基本原理。用粗体表示的术语是 OnceBPD用到的一些基本词汇。OnceBPD中的建模工具用于设计系统的流程(或一组活动)。这些流程是在工作流引擎中运行的流程实例的模版。活动是建模画布中的节点,而节点间的连接则指定路由关系,这些路由关系决定了控制流从一个活动到下一个活动所采取的路径。连接可能会通过路由节点,以显示并行或者排他性选择。活动建模定义了每个活动绑定的服务、活动的局部变量、活动的执行者、最后期限和路由条件等。设计和实现 ONCE BPD流程几乎不需要编程。ONCE BPD中的流程建模工具(以下简称建模工具)用于创建流程和定制活动。流程是要完成的某类特定工作的设计图。流程实例是运行在工

8、作流引擎中用以完成特定工作的实例。流程实例的启动和执行由组织中的个人或其他应用、程序或自动活动来完成,并按照为组织设计的各种流程实现特定的目标。流程实例所有者可以监控,跟踪有关流程实例执行进度的状态,并在偏离计划时进行干预。每个活动都可以由组织中的个人申请并执行,也可以根据为该活动定义的属性来自动执行。当每个活动完成后,引擎负责将其路由至下一个活动,依此类推,直到完成整个工作。2.1.2. OnceBPD的优点OnceBPD的主要优点表现在以下几个方面:l 加快工作速度采用工作流,可以提高组织的运作效率。通过对组织中关键业务的建模,组织能够更有效的执行这些业务。另外,包含在流程定义中的说明和路

9、由条件可以确保建模时的灵活性。l 增强过程控制如果工作流程和规则只是记在工作人员的头脑中,将很难保证一致性和质量。OnceBPD可以是一个强大的知识管理工具,不仅可以使组织的工作流程标准化,同时也可以很灵活地修改和改进工作流程。l 改善客户服务当您组织的工作流程已经标准化,并且可以更快地完成工作时,您的客户 - 无论是内部客户还是外部客户 - 将是受益者。您可以设计工作流,转换到业务流程执行语言BPEL,并可以在BPEL引擎中部署和运行。2.1.3. OnceBPD面向的用户OnceBPD的用户是组织中的个人和群组,他们需要管理、设计或执行在组织中支持不同业务流程的工作。工作流参与者(有时简称

10、为用户)按照说明完成活动。3. 流程设计与转换3.1. 关于流程设计设计一个流程包括若干操作。虽然不同的流程设计者设计流程的方法各不相同,但以下讨论会对您有所帮助。具体操作包括规划流程,流程布局,设定属性,部署流程等。3.1.1. 规划流程设计流程的来源包括现有的书面程序、组织中的经理或上级的指示、您自己的想法等等。通常,规划阶段涉及组织中不同部门的个人和角色。除了流程设计者以外您还可以担当一个或多个其他角色。但作为流程设计者,您必须创建OnceBPD流程的基本结构。您需要考虑以下几个方面:l 此流程的“产品”是什么? 可能是采购订单;招聘、定向及培训新雇员所需的文档和事件的组合方案;新部件的

11、机械图;用于组装产品的可用组件的库存情况或其他情况。l 每个步骤由谁负责? 基本步骤及其所有者是相互依存的。流程中的基本步骤(OnceBPD中的一个“活动”)应该有一个在组织中易于识别的所有者。此活动所有者可以是组织中的个人,但最好通过工作组、角色或部门来标识活动所有者。l 哪些活动可以自动执行? 某些流程步骤可以不需要活动所有者而自动执行,例如,发送邮件、在数据库中进行搜索等等。l 谁可以启动流程? 启动者是一类特殊的活动所有者,他们可以领取第一个活动。但是第一个活动不一定是工作的起点。流程可以由外部事件启动:在应用程序中填写表单(基于API调用的启动)或者在 Web 页面上填写表单(基于邮

12、件的启动)。您需要与应用设计者(可能还有组织中的其他人)合作来实现从 OnceBPD外部启动工作的方法。l 工作的逻辑流程是什么? 请考虑以下因素:执行顺序(某些事件必须先于其他事件发生)、条件分支(根据前一个活动的输出,从多个活动中选择一个)、并行活动(不同的人同时执行两个独立的步骤)、时间设置(最后期限、逾期如何处理)等等。l 此流程属于一个还是多个大流程? 现在可以考虑流程的某些部分如何在其他流程中重复使用的问题。通过创建子流程,可以使您的工作流更标准、更易于维护。OnceBPD非常灵活,很容易对已有流程进行修订。3.1.2. 流程布局可以将 OnceBPD建模工具作为功能强大而且直观的

13、“便笺本”,用来对工作流流程进行布局。您可以快速勾勒出流程的基本步骤和控制逻辑,即在图表中标出各个节点,而先不指定属性。布局后的流程图可以保存为BPMN模型文件和图形文件到工作区中。日后需要修改流程或设置属性时,可以直接在OnceBPD中打开图形文件,完成修改后再保存起来。3.1.3. 流程建模流程建模是OnceBPD中的核心功能,用于完成流程的建模以及服务属性的设置工作。图 Once BPD的流程建模界面图3.1显示的是OnceBPD的流程建模界面,它主要分为以下几个视图:l 工程视图,用于显示BPMN工程,包括BPMN模型文件,图形文件,转换后生成的BPEL和WSDL文件。l 流程设计视图

14、,是流程图形化建模的画板,用户可以直观的以图形化方式来设计流程。l 流程浏览视图,用于浏览流程设计图。l 属性视图,显示属性,用户可以更改属性值。l 建模工具提供了三类快捷的可视操作工具栏。l 流程元素工具箱,提供了一组流程元素,可以在流程图形化建模的过程中选择适合的元素进行绘制,例如,流程的活动节点元素。l 工程工具栏,提供了对流程工程的基本管理操作。l 视图工具栏,提供了对流程视图的缩放和整体移动的便捷操作。3.1.4. 设定属性每个流程、活动和路由关系都具有某些属性。一旦在建模工具的流程窗口中创建了流程草图,您就可以开始指定以下属性:流程级的变量、流程的消息、活动绑定的服务等等。3.1.

15、5. 模型转换对于设计好的BPMN流程,可以点击转换按钮进行转换,转换后生成相应的BPEL流程,包括BPEL文件和WSDL文件,可以直接部署和执行。对于已有的BPEL流程,没有对应的BPMN图形流程,您还可以将BPEL流程逆向转换到BPMN流程,在OnceBPD中显示。3.1.6. 部署和运行流程在流程设计完成并转换为BPEL后,您可以将其部署和运行到BPEL引擎上。这意味着此流程定义将被保存到中央数据库中,并且组织中的个人可以通过接口调用它完成特定服务。部署在中央数据库中的流程可以通过Web服务的方式被组织外其他用户所访问。同时,部署为Web服务的流程能够作为服务被某活动绑定,从而实现了流程

16、的嵌套。3.1.7. 监控信息的可视化显示当BPEL流程在OnceBPEL引擎中执行时,OnceBPD可以接收引擎发送的监控消息,然后显示流程实例列表及其状态,并在BPMN流程图中更新相应的活动状态,使用户可以可视化的监控流程的执行。3.2. 创建流程图表可以通过查看工程视图中已有的范例流程,来熟悉流程图表的外观以及图形元素协同工作的方式。如果只使用测验用的范例流程,您可以新建一个BPMN文件,进行自由地进行练习。 学习使用工具要创建和使用流程图表,需要了解如何使用 建模工具中的菜单和工具。在学习流程图表的过程中,您需要了解以下主题:l 创建新工程l 创建新流程l 辅助功能l 使用菜单l 使用

17、工具栏l 设定属性3.2.1. 创建新工程首先需要创建空的流程工程来存放流程,请在工程视图中点击右键菜单中的“New”- “Project.”,进入新建向导页面:图 新建工程,输入工程名输入工程名字后,点击“next”按钮,进入下一页面,选择此工程要引用的工程:图 新建工程,选择引用工程点击“Finish”按钮,完成工程创建。3.2.2. 创建新流程在已经创建好的流程工程来建立新流程。请在工程视图中选中某流程工程,点击右键菜单中的“New”- “BPMN”,进入新建向导页面:图 新建流程向导1默认创建到选中的工程下面,当然此处也可以更改,在“File name”处输入文件名,如果不需要设置流程

18、名字,则可直接点击“Finish”按钮完成,否则点击“Next”按钮,进入下一向导页面:图 新建流程向导2初始化流程信息,包括输入流程名和选择流程类型。点击“Finish”完成。3.2.3. 使用菜单在建模工具屏幕的顶部是一系列下拉菜单。通过这些菜单您可以使用 OnceBPD 建模工具的一部分功能。以下主题将继续说明这些菜单项:“文件”菜单“流程编辑辅助”菜单文件菜单 “文件”菜单(图3.2.5)控制所有与整个文件有关的操作,包括打开、关闭、转换等。图 文件菜单l “Open Project”用于打开选中的处于关闭状态的工程。l “Save”用于保存编辑过的文件。l “Translate”用于

19、将当前正在编辑的BPMN流程转换为BPEL,生成bpel文件和wsdl文件。l “Open Monitor”用于打开监控器。l “Close Monitor”用于关闭监控器。l “Search Web Service”用于打开指定的web服务资源库的检索页面。l “ESB Configuration”用于打开指定的ESB服务器管理控制台页面。l “Exit”用于退出OnceBPD。流程编辑辅助菜单当打开BPMN图形编辑窗口时,菜单会增加“Diagram”这项,菜单(图3.2.6)下各个菜单项对应“流程编辑辅助工具栏”(图3.2.7)各个图标的功能。菜单列出了流程编辑的若干辅助功能。l “Sel

20、ect All”用于选择所有图形结点。l “Arrange All”用于将选择的图形结点重新排列。l “Align”和“Order”用于处理结点的排列。l “Auto Size”和“Make Same Size”用于处理图形结点的大小。l “View”用于改变编辑窗口的背景显示。l “Zoom”用于改变视图的显示比例。图 流程编辑辅助菜单图 流程编辑辅助工具栏3.2.4. 图形编辑工具栏只需单击工具栏上的按钮即可进行图形编辑。鼠标左键点击工具栏中所需要图形的按钮,再到编辑窗口内相应位置再点一次鼠标左键,图形结点即出现在编辑窗口内。图 流程编辑工具栏l “Note”用于添加注释信息。图 流程编辑

21、工具栏l “Swimlanes”用于添加泳池(Pool)和泳道(Lane),以存放图形结点。创建图形文件时已经默认创建了一个Pool,Pool中包含一个Lane。若还需添加Pool,点击工具栏Pool按钮,再点击编辑窗口空白处,弹出提示框输入name,点击完成,则创建好了一个Pool,点击Pool的最左端的名字,可以修改Pool的名字。这与创建流程时的提示输入名字框类似,不同的是,这里创建的Pool内部不生成Lane。图 创建Pool若需增加Lane,点击工具栏中的按钮,再点击Pool的深色部分,则Lane就增加好了,点击Lane的左侧可以增加和更改Lane的名字。若存在多个Lane,需调整各

22、个Lane的大小,拖动更改Pool的大小或者调整Lane分界线。图 创建Pooll “Task”用于添加各类型任务Task结点,点击工具栏中task标签行后面的向下小箭头,弹出如下task的类型展示框:图 task各类型结点选择一个,然后点击编辑窗口,则可添加相应类型的task结点。ServiceTask:调用一个服务,并返回结果;ReceiveTask:从其他实体接收一个消息;SendTask:发送一个消息到其他实体;NoneTask:主要用于Assign活动。图 四种主要类型的task结点l “SubProcess”用于添加子流程结点,点击工具栏中SubProcess标签行后面的向下小箭头

23、,弹出如下SubProcess的类型展示框:图 subProcess结点类型EmbededSubProcess:嵌入子流程,其中包含了其他活动(包括另一个子流程),将一个子流程封装成一个task的形式;下面就是该子流程的图形结点:图 子流程的图形结点EmbededSubProcess分为扩展状态和收缩状态,处于扩展状态时才能在其中添加其他活动结点。在扩展状态下,点击其他结点,鼠标移至子流程范围内,点击鼠标左键,则活动可以在子流程中生成。下图是添加好了活动的子流程扩展视图。右上角的红色按键是用于状态切换,若当前是扩展状态,点击后为收缩状态,反之亦然。右下角的按键用于将扩展状态视图缩小至适应内部节

24、点,可以根据内部结点自动调节子流程的大小。图 EmbededSubProcess的扩展状态图 EmbededSubProcess的收缩状态需要注意的是:如果子流程内部还有子流程结点,那么收缩子流程之前,必须保证内部子流程都处于扩展状态,否则无法保存完整内部信息。l “Event”用于添加事件发生结点,Event分为三种类型:StartEvent,EndEvent和IntermediateEvent。点击工具栏中IntermediateEvent标签行后面的向下小箭头,弹出如下相应的Event的类型展示框:图 IntermediateEvent的类型所有的事件类型包括:Message(接收消息触

25、发事件), Timer(计时触发事件), Error(错误触发事件), Cancel(取消触发事件), Compensation(补偿触发事件)。StartEvent包含类型:None,Message;EndEvent包含类型:None;IntermediateEvent包含类型: Message,Timer,Error,Cancel,Compensation。下图是Event图形结点的例子:图 Event的图形结点l “Gateway”用于添加路由以控制流程运行,工具栏中显示了四种不同类型的Gateway:图 Gateway的四种类型Exclusive (XOR) Gateway:异或路由,

26、如果是Split(分支),则只能选择其中的一条路径往后执行;如果是Join(汇聚),则只能有一条路径到达此路由。Inclusive (OR) Gateway:或路由,如果是Split(分支),则选择其中一条或多条路径往后执行;如果是Join(汇聚),则可以有一条或多条路径到达此路由。Parallel (AND) Gateway:并发路由,如果是Split(分支),将后续所有路径并发执行;如果是Join(汇聚),则所有到达此路由的路径必须是并发执行的,在此路由汇聚为一条路径。Event Exclusive (XOR) Gateway:事件异或路由,只能是Split(分支),只能选择其中一条路径往

27、后执行,且后续路径由事件来启动,根据到达事件的不同来选择路径。它对应的汇聚路由为Exclusive (XOR) Gateway。下图是Gateway图形结点的例子:图 Gateway的图形结点l “Artifacts”用于添加注释和划分group,以助于业务人员沟通和理解。l “Connections”用于添加结点之间的连接线,工具栏中显示了两种不同类型的Connection:图 Connections的两种类型Sequence Flow:用于表示流程执行的路径,只能连接同一Pool中的结点;Message Flow:用于表示流程之间的消息传递,用于连接不同Pool之间的结点,与流程执行路径无

28、关。当前转换支持的是与流程执行路径有关的Sequence Flow。下图是一个图形例子,其中1为Sequence Flow,2为Message Flow:图 Connections的图形结点3.3. 设定属性为了转换到BPEL,必须为流程工程,流程图表以及其中使用的图形元素设置属性。通过点击不同元素的图形结点,再在属性视图中修改此结点的属性。为了使工作流引擎能够在参与者之间路由任务,并且跟踪流程中各个步骤的人员职责,流程设计者必须指定活动所有者、活动所绑定的服务等属性。有关设置属性的详细步骤说明,请参见下列主题。l 设置流程属性l 设置服务属性l 设置活动结点属性l 设置转移条件属性3.3.1

29、. 设置流程属性流程中除了名字,类型等信息外,还主要定义了message和bpel中的变量的信息,以及流程所需绑定的web服务信息。这些信息定义在流程中,共享于流程中的所有结点。点击Pool,再看属性视图,可以看到Process属性项,展开Process,得到属性列表如下:图 流程工程基本属性设置流程属性设置l ID:工程ID由系统自动生成。l Message List:定义message信息,以及bpel变量。l Wsdl List:定义web服务的wsdl地址信息。l Process Type:选择流程类型,由用户指定。定义Message List:让用户动态创建message列表,并转换

30、到wsdl文件中,在bpel文件中生成variable,供Task和Event调用。创建好message之后,可以在Task和Event的属性inMessage和outMessage选择相应的message,转换时将选择的message对应的variable作为活动的variable属性。点击Message List属性行,出现按钮,如下图所示:图 Message List属性行点击此按钮,弹出message编辑窗口,以树状图形式来编辑,如下图所示:图 Message List编辑窗口定义Messge:按照图中标示1的树状形式定义,第一层为message的名字,第二层是message的part

31、名字,第三层为part的类型。其中可以包含零个或多个message,每个message下面可以包含零个或多个part,每个part下面只能有一个type。定义引用其他方的消息:按照图中所示2的形式定义,只有第一层,由一个冒号分隔两个部分,冒号前面表示其他方的名字,后面表示引用的消息名字。定义bpel的基本变量:按照图中所示3的形式定义,由两个冒号分隔为三个部分,第一个部分表示变量名字;第二个部分表示类型的命名空间,通常基础类型为“xsd”;第三个部分表示基础类型,如“int”,“Boolean”等。编辑的方式是在某一结点点击右键,弹出编辑选项菜单,对此结点进行编辑;若是在空白处点击右键,则是对

32、根结点进行操作,可以增加message。右键编辑菜单如下所示:图 Message List右键编辑菜单refresh:刷新message树;add:增加一个message结点,生成一个默认的part子树,若不需要可以删除;add child:为结点增加一个子结点,如果有的话;modify:修改此结点的值;delete:删除此结点,此节点的子节点一并删除。注意,如果part下的type只能有一个,再增加会视为无效操作。定义Wsdl List:用户可以创建web服务的wsdl列表。当需要为流程的活动节点绑定web服务时,只需从列表中选择即可。即对web服务信息做到了统一管理,又简化了用户的操作。点

33、击Wsdl List属性行,出现按钮,如下图所示:图3.3.5 Wsdl List属性行点击此按钮,弹出wsdl编辑窗口,以树状图形式来编辑,如下图所示:图3.3.6 Wsdl List编辑窗口定义Wsdl:每一个web的wsdl信息都是一个两层的树型结构。树的根节点是该web服务的wsdl地址信息;叶子节点则描述了该web服务的QoS信息。用户可以直接输入一个web的wsdl地址信息,也可以输入所需web服务的描述信息及QoS信息,然后对绑定的web服务资源库进行自动搜索,系统将自动选择符合用户录入条件的web服务的wsdl地址信息。定义过程如下图所示: 图3.3.7 设置web服务描述信息

34、及QoS信息 自动检索操作图 检索后自动填写web服务的wsdl地址信息3.3.2. 设置服务属性l Web Service信息设置:在Task和Event下增加Web Service属性,用于定义结点相关联的Web Service信息。 Web Service属性的子属性包括partnerLink,portType,operation,portType NameSpace,role。下图显示了在Task和Event中Web Service信息的设置:图3.3.10 Web Service属性编辑视图若该task为ServiceTask类型,则用户只需在wsdl选择框中选择合适的wsdl地址信

35、息,(partnerLink,portType,role等信息由系统自动填写),然后在operations for choose选择框中选择合适的操作即可。否则,用户需要设定partnerLink,portType,operation等信息。l 服务消息设置:在Task和Event中定义有关服务信息的同时,还需要设置调用服务时所包含的消息。在本节的流程属性设置中,我们定义好了message,这里只需要选择定义好的消息即可。下图是选择message的属性视图:图3.3.11 选择message属性视图选择好以后,会在属性视图中显示所选的message信息,如下图所示:图3.3.12 选择好的me

36、ssage属性视图需要注意的是,在ServiceTask中,inMessage和outMessage都需要设置;而在ReceiveTask和MessageEvent中只需要设置inMessage;在SendTask中只需要设置outMessage。3.3.3. 设置活动结点属性l 增加assign活动在task的属性中可以定义Assign活动,如下图所示:图3.3.13 task属性下设置Assign活动视图点击Assing所在行,出现一个按钮,点击按钮出来Assign活动的编辑窗口,这个编辑窗口与message的编辑窗口类似,具体操作参见节。编辑窗口如下图所示:图3.3.14 Assign活

37、动编辑窗口这里assign,copy和to所在项不能编辑。copy下包含from和to两项。from填入message信息即可,如果message包含多个part,还需要指名其中一个part,填入格式为“messagepart”;to下面分了两项message和part,填入相应的值即可。注意,根节点下可以有多个assign,assign下可以有多个copy,而copy下只能有一个from和to。用户还可以设置assignTime(start|end),表示在活动运行前执行Assign活动,默认为start。转换时根据选择来将创建的assign活动转换到task之前或之后。另外,NoneTas

38、k可以用来表示assign活动,在NoneTask中创建好assign活动后,转换时只得到assign活动的代码。图5 设置AssignTimel 增加correlationSet在task和event下可以设置相关集correlationSet。首先需要在流程中定义所有相关集correlationSets。由于相关集的property与message的part对应,我们在message的part下增加property,使property和part相对应。然后再设置这些property被包含在哪些correlationSet中,每个property可以对应多个correlationSet。根据

39、property和correlationSet的关系转换得到correlationSet。在流程属性中打开message编辑窗口,具体视图如下所示:图6 设置correlationSet在partType下创建一个property,这个property与part一一对应。在property下可以对应多个correlationSet,这里创建了两个set,表示set1和set2都包含property1,并且property1与request的part部分echoString一一对应。在流程中设置好相关集后,转换到bpel文件中的process下。在task和event下我们可以动态添加corre

40、lation,并且需要与message下添加的correlationSet名字一致,这里还需要设置correlation的initiate和pattern属性。如下图所示:图7 在event和task中添加correlation点击按钮,进入correlation动态设置窗口,具体操作见节的message编辑窗口介绍。视图如下所示:图8 添加correlation编辑窗口可以在根节点下添加多个correlation,每个correlation包含initiate和pattern两项:initiate:是否初始化,按上图所示,输入yes或no,默认为nopattern(选填):表示消息是in(进

41、入)还是out(出去),填入in和out即可l task的实现方式可以在task属性中选择task的实现方式,如下图所示:图9 选择任务实现方式选择WebService,表示实现方式是基于web服务;选择None,表示普通实现。这里默认值为WebService。l SubProcess的事务属性可以将子流程申明为一个事务,在OnceBPD中也得到实现,点击某个子流程,打开属性视图,我们看到如下属性行:图3.3.20 子流程的事务属性设置Is ATransaction显示是否此子流程被申明为一个事务,此项无法编辑,与下面的Transaction项关联。Transaction项默认为空,表示没有申明为事务。如果需要申明为事务,我们可以选择Transaction,如下图所示:图3.3.21 申明子流程为一个事务选择后,属性发生改

温馨提示

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

评论

0/150

提交评论