Extraction应用构建平台应用基础(二)------流程和实例篇

通过使用 Extraction平台的 ExModel构建管理工具,构建工程师可以构建各种各样的应用流程,构建出的应用流程会被存储在硬盘或数据库里;构建出的应用流程我们称之为应用流程模型,当用户点击激活应用流程模型时, ExEngine核心引擎会加载应用流程模型,而后为这个模型建立新的副本,并依据规则实例化这个副本,实例化的副本最终被 ExEngine核心引擎加载运行,我们称这个被加载运行的模型副本为应用流程实例;

       根据以上的机制可以发现每一流程模型可以在引擎内激活多个流程实例(参考流程激活控制章节,了解流程激活控制的细节),每个流程实例被ExEngine核心引擎独立运行,因此对每个流程实例的独立变更不会影响其他流程实例,也不会影响应用流程模型本身;

       这一特征使得Extraction平台可以自由的随时随地的修改运行中的应用流程实例,而不用停止服务器,修改应用流程实例的同时即不会影响其他应用流程的运行,也不会影响后续激活的相同流程的运行;

流程实例的生命状态周期

对于一个流程实例而言,可能处于以下几种状态之一(任何时候,实例只能处于一个状态):

ACTIVITING(运行)

 

当流程实例被ExEngine核心引擎加载后即处于运行状态,运行中的流程实例,依据定义的规则依次执行相关的动作;即使不执行任何操作或处于等待中的实例也处于运行状态(比如,等待用户交互);

PAUSE(暂停)

 

ExEngine核心引擎接收到暂停流程实例的指令后,引擎将更新流程实例状态,并注销该实例所注册的所有事件,执行相关处理操作,并最终从内存中卸载流程实例到硬盘或数据库;暂停的流程实例保存所有运行状态,在再此激活后恢复到其运行时状态;

FINISHED(结束)

 

当流程依据规则执行完成,流程将进入结束状态,ExEngine核心引擎更新流程实例的状态,执行相关处理操作,并最终从内存中卸载流程实例或依据规则删除流程实例;所有正常执行的流程实例最终回到结束状态,并结束其生命周期;

ABORT(终止)

 

    当流程被用户或管理员强行终止或流程本身执行发生重大异常时,流程进入终止状态;ExEngine核心引擎立即强行终止该运行实例并注销相关注册事件,执行后续处理,并立即从内存卸载流程实例;被强行终止的流程实例可能存在数据的不完整性;结束的流程实例和终止的流程实例不可以被再次激活; 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值