技术开发 频道

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

【IT168 技术文档】

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
 
0
相关文章