基于Jazz技术构建企业级Web2.0应用(3)
第四步,为PetStore定义、部署process,并创建Project Area、Team Area
启动Jazz服务器,在Rational Team Concert中创建一个到到本地存储库的连接。
在连接中创建一个Process模板"petstore process definition":

图2. 创建Process模板
在打开的"petstore process definition"中选择"Process Configuration Source",配置如下:
清单10. PetStore Process定义
<?xml version="1.0" encoding="UTF-8"?>
<process-specification xmlns="http://com.ibm.team.process">
<project-configuration>
<initialization>
</initialization>
<permissions>
<role id="default">
<project-operation id="com.ibm.team.process.server.saveProjectArea">
<action id="createTeamArea"></action>
</project-operation>
</role>
</permissions>
</project-configuration>
<team-configuration>
<permissions>
<role id="default">
<operation id="com.ibm.team.process.server.saveTeamArea">
<action id="teamArea">
<action id="any"/>
</action>
</operation>
<operation id="com.ibm.petstore.service.buy">
<action id="buy"/>
</operation>
</role>
</permissions>
<behavior>
<role id="default">
<operation id="com.ibm.petstore.service.buy">
<preconditions>
</preconditions>
<followup-actions>
<followup-action id="com.ibm.petstore.service.buyParticipant"
name="Buy Pet Participant"
description="Buy Pet Participant contains sending a email to notify user pay amount.">
</followup-action>
</followup-actions>
</operation>
</role>
</behavior>
</team-configuration>
</process-specification>
在连接中创建一个Project Area"PetStorePrj",并选择使用process模板"petstore process definition"。

图3. 选择Process模板
在"PetStorePrj"中创建一个Team Area"PetStoreUserTeam"。
注意:由于process定义中已经将执行operation"buy"的权限赋予所有用户(role id="default"),这里无需对PetStoreUserTeam进行额外配置。
执行结果
用户选择购买某个宠物后,系统将向其发送一封email,图4为log信息。

图4. 执行结果
总结
Process是Jazz的一个核心构件,它的一个重要作用是为其它构件提供业务流程管理支持。本文详细阐述了Jazz Process中 AOP的一些基本概念和使用方法,并结合PetStore应用介绍了如何在基于Jazz的开发中利用Process机制实现基于AOP的业务流程管理。
参考资源
关于Jazz Project Area、Team Area及Process等基本概念,请参考Getting Started with Jazz Project Areas and Process。
关于Jazz Process的更多内容请参考Process开发指南。