论文部分内容阅读
传统的面向服务架构(SOA, Service-Oriented Architecture)虽然在服务抽象性及服务耦合性方面均有相关技术支持,为各企业的交互带来了屏蔽实现细节的便利。但不可否认的是基于SOA的请求响应式服务,不容易实现服务的主动性,而且当某个业务流程在逻辑之外需要功能上的扩充时,必须要对原有的业务流程进行实现细节上的更改。鉴于事件驱动架构(EDA, Event-Driven Architecture)的事件主动性,可将其集成于传统的面向服务架构中,以解决其不能实时主动响应服务的问题。本文首先介绍了该课题研究的背景及意义,总结出论题的实现本质上是SOA与EDA架构的融合。然后结合前人的研究、现有BPEL服务生成平台的特点以及在研究和实现过程中所要解决的主要问题,分析了所要采用的关键技术,提出了通过对Web服务描述语言(WSDL, Web Service Description Language和业务流程执行语言(BPEL, Business Process Execution Language)-,以及BPEL执行引擎Apache ODE (Orchestra Director Engine)的扩展来完成整个论题的研究与实现的方法。之所以采用BPEL流程执行语言,是鉴于SOA的主要实现方式是通过Web服务,而组合Web服务的主流方式是BPEL。其次,本文给出了事件驱动的SOA业务流程建模与执行的详细设计与实现。在建模部分,针对建模需求,从事件、事件建模、事件管理方面进行了详细的EDA企业流程建模(EDABPM, EDA Business Process Modeling)设计,并且将其以图形化工具进行实现,最终以插件的形式集成到BPEL服务生成平台。在执行部分,针对执行引擎功能需求,对引擎各个模块进行了详细的设计说明及编码层的实现。本文以多媒体会议系统流程为例,对融合了EDA的BPEL流程进行了功能及性能上的测试,结果证明,通过对WSDL、BPEL以及Apache ODE的扩展来实现事件驱动的BPEL流程建模和执行是可行的。最后,论文对研究与实现工作进行了总结,并对事件驱动的业务流程建模与实现中需要进一步完善之处进行了展望。论文的创新点主要有:为WSDL和BPEL添加事件标记,以使服务流程支持事件描述;利用代码生成及向导技术使得事件建模过程更加人性化。论文提出的方法为解决事件驱动的SOA业务流程建模与执行提供了新的可行的方案。