BPEL背景下的工作流引擎调度技术探索

2022-09-10

在网络技术日益发达的今天, 企业的管理模式也发生着较大的改变, 工作流管理技术被运用于许多企业的管理工作中, 并且有着明显的作用。很多学者都对工作流技术进行了较为深入的研究, 有些学者的研究是在其他工作流模型基础上, 通过UML来构建另外一个工作流模型, 然后利用计算机技术来进行最终的模型实现。另外, 有学者设计了一整套工作流语言, 构建一个以节点为关键的工作流模型, 通过工作流的语言描述按一定的流程来将其转化成相对应的工作程序, 以达到促使流程进行执行的目的。本文在前人的经验和基础上, 在BPEL背景下进行工作流引擎调度技术的研究, 这种技术解释并定义了企业工作流程模式生成的BPEL语言, 利用不同关键节点的属性判断, 来确定当前节点的执行反思, 以及其他节点的执行手段和分支的选择, 以达到对整个工作流过程中核心节点的最大控制, 从而使得整个工作流程能够有效的进行和最大程度的降低运转的错误率。

一、工作流以及工作流管理系统体系结构

工作流是利用计算机软件进行定义、执行并监管的一个过程, 而所谓的工作流管理系统, 就是这种计算机软件。工作流与一般工作流程最大的不同之处在于, 前者是必须通过计算机软件来进行, 在这种软件的控制之下才能完成所有的执行操作, 但是后者却并没有这种的限制条件, 虽然有些过程可能也需要使用到计算机软件, 但只是一种局部的使用, 整个工作流并不在计算机的控制范围内。工作流管理系统则是一个计算机软件系统, 通过这种系统完成对工作流的定义和管理, 依照该系统中最先制定好的工作流体系命令来进行具体步骤实施。工作流技术是一种实现业务全自动化执行和管理的技术, 在信息化时代被广泛关注, 成为计算机领域中一个全新的研究对象, 也成为了企业信息化管理的重要技术。工作流管理系统的结构清晰, 一般由工作流模型构建、工作流引擎及执行过程、工作流管控、用户使用程序及接口等部分组成。其中, 工作流模型构建这一板块的工作很明确, 主要是对工作流的一些工作流程和组成这些工作流程的活动进行定义和模型构建。而工作流引擎及执行过程则是整个管理体系的重中之重, 是对解析过程并且进行定义, 设计实例过程并对其进行控制, 增添新的工程序;而工作流的管控部分的主要功能则是为相关的操作人员提供各种统计分析数据;用户使用程序及接口的形式并不是一个固定的存在, 有各种各样的形式, 各个系统可以依据自身的需求开发并提供一些接口与其他系统进行连接。在整个工作流管理系统中, 流程的模型构建是根本, 而引擎管控才是系统的核心。BPEL可以通过跨平台进行企业工作流的调度, 工作流引擎控制调度技术, 是整个系统的关键技术[1]。

二、工作流引擎调控技术

工作流引擎主要是构建、管理以及执行业务流程事件, 所以其必须了解业务流程的定义, 然后按照执行过程中的需求生产实例, 并且对实例进行准确的运行和管理, 重要的一点是在对过程实例的运行过程中必须对其进行引导, 监控业务流程的核心节点。

(一) 工作流引擎结构

工作流引擎技术是整个业务流程中的关键, 所以引擎的良好性能和其绝对的可靠性对整个业务流程有着非常大的影响, 能够保证业务执行的效率以及安全可靠性。基于此, 要想让业务流程安全有效的进行, 引擎必须具备如下四种功能:其一、将过程实例化, 并且将该过程进行模型构建, 分析并定义模型工具BPMN所产生的过程, 另外对过程实例进行初始化操作。其二、必须拥用导航功能, 以流程数据为参考数据, 在其他数据的相互作用下引导后续节点的运行方向。其三、拥有与外部资源的沟通和交流功能, 工作流在执行整个业务流程服务, 通过用户应用接口以及直接应用接口这两种渠道进行。其四、引擎必须要有对整个流程数据以及其他数据进行维护的功能, 在业务流程过程中对不同状态的信息进行监管和维护, 以便对各种数据、信息和顾客所传达的数据进行协调和维护[2]。引擎中必然要运行一个甚至多个BPEL流程, 而在这个流程中则又是由许多个活动连接组成。工作流引擎从一个BPEL流程数据文件建立另一个流程, 随后进行操作执行, 主要结构功能表现在包含:流程的分解定义、执行、数据持久化、流程表的管理等五大模块。

(二) 引擎调度算法

工作流引擎调度算法的核心在于当一个节点活动完结后, 能够快速的找到其他的节点进行下一步的节点运行, 促进整个流程的进行直到最后一个流程结束。根据工作流引擎调度的算法特点, 做出一定的修改, 设计基于BPEL背景下的工作流引擎的调度算法, 基本步骤如下。

步骤1:收集目前流程的节点种类, 分析其是否为变量节点, 如果是, 则根据变量节点的基本条件选择准确的方向并寻找其下一个节点, 如果不是则直接寻找下一个节点[3]。

步骤2:寻找目前节点中的下一个节点, 如果只有一个后续节点则直接跳到步骤4, 如果有很多个, 则按照顺序进行下一步骤。

步骤3:依照多后续节点分析出其应该进行同步执行还是分步执行, 如同步则直接进行步骤4, 如果分步则进行记录再进行下一个步骤。

步骤4:如果节点执行完毕找不到下一个节点, 则表示查找完成, 如果能够找到下一个节点, 则要进行下一个步骤。

步骤5:在这个步骤中, 如果找不到下一个节点, 分析当前节点是否为同步节点, 如果是则结束查找, 如果不是则使用退后的方式返回到上一个节点, 当作当前节点回到初始步骤进行查找, 直至找出可执行的节点。基于BPEL背景下所建立的工作流引擎, 能够让流程进行一个有序的运行, 并且在一定程度上提供了有效的运行调节制度。另外, 因为BPEL能够支持许多不同的操作环境和流程调用, 使得在BPEL背景下的工作流引擎具备更多的功能, 并且能够广泛的使用。

三、结论

总而言之, 工作流引擎是一个执行服务的软件工具, 是整个工作流管理系统的关键所在, 如果没有工作流引擎则整个工作流管理系统则无法有效的开展。基于BPEL背景下的工作流引擎调度技术能够支持不同环境, 所以应用前景非常广泛。

摘要:工作流引擎调度技术是可以通过一系列的过程操作, 来达到企业业务自动化进程的关键技术。而目前的工作流引擎还存在很多的问题, 针对这些问题, 在BPEL背景下研究工作流引擎调度技术, 提出支持异构分步环境的引擎技术, 对企业实现信息化管理, 更好的发展业务有着重要的意义。

关键词:BPEL,工作流引擎,调度技术

参考文献

[1] 林荣恒, 吴步丹, 赵耀, 杨放春.基于K-means的云化分布式BPEL引擎放置机制[J].通信学报, 2014, 35 (05) :49-56.

[2] 杨明顺, 韩周鹏, 余婷, 李言, 邵利真.一种轻型工作流引擎的设计与实现[J].西安理工大学学报, 2013, 29 (01) :20-26.

上一篇:重庆大学城第二小学校下一篇:小学数学教学一得