使用IBM WID建立企业SOA 2(实现具体的流程控制)
实现具体的流程控制(Processing the Sell request)
2.1 创建本例中的具体流程控制实现(Creating the process implementation)
1) 创建SellApprovalProcess的具体实现
a) 右击SellApprovalProcess组件.
b) 从弹出的菜单里面选择Generate Implementation,将弹出一个树窗口。
c) 从这个树型窗口中,单击SellApplicationModule,单击完成,将会出现以图示:
d) 设置相关属性,在properties属性视图里面单击Detail。先选择Process is long-running,然后在Automatically delete the process after completion里面选择NO.最好按Ctrl+s保存。
2.2 定然变量(Defining variables)
1) 在variables视图中,添加变量AutoApprovalData
a) 单击符号,然后在variables里面就出现一个变量Variable
b) 重命名Variable为AutoApprovalData,设置类型为demandFormDataBo.
c) 如以下图示:
2) 根据以上的步骤添加变量AutoApprovalResponseData类型为boolean, SpecialPriceApprovalData, SpecialPriceApprovalData类型为specialPriceApprovalDataBo,最后按Ctrl+s保存。
2.3 就收到的信息赋值给定义的变量(Copying Sell request information)
1) 也就是将接受到的数据,转发给其它变量.
a) 在流程编辑视图的Palette模板中,单击 Assign, 然后在工作区的Receive活动与Reply之间单击出现一个Assign活动。
b) 在properties的description里面更改名字为CopyInput
c) 然后单击properties里面的Details选项,单击 Select From中选择 ApplicationInput : demandFormDataBO,单击Select To 选择AutoApprovalData : demandFormDataBO.
d) 然后再单击Add,也就是同时对多个变量进行赋值。
e) 单击 Select From中选择 ApplicationInput : demandFormDataBO,单击Select To 选择SpecialPriceApprovalDate:specialPriceApprovalDataBo> sellRequest: demandFormDataBO.
2.4 调用相关的业务规则(Invoking the automatic approval rules)
1) 控制由哪些活动来处理.
a) 选择流程编辑视图.
b) 单击Invoke然后放置在 CopyInput与 Reply之间.
c) 重命名为CheckAutoApproval.
d) 在属性视图中,单击 Details
e) 在partner选择AutoApprovalRulesInterfacePartner.这个时候AutoApprovalRequest方法将被选为默认的操作
f) 接下来就是为操作的输入输出赋值.为AutoApprovalInput赋值为AutoApprovalData,为AutoApprovalResponse赋值为AutoApprovalResponseData.如下图所示:
2.5 根据业务规则返回来的值自动处理(Defining a case for automatically approved Sell requests)
1) 增加一个决策,也就是创建一个choice活动
a) 在流程编辑视图里面单击choice.
b) 将此放入canse面板中,CheckAutoApproval和 Reply之间,然后这个Choice活动就建立了.
c) 重命名Choice为 AutoApprovalTest.
2) 增加一个决策条件,也就是在 visual snippet 增加一个条件表达示.
a) 在流程编辑视图里面,单击Case活动.
b) 在流程编辑视图里面的Properties视图里面,单击Description.在Display Name 字段里面,输入 AutoApproved.
c) 单击Details,在 Expression language列表里面选择 Java.
d) For the Expression Type,选择Visual
e) 在工作面板中,单击 true 然后选择AutoApprovalResponseData, 如下图所示:
3) 增加一个默认同意情况下的活动.
a) 增加一个Assign在 AutoApproved 的下面并改名为Approved
b) 单击Detail标签,单击Select From 并选择String,并输入Type Your application has been approved
c) 单击Select to,选择CompanyResponse.如下图所示:
2.6 根据业务规则返回来的值设置另外处理流程,在就是特价审批服务调用 (Defining a case for manually approved loan requests)
1) 创建一个Otherwise分支
a) 单击 AutoApprovalTest选择 Add Otherwise.
2) 增加一个assign 活动来转移消息
a) 增加一个assign活动在Otherwise之下,并重命名为 AssignToApprover.
b) 单击Select From 选择String,输入“你的请求价格低于公司报价,所以需要特价审批流程”.
c) 单击Select To 选择SpecialPriceApprovalData : instruction .
3) 增加一个Invoke 选择SpecialPriceApprover服务
a) 选择流程编辑视图.
b) 单击Invoke然后放置在AssignToApprover的下面.
c) 重命名为ProcessApplication.
d) 在属性视图中,单击 Details
e) 在partner选择SpecialPriceApproverInterfacePartner.这个时候SpecialPriceApprovalRequest方法将被选为默认的操作
f) 接下来就是为操作的输入输出赋值.为SpecialPriceApprovalRequest赋值为SpecialPriceApprovalData,为SpecialPriceApprovalResponse赋值为CompanyResponse.如下图所示:
4) 创建一个人力任务为客户提供可操作的页面
a) 单击 Receive,在属性视图里面单击 Authorization.
b) 单击 New新生成一个可视化界面编辑器.
c) 在用户接口选项处单击 Add 并选择 Business Process Choreographer Explorer.在后面我们就可以能过这的接口生成前台界面.
d) 按Ctrl+s保存,如下图所示:
e) 下面就是整个流程的图示