在订单处理阶段中处理
业务流程管理解决方案包括两个阶段, 即 CableOrder1 和 CableOrder2 业务流程,用于执行订单处理操作。 有关如何将订单过程划分为阶段的详细信息,请参阅 处理阶段数。
这两个处理阶段在收到订单消息时开始,两个处理阶段在启动后都使用状态消息回复 到 OrderManager 业务流程。 同样,两者都向 OrderManager 发送一条消息,以指示阶段是完成还是终止并出现错误。 有关 OrderManager 业务流程与处理阶段之间的连接的详细信息,请参阅 反向直接合作伙伴绑定。
这两个处理阶段都使用自相关的动态端口将信息发送回 OrderManger。 通过动态端口,业务流程可将端口地址从消息复制到发送端口。
处理阶段接收的所有订单消息都是在 OrderBroker 中创建的规范化规范顺序消息。
注意
由于 CableOrder1 和 CableOrder2 业务流程的长度,你可能希望在 Microsoft Visual Studio 中打开业务流程的情况下阅读本部分。
CableOrder1 业务流程
CableOrder1 业务流程在收到订单消息时启动。 然后将消息中的答复地址复制到阶段完成端口。 接下来,它会构造确认消息并将其作为响应发送到 BeginStagePort 端口,然后将路由信息保存在本地变量中。
此业务流程接着获取 SSO 的配置信息。 有关解决方案如何使用 SSO 的详细信息,请参阅 在业务流程管理解决方案中高效使用 SSO。
然后,业务流程会创建 OrderHandler 对象的实例,以便与后端进程通信、检查消息的有效性、分析消息、确定服务类型以及要执行的操作。 根据要执行的操作,它会调用某个顺序操作业务流程 Activate、 Change 或 Cancel ,并将 OrderHandler 对象传递给业务流程。
然后 ,CableOrder1 业务流程会检查中断,向设施组发送消息,并等待回听。 如果业务流程收到功能组发回的消息,则会继续进行处理。 否则,业务流程将在出现中断时引发中断异常。
业务流程通过构造完成消息并通过 StageCompletion 端口发送完成。
CableOrder2 业务流程
CableOrder2 业务流程执行与 CableOrder1 业务流程相同的起始步骤,用于路由信息、SSO 配置信息和创建 OrderHandler 对象的实例。
然后,业务流程会检查中断,并在调用 Complete 业务流程时传递 OrderHandler 对象。 接下来,业务流程创建订单状态消息、更新订单历史记录,并通过 StageCompletion 端口发送完成消息。