请下载论文,论文为word格式,只上传部分查看,如果需要此参考论文,请点击-下载论文,下载资料。
摘 要
本文详细介绍了BPEL流程引擎以及流程管理系统的理论知识与应用。由于目前几乎所有BPEL流程引擎核心都是基于JAVA语言编写的,与操作系统底层交互程度较低,运行效率相对地下,在大规模应用上存在一定的不足。而C++语言的主要特质之一就是高效,与操作系统底层交互良好。针对C++语言各自的特点,和目前计算机软件界使用C++开发的流程引擎的空白,进一步提升流程引擎效率,本文提出了基于C++语言的BPEL流程引擎原型设计方案,并对其进行了实现。
流程引擎是运行经过编译的可执行的业务流程语言(通常是BPEL)定义文件的核心部分,其主要三大功能分别是解析业务流程语言定义的活动并运行、支持结构性活动、可以持久化地运行。而其中如何控制处理并发活动、如何持久化运行是流程引擎的设计难点。只有解决了上述两个问题,流程引擎才能真正意义上具备实用价值。
本文先对APACHE ODE流程引擎核心(即JACOB)作了深入详尽的研究分析,对其处理并发活动所采用的通信渠道机制和如何处理调度控制的问题进行了详细说明;然后给出了JAVA语言与C++语言的异同,在此基础上指出使用C++语言开发流程引擎时需要注意的重点,并据此提出了基于C++的使用调用堆栈和BOOST序列化库来实现虚拟处理单元以及整个流程引擎的设计方案和实现。
成品测试表明,使用C++开发BPEL流程引擎是完全可行的,整合了其余组件后能够实现完整的流程管理系统,其实际运行情况令人满意。C++在Web时代依然有着很强的生命力,使用C++开发的流程引擎应当有广阔的发展前景。
关键词:业务流程执行语言,业务流程引擎,虚拟处理单元
目录
摘 要I
AbstractII
第一章绪论1
1.1研究背景和意义1
1.2国内外研究现状2
1.3应解决的主要问题及应达到的技术要求3
1.4本文组织结构4
第二章 BPEL理论概述5
2.1 BPEL语言理论知识5
2.1.1 BPEL语言的作用域5
2.1.2 BPEL活动的标准属性和成员5
2.1.3 BPEL基础活动6
2.1.4 BPEL结构化活动7
2.1.5其他结构化活动7
2.2 本章小结8
第三章 关于Apache ODE流程引擎的研究9
3.1 Apache ODE结构总览9
3.1.1 为什么选择参考Apache ODE流程引擎10
3.1.2 ODE BPEL编译器10
3.1.3 ODE BPEL引擎运行时10
3.1.4 ODE数据访问对象(DAOs)10
3.1.5 ODE 集成层11
3.2 APACHE ODE流程引擎的JACOB框架11
3.2.1什么是JACOB11
3.2.2通道Channels12
3.2.3 Jacob对象(JacobObject)与Jacob可运行的线程状态(JacobRunnable)12
3.2.4方法集Method Lists (MLs)13
3.2.5虚拟处理单元(Virtual Process Unit)和执行队列(ExecutionQueue)13
3.3 实例解析14
3.3 本章小结20
第四章 提出基于C++特性的BPEL引擎方案21
4.1 JAVA和C++的异同21
4.2基于C++的BPEL流程引擎核心的设计方案22
4.2.1并发控制的设计方案22
4.2.2 C++的多态机制在BPEL引擎中的应用23
4.2.3基本活动的处理24
4.2.4结构性活动的处理25
4.3 本章小结25
第五章 挂起与再启动26
5.1为什么需要挂机与再启动26
5.2序列化26
5.2.1 Boost Serialization26
5.2.2 Boost Serialization的特点26
5.2.3 Boost Serialization的使用27
5.3 本章小结28
第六章 基于C++的BPEL引擎原型设计与实现29
6.1基于C++的BPEL引擎主要模块设计与实现29
6.1.1系统层次架构29
6.1.2引擎运行时的VPU模块实现30
6.1.3引擎运行时的执行队列模块实现30
6.1.4 BPEL引擎的动态行为描述31
6.1.5序列化的实现31
6.2 系统应用实例32
6.2.1Sequence实例32
6.2.2 Flow实例36
6.3 本章小结39
第七章 结论40
7.1结论40
7.2存在的不足40
参考文献41
致谢42
附录43
相关热词:基于C++的BPEL流程引擎原型
上一篇:基于Visual C++ 的JPEG编解码技术