面向SOA企业业务过程建模的利器— PowerDesigner12.0

 1. 简介

    激烈的市场竞争要求企业不断改善其业务过程,努力提高其业务流程的灵活性、敏捷性和对市场变化的响应速度。业务流程管理(BPM)可以减少企业的低效之 处,帮助企业主动跟上市场的变化步伐。BPM企图在无秩序的业务与技术的“十字路口”寻找它们之间的联系,为了避免这些流程被“写死”到应用程序的代码结 构中的,导致以后无法更改,面向服务的体系架构(Service-oriented architecture,SOA)已经成为构建企业级分布式应用程序的首选蓝图,并成为 BPM 的一个重要基础。基于“服务”的设计可以灵活更改流程,而且流程服务能够快速组合,从而编排成更大的端到端流程。

    BPM将图形流程建模功能与应用开发相结合起来,使业务分析人员可以通过解析和描述业务功能下面的流程,使工作流合理化,并最终优化它们,而IT 技术人员必须让现有的应用集成软件如EAI等协调行动,使开发基于流程的应用所需的应用功能可以实现跨企业集成。当这个业务设计阶段完成时,模型送到开发 人员的手中,开发人员将业务流程映射到考虑EAI细节的一个开发环境中。这种从业务人员到开发人员的移交过程非常关键。大多数厂商提供两种建模器:一种供 业务分析员使用,另一种供实际描述应用如何开发和集成的细节的IT人员使用,存在的一些问题:

1) 业务分析人员建立受业务规则制约的模型,而IT必须创建和维持受现有软件的能力制约的模型。因此,必须建立业务过程分析模型与业务过程开发模型的同步关系
2) 服务通过面向对象模型来加以描述。面向服务的业务流程建模中活动主要由服务来完成,必须建立业务过程模型与面向服务的对象模型之间的交互关系,方便建模过程中的服务(消息,接口等)选择。
3) 业务过程与服务在企业动态环境下(如公司并购等),两者都会发生相应的变化,必须提供影响度分析(Impact Analysis), 在各自变更前分析所需要做的修改。

因 此,必须提供集成化的建模工具,目前各主要的建模工具厂商如Sybse PowerDesigner, IBM Rational Rose, Computer Associates的ERWin等都在发展与加强各自建模工具的融合与集成。PowerDesigner经过近20年的发展,已经在原有的数据建模的基 础上,形成一套完整的集成化企业级建模解决方案,融合了几种标准建模技术:传统数据库建模、使用 UML 的应用程序建模和业务流程建模,对面向SOA的业务过程建模提供了从分析到设计的全面支持。本文将首先介绍PowerDesigner12.0对业务过程 建模提供的基本能力,并通过一个典型实例展示其强大地全面建模功能。

2.PowerDesigner12.0对面向SOA业务过程建模地支持
    PowerDesigner12.0将业务过程建模过程分成分析到开发两个阶段,并且在这两个阶段对不同的标准如BPMN1.0, ebXML, BPEL4WS等提供了不同的业务建模视图(见表1)。不同阶段的业务过程模型之间,如业务过程分析模型与BPEL4WS的业务过程执行模型,可以通过 “Generate Business Process Model…”进行相互生成。(特别需要指出的:当目标模型已经存在,PowerDesigner内置的元模型比较与合并机制进行自动或交互模型更新)。

表1: 业务过程建模类型

建模视图
过程语言
描述
分析(Analysis)
Analysis
业务过程分析模型提供了业务层的过程层次分解及其时序关系。分析模型不包含任何实现的细节,可以做为面向对象分析的输入。
 
BPMN 1.0
BPMN 1.0 (Business Process Modeling Notation)是业务过程建模的图形标识标准。BPMN1.0特别适合在业务过程执行环境已经确定的情况下,进行业务层的任务分解与建立时序依赖关系。
Collaborative
(协作型
ebXML 1.01,1.04
ebXML适合描述企业合作伙伴之间的协作关系。它可以进行协作型过程分析,设计与Business-to-Business (B2B)的电子文档交换。
Executable
(执行型)
BPEL4WS 1.1 或
Sybase Unwired Orchestrator 4.3
BPEL4WS是一种使用XML编写的业务过程编程语言。BPEL可以与运行在任意平台(例如J2EE和.Net)上的Web服务进行通信与协作。BPEL4WS可以运行在不同的BPM执行引擎中。
 
Service Oriented Architecture (SOA)
SOA语言是PowerDesigner特有的,特别适合Web服务的编排(orchestration)。它不依赖任何的运行平台和语言,因此该模型不能允许在BPM执行引擎中。


PowerDesigner基于UML的面向对象建模(OOM),通过类图(Class),组件图(Component)及部署图 (Deployment),可以将Web服务定义为包含Web服务实现的组件(Component),如图1。除了支持将现有的类,转换为相应的 WebService组件,还可以通过WSDL以及UDDI的反向工程,导入相应的Web服务定义。PowerDesigner支持Java主要Web服 务框架(AXIS, JAXM, JAX-RPC, Web Services for J2EE)以及.Net。


在 定义业务过程建模过程中,可以通过Service Provider Import/Export将BPM中定义的Web服务导出到OOM,以此基础上进行Web服务的实现设计,或者将现有的OOM中的Web服务定义导入 BPM,定义相应的活动调用方式。两者具体的映射关系:

表2: 业务过程建模与面向对象模型映射关系

OOM
BPM
Web Service, EJB或者任何UML组件
服务提供者(Service Provider)
组件相关的接口,WebService的实现类
服务接口
类或接口的方法
服务接口的方法
SOAP输入
方法的输入消息类型
InputSoapMessageName
方法的输入名
SOAP输入Schema
输入消息的Schema

 

3. 应用实例

3.1业务过程需求分析
PowerDesigner的提供了一个以过程模型为核心的,包括功能模型、信息模型、组织模型和资源模型的企业建模工具。图2是典型的客户订单处理流程,其创建步骤一般为:

1) 首先创建一个业务过程模型。选择过程语言为“Analysis”,且为“Business Process Diagram”类型的图。我们将这个业务过程模型命名为“OrderFulfillment BPM(Analysis)”。打开业务过程模型的可视化编辑环境开始新流程的建立。通过拖放工具栏(Palette),来完成建模内容的选择。
2) 添加相应的开始节点,如Customer submits order,任务(Process),如“Record order request”, “Check credit card details”, “Check item availabity in stock”等,以及结束节点,如:“Item unavailable”, “Order complete”等。
3) 使用“Flow/Resource Flow”,“Decision”,“Synchronization”来建立任务之间的逻辑关系,即业务逻辑。如“Credit card details”决策节点验证不通过,则到达“Unauthorized amount”状态。
4) “Resource”表示了业务过程中所设计的资源,可以是数据库,文件甚至是企业的Legacy系统如ERP, CRM等。比如Stock,Bank等。当然“Flow/Resource Flow”也可以定义任务所需的资源。
5) 通过“Organization unit swimlane”来表示,各个任务所涉及的组织或角色等。如 “Accounting Dpt”,“Sales Dpt”等。


3.2 BPEL4WS的业务过程定义
    在进行业务流程需求分析以后,可以通过“Tools”菜单中的“Generate Business Process Model…”,选择业务流程的执行语言如BPEL4WS,PowerDesigner可以根据业务需求分析,生成相应的业务流程执行语言对应的业务过程 定义。如图3是在自动生成的基础上,并进


一步进行开发后的的业务流程(限于篇幅展示部分BPM)。具体的创建步骤一般为:
1) 通过Service Provider Wizard(如图4)建立活动的服务提供者,如“Check Credit Card details”活动所需调用的

“BankAccountManagement”的Web服务。包括Service基本信息,如Target namespace, Prefix等,Service的接口定义,以及服务相关的XML Schema定义等。同时可以通过BPEL4WS预览服务的定义。
2) 通过Message Format Wizard定义业务过程相关的消息。PowerDesigner中Message Format就是WSDL中的Message,定义了活动之间的信息交换,由Message Part组成(对应与WSDL的Message中的Part)。如消息“checkCreditCardSoapIn”和 “checkCreditCardSoapOut”等。
3) 通过Variable Wizard定义变量。通常是流程正确执行所需的局部数据,如流程分支的决策变量“CreditCardVar”等。
4) 定义活动的服务调用方式,图5给出活动“Check credit card details”的服务定义Wizard。在PowerDesigner支持表3 列出的Web服务交互方式。

表3. 活动的Web服务交互方式

Activity type
Description
Invoke operation
活动采用One-way或Request-Response的方式服务Operations
Receive request
活动等待Notification 或Solicit-Response方式的Operations的调用结果
Throw
终止某个事务,活动或整个流程,同时抛出Fault事件
Compensate
取消某个已经结束服务调用,抛出补偿事件
Wait
整个流程将暂停一定时间,发出Timer时间



5) 其他:除了上述的典型步骤,PowerDesigner提供了BPEL4WS的全面支持,包括流程的控制分支(Split/Join),数据转换 (Data Transformation),Correlation Key,partnerLink等。图6给出了BPEL4WS业务过程模型中以过程模型为中心,信息(服务)模型,资源(消息)模型,以及组织模型的主要 内容及其关系。


3.3 Web服务的对象模型
    在业务过程建模过程中,可以通过“Tools”菜单中的“Service Provider Import…”或“Service Provider Export…”将OOM中的Service 定义导入到BPM中,或者将BPM中的Service Provider导入到OOM中。图7和8是由图6所示BPM自动导出到某个具体OOM中的类图,以及组件图。PowerDesigner支持 UML1.3的所有模型从PowerDesigner11.0开始就全面支持UML2.0。开发人员可以在OOM中进行进一步的开发,如修改 Service的Operation参数,添加Operation等。OOM修改后,在BPM中可以重新导入更新模型中Service定义信息。



特 别需要指出的,在具体的建模过程中,通常不是上述所演示的这样一种瀑布式的开发方式,而是采用迭代式的开发方式,即业务过程分析,设计以及服务的对象模型 都在增量变化,通过PowerDesigner的元模型比较与合并机制,可以分析各模型的变化,同步各个建模的信息。而且也不限于从哪个模型开始,特别地 可能某些企业应用UML模型已经存在,可以利用PowerDesigner将其转化为Web 服务,并最终导入与相应地业务流程集成。

4.总结
    PowerDesigner12.0提供了企业所需要更集成的建模套件,即集成化企业级过程建模工具,将传统的业务分析员使用地BPM图形流程建模工具, 与IT开发人员的UML建模工具紧密相结合起来,使业务分析人员与IT 技术人员可以通过解析和描述业务功能下面的流程,并与让现有的应用集成环境如SOA等协调行动。大大提高了企业业务流程的分析,设计与开发能力,更能够适 应业务需求的变化,以提高投资回报率。本文所演示的面向SOA业务过程建模能力只是PowerDesigner强大特性的冰山一角。详细信息可以阅读 PowerDesigner12.0的BPM的用户手册及其主页。

参考文献:
1.PowerDesigner 12.0 BPM 用户手册。
2. 什么是业务建模http://www.matrix.org.cn/resource/article/43/43803_Business_Process_Modeling.html
3. 一个现实中业务过程模型
http://dev2dev.bea.com.cn/techdoc/200410114.html
4. IBMSOA架构
http://www-900.ibm.com/cn/software/solution/soa/modeling.shtml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值