工作流开发规范_第1页
工作流开发规范_第2页
工作流开发规范_第3页
工作流开发规范_第4页
工作流开发规范_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

浦发单证中心工作流平台工作流开发规范微软(中国)有限公司顾问咨询部2020年5月修改日期修改人修改内容2004-8-15李紫凤、吴德柱初始版本1. 概要本文主要描述如何基于Microsoft BizTalk来开发单证中心项目中的业务流程规范。 1.1. 工作流运行体系工作流运行体系的一个重要功能是在流程参与者之间传递任务和信息。可以利用现有的各种通信机制(电子邮件、消息传递、分布式对象技术等)来实现。下面的工作流系统图强调了工作流的信息传递特征。Distribution within the workflow enactment service一个业务流程(Business Process)可以理解成一系列需要完成的活动(Activity)或任务(Task)。各种流程参与者根据现有的规则和信息完成这些活动。参与者可以是一个人或应用程序。1.2. 基于BizTalk的工作流运行体系(图示 1.4.A)在基于Biztalk的工作流产品结构图中,描述了工作流引擎、基于引擎开发的业务流程产品之间,工作流引擎系统数据和工作流产品数据之间的关系。Process Definition (流程定义)包含了流程被执行所需的所有信息。包括启动和完成条件,活动(activity)组成,路由规则,用户需要完成的任务,被调用的应用程序等。Workflow Engine (工作流引擎)工作流引擎解释流程的描述,控制流程的创建和活动的安排,向用户工作列表中添加工作项,调用应用程序。工作流引擎维护内部控制数据(workflow control data)。Workflow Relevant Data (工作流相关数据)工作流引擎决定流程流向或其他控制操作所依赖的数据称为工作流相关数据,这些数据只被流程引擎使用。Workflow Application Data (工作流应用数据)工作流应用数据则由调用的程序直接操纵,工作流引擎负责在应用程序间转送这些数据。Activity (活动)描述流程中的一个逻辑步骤所包含的工作。一个流程定义通常由许多活动组成。活动可以是一个人工活动,也可以是一个自动活动。Automated Activity (自动活动)一个具备计算机自动化能力的活动。Manual Activity (人工活动)一个业务流程中无法自动化,处于工作流管理系统之外的活动。Work Item (工作项目)代表在一个流程实例的一个活动中,需要由工作流参与者处理的工作。工作项目一般通过工作列表提交给用户,且只同人工活动联系在一起。工作项目的属性包括:流程号、流程类型、工作项加入时间、优先级、紧急程度、重要程度等。Worklist (工作列表)和一个指定工作流参与者相关的一组工作项目。在很多情况下,一组工作流参与者会共享一个公共工作列表。Worklist Handler管理用户和工作列表之间交互的软件组件。其主要完成的工作包括:l 选择一个工作项目l 重新分配一个工作项目l 通知工作项目的完成l 启动工具或客户应用程序上图描述了关键术语之间的关系。2. 命名规则2.1. 架构基于 XML 架构定义语言 (XSD),对一个或多个 BizTalk Server 实例消息的结构的描述。通常用于定义与其它系统的接口。命名空间命名为:系统名称(英文名).SPDB.。如单证中心为TradeCenter.SPDB.。架构命名为:接口定义名称(英文名)+Schema,比如与EE接口定义为EESchema。2.2. 映射一种基于可扩展样式表语言转换 (XSLT) 的转换,用于将符合某种 BizTalk Server 架构的实例消息转换为符合另一种 BizTalk Server 架构的实例消息。映射命名为:架构1+To+架构2Map。2.3. 业务流程BizTalk中可执行的业务程序。通常有可能多个业务流程包括在一个程序集中。程序集的命名为:子系统名称(英文名)。比如:Import。业务流程的命名为:业务功能名(英文名)。比如:LCIssue。2.4. 发送端口指发送消息的目标位置以及用来实现通信操作的技术。该位置由端口名称唯一标识。发送端口的命名为:发送动作+SP,比如发送LCIssue消息为:LCIssueSP2.5. 接收端口/接收位置接收位置定义了接收功能。接收端口是相似接收位置的逻辑分组。接收端口的命名为:接收动作+RP,比如接收LCIssue消息为:LCIssueRequestRP接收位置的命名为:接收动作+适配器+RL,比如用Soap接收LCIssue消息为:LCIssueRequestSoapRL2.6. 程序脚本Biztalk Server完全采用了.NET/WebService构架,因此,其程序脚本的命名及编写规范必须符合.NET的规范,请参见NET程序编码规范.doc。2.7. 发送管道从 BizTalk Server 发送消息之前对该消息执行的管道过程。其命名为:处理类型(英文名)SendPipeline,比如处理XML的发送管道为:XMLSendPipeline。2.8. 接收管道在适配器接收到消息后,但在将消息发布到 MessageBox 数据库之前对消息执行的管道过程。其命名为:处理类型(英文名)ReceivePipeline,比如处理XML的接收管道为:XMLReceivePipeline。3. 标准流程模式的实现 (Workflow pattern implementation)3.1. 基本控制流程的模式 (Basic control flow patterns)3.1.1. 顺序模式(Sequence)描述顺序是指在同一流程中,一个活动(Action或Activity)在前一个活动结束后被激活。实现使用无条件转移箭头将两个Action连接在一起。3.1.2. “AND” 分支 (Parallel Split,Fork,AND-Split)描述流程中的某一点,从单执行路径分支成多个并行执行路径。允许多个活动同时或以任何顺序执行。实现使用Fork(并行)操作,定义一个有多条流出路径(outgoing transition)的路由点(Routing Node)。3.1.3. 同步模式(Synchronization, AND-Join)描述流程中的某一点,多个并行的子流程或活动汇集成单个执行路径,并同步等待这些执行路径执行完毕。实现使用AND-Join(用并行循环),定义一个有多条流入路径(outgoing transition)的路由点(Routing Node)。3.1.4. 互斥选择(Exclusive Choice,Decision,XOR-Split)描述流程中的某一点,根据条件表达式或流程控制数据从多条分支中选择一条。实现使用Decision,为活动指定条件规则,形成规则列表。当活动完成后,选择第一条表达式运算结果为TRUE的路径。3.1.5. 异步合并(Asynchronous Join,OR-Join)描述流程中的某一点,多个并行的子流程或活动简单合并在一起,且无需同步等待。实现使用OR-Join(用并行循环),定义一个有多条流入路径(outgoing transition)的路由点(Routing Node)。3.2. 分支和同步模式 (Advanced Branching and Synchronization patterns)3.2.1. 多重选择(Multi-Choice)描述流程中的某一点,根据条件表达式或流程控制数据从多条分支中选择一条以上的分支。实现1.组合使用AND-Split(Fork)和XOR-Split(Decision),在每一个Fork流出分支都加上一个Decision条件判断,该分支的活动要么被执行,要么被旁路。2.第二种实现方法,是将第一种的组合反过来。在所有的Decision流出分支上加Fork。通常各个分支的可能组合并不多,因此此种方法显得更加紧凑。3.3. 结构模式 (Structural patterns)3.3.1. 循环(Cycle,Loop,Structured Cycles)描述流程中某一个或多个活动被重复执行多次,循环只有一个入口和一个出口。实现使用While,Decision和辅助变量来控制活动的重复次数和退出条件。3.3.2. 任意循环(Arbitrary Cycles)描述流程中某一个或多个活动被重复执行多次,循环可以有多个入口和多个出口。实现Biztalk不支持任意循环。大部分情况下,可以将任意循环转换成结构化循环(即3.3.1的Cycle模式),然后再由Biztalk实现。如下图所示。3.3.3. 隐式终止(Implicit Termination)描述当流程(或子流程)没有可执行的活动时,流程会自动终止。实现指定多个End节点。当到达某个End节点后,且其他正在执行的活动也中止后,流程自动终止。3.4. 多实例模式 (Multiply Instances patterns)3.4.1. 非同步的多实例(Multiply Instances without Synchronization)描述创建某个活动的多个实例。各个实例相互独立,且无需同步。实现1. 最直接的实现方法是使用Fork,并复制所有的实例。适用于在设计时已知实例数目的情况。2. 使用While循环,创建多个实例。3

温馨提示

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

评论

0/150

提交评论