技术开发 频道

建模与开发协作 缩短业务实现与部署

【IT168 专稿】    本文中,作者将使用Websphere Business Modeler和Websphere Integration Developer协作,端到端地实现并部署一个简单的信用卡申请及进度查询的业务流程,以便于读者更好地了解如何使用Modeler和WID进行BPM的快速实现和部署。本文非常适合对Modeler和WID有一定了解,并想通过二者协作来缩短开发周期的读者。

    首先,介绍一下相关背景知识。

    多输入标准(Multiple Input Criteria)

    如果一个流程具有多输入标准,那意味着该流程或许可以由多种输入启动。比如某流程具有2个输入标准,那可能出现两种情况。

    情况一:两个输入标准都可以启动该流程。一个典型例子是某机票代理公司的机票预定流程,客户可以通过输入一个手机号开始一个预定流程,也可以通过一个账号/密码启动一个预定流程。

    情况二:两个输入标准只有一个可以启动流程,另外一个可以配合或者监控被启动流程实例的运行。一个典型的例子就是某信用卡申请及进度查询流程,客户可以通过提交申请单开始一个流程实例,之后,该客户就可以通过申请号去查询流程实例的运行进度。

    相关集(Correlation sets)

    同一个流程在运行时可以启动多个实例,相关集可以唯一标识一个流程的实例。在上面所说的信用卡流程中,申请号就可以被封装成一个相关集,用以在运行时识别所需要访问的流程实例。在Modeler中可以在“属性视图”(Attributes View)中的“输入逻辑”(Input Logic)选项卡中找到设置相关集的地方。在WID中,选择一个Receive或者Pick,可以在“属性视图”中的“相关集”(Correlation)选项卡中看到相关信息。

    输入标准及相关集在Modeler和WID间的映射关系

    Modeler中的多输入标准WID导出时将映射成一个Pick或者多个Receive活动;同时,一些空的相关集将被生成。(这些相关集都是需要在WID中进一步实现的才能部署的,这也是为什么多输入标准的流程不能直接部署的主要原因之一。)

    针对流程的具体设置,WID到处映射的处理原则是:

    一, 如果Modeler流程没有设置输入标准的相关集属性(Correlation),每个输入标准将被映射成Pick元素中的一个OnMessage construct。

    二,如果有一个或者多个输入标准设置了相关集属性(Correlation),并且“If no instance satisfy the condition”被设成“Create a new instance”(如图1),那么,每个输入标准将被映射成一个Receive活动,“Create a new process instance if one does not already exist”将是“Yes” (如图2),相关集的“Initiation”将是“Yes” (如图3)。

图1
图2
图3

    三,如果有一个或者多个输入标准设置了相关集属性(Correlation),并且“If no instance satisfy the condition”被设成“Treat as error”或者“Discard the input”,那么,每个输入标准将被映射成一个Receive活动,“Create a new process instance if one does not already exist”将是“No”,相关集的“Initiation”将是“No”。
 

0
相关文章