[发明专利]基于BPEL引擎组合企业服务总线内部服务的方法无效
申请号: | 200910100967.6 | 申请日: | 2009-08-10 |
公开(公告)号: | CN101621540A | 公开(公告)日: | 2010-01-06 |
发明(设计)人: | 吴朝晖;朱显杰;尹建伟;陈韩伟;吴健;李莹;邓水光 | 申请(专利权)人: | 浙江大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/44 |
代理公司: | 杭州裕阳专利事务所(普通合伙) | 代理人: | 张骁敏 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 bpel 引擎 组合 企业 服务 总线 内部 方法 | ||
技术领域
本发明涉及一种基于BPEL引擎组合企业服务总线内部服务的方法。
背景技术
“企业服务总线”作为应用系统的连接中枢,是构筑SOA(Service OrientedArchitecture,面向服务架构)为基础的企业信息系统的必要元素。企业服务总线的定义可以简单的理解为:由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。通过企业服务总线实现应用系统的快速接入,并通过更高级的事件、流程处理能力,能够很好的将企业信息系统与实际业务协调起来,在保证原有投资的条件下,实现更加灵活和敏捷的企业信息系统改造。
BPEL4WS(Business Process Execution Language for Web Service,Web服务的业务流程执行语言,也称为BPEL)结合了基于图形的流程语言和块结构的流程语言的优点,提供了描述业务流程的定义语言,描述了时间、顺序、地点等相关内容。BPEL4WS主要基于WSDL 1.1、XML Schema 1.0和XPath 1.0规范,其中,WSDL消息和XML Schema类型定义提供了BPEL4WS流程所需的所有数据模型,而所有需要的外部资源和伙伴都被描述为WSDL服务。在WSDL中,portType使用抽象消息来定义抽象功能,服务的用户必须静态地依赖于这种抽象接口。这样,在基于BPEL4WS的业务流程中,外部的Web服务可像黑盒一样来为流程提供所需的服务,而不需要考虑开发的平台、异构系统等问题。
一般情况下,企业服务总线内部组件提供的服务都是相互独立的,这只能适应于小规模的企业应用。为了能够适应大规模的企业应用,有必要将企业服务总线原有的多个服务组合成一个规模较大的服务。在以往的实践中,为了将企业服务总线提供的服务组合到一起,往往是服务消费者根据需求场景,依次调用服务仓库中的已有服务。这种硬编码的方式将业务逻辑写死,导致系统弹性差,可复用性不强。
在SOA的架构中,为了把功能逻辑和业务逻辑分离,使系统具有最大程度的可扩展性,应该把工作流引擎(如BPEL)接入企业服务总线,而不是硬编码的方式,把原有的相对小的服务组合成新的服务以适用于更大规模的服务。把BPEL引擎接入到企业服务总线来组合总线内部服务,并把组合后的服务暴露成Web服务,使之可以接收SOAP消息,以便外部调用者调用,这正是本发明所要解决的问题。
发明内容
为了解决上述问题,本发明提供了一种系统弹性好,可复用性强的将企业服务总线内部服务进行组合的方法。
一种基于BPEL引擎组合企业服务总线内部服务的方法,具体包括如下步骤:1)把内部服务暴露成Web服务:为每一个内部服务定义抽象WSDL,并使得WSDL端点与内部端点一一对应;2)部署流程服务:用BPEL语言编写流程文件,然后创建一个包含该文件的部署包部署到总线中,总线便激活一个Web服务来代表该流程服务;3)调用流程服务:外部消费者获取流程服务的WSDL,发送SOAP消息至BPEL引擎,执行流程服务。
进一步的,所述部署包包括:部署包描述文件、BPEL流程定义文件、抽象WSDL文件、具体WSDL文件、端点映射文件和数据结构定义文件。
进一步的,所述步骤3)调用流程服务过程中企业服务总线与BPEL引擎间的消息交换方式包括:
当流程执行时需要调用总线内部服务时,BPEL引擎把SOAP消息转换为规范化消息,发送至规范化消息路由器,再由路由器把该消息转发给相应的内部组件;
当内部组件需要回复消息给流程时,该回复消息先发送至规范化消息路由器,再由路由器转发至BPEL引擎,最后引擎把规范化消息转换为SOAP消息供流程使用。
下面对本发明做进一步描述:
本技术把BPEL引擎接入到企业服务总线,使之成为总线的一个标准内部组件,并利用BPEL引擎对总线内部服务进行组合,最后再把总的流程服务暴露成标准Web服务,大致步骤可简单描述为:
1)把内部服务暴露成Web服务:BPEL引擎是对Web服务的组合,但企业服务总线内部服务并不是暴露成标准的Web服务,因此,为了利用BPEL引擎进行服务组合,必须先把内部服务暴露成Web服务。
2)部署流程服务:用BPEL语言编写流程文件,然后创建一个包含该文件的部署单元(SU)或部署集合(SA)部署到总线中,总线便激活一个Web服务来代表该流程服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910100967.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种下行数据接收状态的反馈方法
- 下一篇:存储、查找路由表的方法及装置