1.一种事务规则驱动的敏捷SOWF架构方法,其步骤如下:
1)将业务活动基于Web服务技术封装成具有相对独立业务功能的模块,称为“事务服务”;
2)定义事务规则模版;事务规则定义了事务服务的交互规则和交互方法,它包含一组约束规则,用来描述事务服务的数据、结构以及事件必须满足的限定条件,并通过约束作用于过程模型,使模型中定义的事务服务发生动态的重组,避免手动修改过程模型;事务规则模版基于XML语言定义,包含了一组标签,这些标签用于定义事务规则中的各类规则;
2.1)定义结构规则;结构规则Structure_Rule=
2.2)定义数据规则;数据规则Data_Rule=
2.3)定义事件规则;事件规则Event_Rule=
3)实现事务规则驱动的SOWF架构;该架构包括四层:事务规则定义层、工作流引擎层、事务服务层、业务活动层,下面对每层的组成及功能做一说明:
3.1)事务规则定义层主要包括流程管理器、过程模型编辑器与规则模板编辑器;流程管理器用于对流程进行管理,包括流程创建与终止;过程模型编辑器用于对过程模型库中的过程模型文件进行管理,包括定义活动、流、消息等要素,以及描述抽象业务过程;规则模板编辑器用于新建与编辑规则模板,包括规则模板的定义、规则模版库管理等;
3.2)工作流引擎层主要包括事务规则引擎、事务规则库、过程模型库;事务规则引擎负责规范工作流引擎的启动和执行,解析流程事务规则XML文件,依据事务规则组合事务服务来完成特定的业务需求;事务规则库用于存储规则模板,并提供给事务规则引擎,事务规则引擎根据读取规则库中的规则模板进行业务流程的组合与搭建;过程模型库提供基本的过程模型元素,用于支持业务流程的组合;
3.3)事务服务层为工作引擎层提供服务,是多个事务服务的集合;事务服务是由业务活动封装而成;业务活动被服务化后可以消除异构系统与平台的差异性,即服务层可以容纳跨系统跨部门的业务活动;
3.4)业务活动层由已存在的业务系统提供,多个活动可以属于同一个业务系统,也可以跨越不同的业务系统;
4)将事务规则模版作为SOWF架构的输入,其工作机制如下:
4.1)通过规则模板编辑器撰写事务规则模板;
4.2)通过流程管理器将描述了服务执行流程的事务规则模板输入到规则库中,事务规则模板以Key-Value的方式存储到NoSQL形式的事务规则库中;
4.3)解释器通过Key读取规则库里存储的规则模板,并进行翻译,将生成的经过优化并容易处理的中间代码提交给组合器;
4.4)组合器对中间代码进行解析及预处理操作;首先计算出所有的过程模型元素的引用,然后通过调度器发出调度指令,将这些引用映射为具体的业务实体,如服务和消息;
接着经由绑定器将由调度器申请到的业务实体与上下文绑定在一起,进行服务实例以及资源的预分配;最后则将一系列动作产生的描述信息写回到中间代码中,并进行编译工作,输出可执行二进制代码,这样就完成了抽象的规则模板和过程模型描述到可执行流的映射;
4.5)处理完成之后,组合器将可执行流提交给执行器进行执行;执行器保证了组合过程中的资源分配与执行环境的可靠,同时监控工作流的执行状态。