Visual Paradigm 教程[UML]:如何在SoaML中建模多方服务?(下)
第三部分 - 用UML序列图指定多方编排
在多服务合同中,可以在交互图中显示各方之间的通信和编排。像UML序列图这样的交互图显示了谁调用谁以及何时进行调用。让我们绘制一个序列图来指定纳税服务的编排。
- 单击服务合同纳税服务。
单击形状右下角的微小资源图标,然后从弹出菜单中选择New Diagram ....
将打开“ 新建图”窗口。在New Diagram窗口中,在搜索字段中输入序列图,单击Next。然后,填写图表名称和描述(如果有),单击确定以确认图表创建。
在图表中创建三条生命线。将它们命名为付款人,支付网关和接收者。
设置生命线的分类器。右键单击付款人生命线,然后从弹出菜单中选择选择班级>选择班级.... 在“ 选择类”窗口中,选择“ 付款人”,然后单击“ 确定”。
将银行和税务接收器设置为支付网关和接收器生命线的分类器。
是时候模拟生命线之间的相互作用了。交互始于付款人在银行帐户上发出的付款请求。因此,在付款人和支付网关之间创建消息纳税。
为了使“纳税”成为银行界面中的操作,我们必须从序列消息创建操作。右键单击该消息,然后从弹出菜单中选择选择操作>创建操作“纳税”。
收到付款申请后,银行将要求税务人员处理付款。创建从支付网关到接收方的消息流程纳税。再次,从消息中创建一个操作。
如果付款正确,税务人员将向银行和纳税人发送确认消息。否则,税务人员将向银行发送拒绝消息,银行会将消息转发给纳税人。要表示条件流,请绘制一个涵盖生命线的替代组合片段。
- 右键单击组合片段左上角的alt标签。从弹出菜单中选择操作数>管理操作数....
在“ 管理约束”窗口中输入两个操作数的约束。对于第一个操作数,输入accept payment作为约束。对于第二个操作数,输入拒绝付款作为约束。单击“ 确定”以确认更改。
在生命线之间创建消息。请记住为您创建的所有序列消息创建操作。完成后,您的序列图应如下所示:
绘制UML序列图时,您已为三条生命线创建了操作。如果现在检查服务接口图,可以看到接口列出了操作。
第四部分 - 绘图服务参与者图
在多方服务中,每个参与者提供他们自己的接口并使用其他方的接口。该信息可以用服务参与者图表示。让我们绘制一个服务参与者图。
要创建服务参与者图,请从工具栏中选择“ 图表”>“新建 ”。在New Diagram窗口中,在搜索字段中输入Service Participant Diagram,然后单击Next。然后,填写图表名称和描述(如果有),单击“ 确定”进行确认。
纳税服务有三个参与者,银行账户所有者,网上银行和税务部门。在图中绘制它们。
银行账户所有者是纳税服务的消费者。在后退帐户所有者参与者中创建<< Request >>端口。
- 我们输入端口。右键单击端口,然后从弹出菜单中选择Select Type ....
在“ 选择类型”窗口中,选择“ 纳税人”,然后单击“ 确定”。
银行账户所有者提供其接口,即Tax Payer接口,并根据UML序列图中建模的交互,我们知道它使用Bank接口。首先从<< Request >>端口绘制提供的接口。将界面命名为Tax Payer。
从<< Request >>端口绘制所需的接口。将其命名为Bank。
参与者在线银行是纳税服务的提供者。在其中创建一个<< Service >>端口。然后,选择Bank作为端口类型。
在线银行提供银行界面,并使用纳税人和税务接收者界面。绘制提供的和必需的接口。对于这种特殊情况,您必须为Tax Payer和Tax Receiver接口绘制两个必需的接口。
参与者税务部门也是纳税服务的提供者。在其中创建一个<< Service >>端口。然后,选择Tax Receiver作为端口类型。
税务部门提供税务接收者界面,并使用银行和纳税人界面。绘制提供的和必需的接口。
完成后,您的图表应如下所示: