信息化 频道

食品行业ERP选型 需把握关键的“20%”

 

    基本控制流模式之3 :聚合同步

    描述 

    连接的两个或更多的分支合并成为一个单一的活动或节点。 

    同义词 

    AND-Join, 相交, 同步 

    示例 

    比如,某公司在审核发票和生成发票两个活动完成后,发货活动将会紧接着执行。又如, 商店的现金盘点活动只能在商店打痒和信用卡打单汇总后完成后才能进行。 

    动机 

    同步提供了一条途径reconverging的执行线程两个或更多并行分支. 一般来说,这些分行开设一个平行分裂(分裂)的建设进程早期模型. 线程的控制是通过这一活动开展后立即同步一旦所有新任科 完成. 

    背景 

    如图3的CPN模型图很好地说明了聚合模式。 

    在此模型中包含两个重要的背景条件: 

    ( 1 )每一个引入的分支通过给定的案例精确地执行着。 

    ( 2 )一旦引入的分支已完成, 同步者能够复位和重新运作。 这些条件很重要,因为如果所有引入的分支没有完整, 那么同步将产生死锁,如果每个分支收到多于一个的触发, 那么构造行为将是未定义的。 如果没有了这些限制,这些问题反而会成为大问题。



    图 3: 聚合模式



    实现 

    如同平行分支模式一样,聚合同步模式也有两种处理模型:隐式的和显式的。 

    Staffware 和SAP Workflowm EPCs, BPMN, and XPDL均是显式的AND-Join构造器实现。 其他提供商如WebSphere MQ, FLOWer, COSA, iPlanet 和BPEL是种隐式构造模式 ,它通过多种的无条件的引入分支连接控制到活动上,仅当这些弧线的每个活动收到分支控制引入时此活动才被激活, UML 2.0 ADs则同时支持以上两种实现方式。 

    问题 

    使用同步模式,有可能会导致一种死锁的情况出现,分支构造因为种种原因未能如愿建立起来, 这可能会产生的后果之一是处于并行之一的活动,未能成功地完成或者是因为线程的控制没有在分支范围之内。 

    解决方案 

    你或许知道,目前尚未有工作流系统或业务流程执行语言提供解决这方面问题的明确支持,这方面的问题是因为一个引入的分支所造成的活动失败,但其结构性的性质一般能够保证可能造成的死锁并不存在。 

    评价标准 

    目前所有提供商对此种模式提供了全力支持,它们一般会提供一个构造器把几种执行的分支合并为独一的分支。这种合并行为反生在当它收到了任一引入分支的消息后。 

    产品评价 

    •达到某+评级,在工作流引擎必须证明它符合每一个具体的标准。 
    •实现+ / -评级,它至少必须符合所列标准之一。 
    •以上二者评级如果能不能达到,则被评定为级别。


 

0
相关文章