中国科学院软件研究所机构知识库
Advanced  
ISCAS OpenIR  > 软件工程技术研究开发中心  > 学位论文
题名:
事件驱动的BPEL引擎架构设计与实现
作者: 南方
答辩日期: 2008-06-06
授予单位: 中国科学院软件研究所
授予地点: 软件研究所
学位: 博士
关键词: BPEL ; Web服务 ; 事件驱动并发 ; 中间件
其他题名: Design and Implementation of Event-driven BPEL Engine
摘要: 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有了较大的性能提升。
英文摘要: WS-BPEL (Web Service Business Process Execution Language, BPEL for short) is an important standard for web service composition. The programmer can focus on business logic and design an executable business process by orchestrating web services with BPEL. A BPEL engine is a BPEL process runtime server middleware. As an internet server system, concurrency is a key issue for a BPEL engine. In the design of server applications there are two most commonly employed concurrent programming models: thread-based concurrency and event-driven concurrency. The most commonly used design for server applications is the thread-based or process-based model. Howerver, in the case of overloaded pressure for a thread-based server, the growing thread contexts switching can cause degradation of performance. On the other hand, an application based on event-driven concurrency consists of only a small number of threads and event-driven concurrency is typically more scalable and efficient than thread-driven concurrency. Therefore, this dissertation proposes a principle of an event-driven BPEL engine based on the study and analysis of event-driven concurrency model and BPEL language. On this principle, we put much effort on studying the structure and relationship of events and finite state machine (FSM for short) in our BPEL engine. This paper presents comparatively self-contained BPEL FSM data structures and ECA (Event-Condition-Action) rules for our engine. With the guidance of our event-driven BPEL engine principle, a real BPEL engine called OnceBPEL2.0 is designed and implemented. Furthermore, we test and compare performance of the two different BPEL engines, OnceBPEL2.0 based on event-driven concurrency and OnceBPEL1.0 based on thread-based concurrency, under same pressures. Our results of the testing show that OnceBPEL2.0 has much higher performance than OnceBPEL1.0.
语种: 中文
内容类型: 学位论文
URI标识: http://ir.iscas.ac.cn/handle/311060/7308
Appears in Collections:软件工程技术研究开发中心 _学位论文

Files in This Item:
File Name/ File Size Content Type Version Access License
10001_200528015029033南方_paper.pdf(870KB)----限制开放-- 联系获取全文

Recommended Citation:
南方. 事件驱动的BPEL引擎架构设计与实现[D]. 软件研究所. 中国科学院软件研究所. 2008-06-06.
Service
Recommend this item
Sava as my favorate item
Show this item's statistics
Export Endnote File
Google Scholar
Similar articles in Google Scholar
[南方]'s Articles
CSDL cross search
Similar articles in CSDL Cross Search
[南方]‘s Articles
Related Copyright Policies
Null
Social Bookmarking
Add to CiteULike Add to Connotea Add to Del.icio.us Add to Digg Add to Reddit
所有评论 (0)
暂无评论
 
评注功能仅针对注册用户开放,请您登录
您对该条目有什么异议,请填写以下表单,管理员会尽快联系您。
内 容:
Email:  *
单位:
验证码:   刷新
您在IR的使用过程中有什么好的想法或者建议可以反馈给我们。
标 题:
 *
内 容:
Email:  *
验证码:   刷新

Items in IR are protected by copyright, with all rights reserved, unless otherwise indicated.

 

 

Valid XHTML 1.0!
Copyright © 2007-2017  中国科学院软件研究所 - Feedback
Powered by CSpace