事件驱动的BPEL引擎架构设计与实现


Autoria(s): 南方
Data(s)

06/06/2008

Resumo

WS-BPEL(Web Service Business Process Execution Language,简称BPEL)是Web服务规范族中服务复合层的重要标准。BPEL支持通过对Web服务的编制(Orchestration)来构建业务流程,从而使编程人员能够集中关注业务逻辑。BPEL引擎系统是一个支持BPEL语言描述的业务流程运行的服务器中间件系统,使用BPEL引擎可以执行BPEL语言编写的业务流程。作为一个网络服务器系统,BPEL引擎将不可避免的处理大量的并发请求。如何设计实现BPEL引擎使之能高效的处理并发将是高性能BPEL引擎设计的关键问题。 并发服务器系统通常采用多线程和事件驱动两种并发模型。传统上大多数服务器软件都建立在多线程(或多进程)模型的基础上。但在高负载条件下,过多的线程和线程间的上下文切换会造成系统较大的开销,这些开销是导致系统性能下降的主要原因。事件驱动模型是一种只采用少量固定数量线程的并发模型,一般说来,它的伸缩性更好,并且有更高的处理效率。 本文对高并发服务器系统中所使用的事件驱动模型进行了分析和研究,并且结合BPEL语言规范的特点,提出了事件驱动的BPEL引擎实现技术方案。论文重点研究了BPEL事件结构和有限状态机(Finite State Machine,简称FSM)刻画BPEL流程和活动行为的原理,针对BPEL语言语法特点,构造了完整的BPEL FSM模型,包括了状态空间和基于ECA(Event-Condition-Action)模式的状态转移规则。 在基于事件驱动模型的BPEL引擎架构原理的指导下,我们设计并实现了基于事件驱动模型的OnceBPEL2.0引擎系统。并且,我们对采用多线程模型实现的OnceBPEL1.0系统和采用事件驱动模型实现的OnceBPEL2.0系统进行了性能测试和分析比较。从我们的测试数据和分析结果可以看出,采用事件驱动模型的OnceBPEL2.0系统比采用多线程模型的OnceBPEL1.0有了较大的性能提升。

Identificador

http://ir.iscas.ac.cn/handle/311060/7308

http://www.irgrid.ac.cn/handle/1471x/105778

Idioma(s)

中文

Fonte

事件驱动的BPEL引擎架构设计与实现.南方[d].中国科学院软件研究所,2008.20-25

Palavras-Chave #BPEL #Web服务 #事件驱动并发 #中间件
Tipo

学位论文