技术开发 频道

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


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