CN101621540A - 基于bpel引擎组合企业服务总线内部服务的方法 - Google Patents
基于bpel引擎组合企业服务总线内部服务的方法 Download PDFInfo
- Publication number
- CN101621540A CN101621540A CN200910100967A CN200910100967A CN101621540A CN 101621540 A CN101621540 A CN 101621540A CN 200910100967 A CN200910100967 A CN 200910100967A CN 200910100967 A CN200910100967 A CN 200910100967A CN 101621540 A CN101621540 A CN 101621540A
- Authority
- CN
- China
- Prior art keywords
- flow
- services
- message
- service
- bpel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于BPEL引擎组合企业服务总线内部服务的方法。一种基于BPEL引擎组合企业服务总线内部服务的方法,具体包括如下步骤:1)把内部服务暴露成Web服务:为每一个内部服务定义抽象WSDL,并使得WSDL端点与内部端点一一对应;2)部署流程服务:用BPEL语言编写流程文件,然后创建一个包含该文件的部署包部署到总线中,总线便激活一个Web服务来代表该流程服务;3)调用流程服务:外部消费者获取流程服务的WSDL,发送SOAP消息至BPEL引擎,执行流程服务。本发明提供一种简单方便的方式对企业服务总线内部服务进行组合,系统弹性好,可复用性强;支持流程执行过程中的信息持久化及监视功能。
Description
技术领域
本发明涉及一种基于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服务来代表该流程服务。
3)调用流程服务:外部消费者获取流程服务的WSDL,发送SOAP消息至BPEL引擎,执行流程服务。在执行流程过程中若需要调用总线内部服务时,BPEL引擎提供消息转换功能使SOAP消息和规范化消息进行相互转换。
企业服务总线与BPEL引擎间的消息交换方式可简单描述为:
当流程执行时需要调用总线内部服务时,BPEL引擎会把SOAP消息转换为规范化消息,发送至规范化消息路由器,随后,由路由器把该消息转发给相应的内部组件;
当内部组件需要回复消息给流程时,该回复消息先发送至规范化消息路由器,再由路由器转发至BPEL引擎,最后,引擎把规范化消息转换为SOAP消息供流程使用。
本发明的优点在于:
1.提供一种简单方便的方式对企业服务总线内部服务进行组合,系统弹性好,可复用性强;
2.提供一种把企业服务总线内部服务暴露成标准Web服务的方法;
3.支持流程执行过程中的信息持久化及监视功能
附图说明
图1BPEL引擎服务部署包结构图
图2BPEL引擎与企业服务总线容器的消息交换示意图
图3内部端点与Web服务端点的映射示意图
图4规范化消息与SOAP消息的相互转换示意图
具体实施方式
下面结合附图和实例对本发明作进一步介绍:
图1描述了BPEL引擎部署包的结构。
1)部署包描述文件:该文件描述了流程服务的相关属性,部署时,总线容器会解析该文件;
2)BPEL流程定义文件:该文件是用标准的BPEL语言编写而成,是总线内部服务组合的逻辑实现部分;
3)抽象WSDL文件:这些文件的作用是把总线内部服务暴露成Web服务,这些WSDL文件只要提供抽象的Web服务接口定义即可;
4)具体WSDL文件:该文件描述了流程本身所暴露的Web服务,需提供具体的Web服务操作等;
5)端点映射文件:该文件描述了内部服务端点和Web服务端点之间是如何映射的。
6)其它:包括BPEL及WSDL文件中所需的数据结构定义(XML schema)等。
图2描述了BPEL引擎是如何同总线其它内部组件进行交互的。
1)当把部署包(包含BPEL流程文件、WSDL文件和Schema文件等)部署到容器时,BPEL引擎将编译流程文件,并根据WSDL文件把相关的内部服务暴露成Web服务,最后创建端点映射表,该表将内部服务端点和Web服务端点进行一一映射。
2)当流程要调用服务提供者的服务时,BPEL运行时构造SOAP消息并将其发送至消息格式转换工具,该工具根据SOAP消息中指定的Web服务端点在端点映射表中查找相关的内部端点,查找到后,根据SOAP消息的其它内容和查找到的内部端点构造规范化消息,并将其发送至规范化消息路由器。路由器根据消息中包含的内部端点信息将消息转发至相应的服务提供者,若服务调用失败,将错误信息照原路径返回给流程。
3)当服务消费者要发送消息至流程请求服务时,消费者构造规范化消息并将其发送至规范化消息路由器,路由器根据消息中的内部服务端点把消息转发至BPEL引擎;引擎中的消息格式转换工具在端点映射表中查找相应的Web服务端点,再构造SOAP消息,并将其发送至BPEL运行时,若服务调用失败,将错误信息照原路径返回给服务消费者。
图3描述了BPEL引擎如何把总线内部端点与Web服务端点进行一一映射。
1)BPEL引擎端点映射文件(deploy.xml)包含两中元素:provide和invoke。这两个元素分别描述了总线服务提供者和消费者端点是如何和Web服务端点进行一一映射的;
2)provide和invoke元素都有partnerLink和service两个子元素,每个partnerLink对应抽象WSDL中定义的partnerLinkType的一个实例,而每个service则对应总线的一个内部服务,service元素还有name和port这两个子元素,分别对应总线内部服务的服务名称和服务端点。
图4描述了规范化消息与SOAP消息是如何进行相互转换的。
1)规范化消息中的服务端点、提供者ID、消费者ID与SOAP消息头相对应。规范化消息中的消息内容与SOAP消息体相对应。
Claims (3)
1.一种基于BPEL引擎组合企业服务总线内部服务的方法,其特征在于:具体包括如下步骤:1)把内部服务暴露成Web服务:为每一个内部服务定义抽象WSDL,并使得WSDL端点与内部端点一一对应;2)部署流程服务:用BPEL语言编写流程文件,然后创建一个包含该文件的部署包部署到总线中,总线便激活一个Web服务来代表该流程服务;3)调用流程服务:外部消费者获取流程服务的WSDL,发送SOAP消息至BPEL引擎,执行流程服务。
2.根据权利要求1所述的基于BPEL引擎组合企业服务总线内部服务的方法,其特征在于:所述部署包包括:部署包描述文件、BPEL流程定义文件、抽象WSDL文件、具体WSDL文件、端点映射文件和数据结构定义文件。
3.根据权利要求1所述的基于BPEL引擎组合企业服务总线内部服务的方法,其特征在于:所述步骤3)调用流程服务过程中企业服务总线与BPEL引擎间的消息交换方式包括:
当流程执行时需要调用总线内部服务时,BPEL引擎把SOAP消息转换为规范化消息,发送至规范化消息路由器,再由路由器把该消息转发给相应的内部组件;
当内部组件需要回复消息给流程时,该回复消息先发送至规范化消息路由器,再由路由器转发至BPEL引擎,最后引擎把规范化消息转换为SOAP消息供流程使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910100967A CN101621540A (zh) | 2009-08-10 | 2009-08-10 | 基于bpel引擎组合企业服务总线内部服务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910100967A CN101621540A (zh) | 2009-08-10 | 2009-08-10 | 基于bpel引擎组合企业服务总线内部服务的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101621540A true CN101621540A (zh) | 2010-01-06 |
Family
ID=41514581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910100967A Pending CN101621540A (zh) | 2009-08-10 | 2009-08-10 | 基于bpel引擎组合企业服务总线内部服务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101621540A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025650A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理系统和消息处理方法 |
CN105225030A (zh) * | 2015-08-31 | 2016-01-06 | 浙江大学 | 一种基于数据-活动的业务流程模型转换方法 |
CN105743944A (zh) * | 2014-12-10 | 2016-07-06 | 华为技术有限公司 | 业务流程部署方法和装置 |
CN112328222A (zh) * | 2020-11-26 | 2021-02-05 | 天津市鑫联兴科技有限公司 | 一种动态流程服务接口方法及动态流程服务接口引擎 |
-
2009
- 2009-08-10 CN CN200910100967A patent/CN101621540A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025650A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理系统和消息处理方法 |
CN105743944A (zh) * | 2014-12-10 | 2016-07-06 | 华为技术有限公司 | 业务流程部署方法和装置 |
CN105225030A (zh) * | 2015-08-31 | 2016-01-06 | 浙江大学 | 一种基于数据-活动的业务流程模型转换方法 |
CN112328222A (zh) * | 2020-11-26 | 2021-02-05 | 天津市鑫联兴科技有限公司 | 一种动态流程服务接口方法及动态流程服务接口引擎 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246251B (zh) | 一种微服务调用方法、装置、系统、设备及可读存储介质 | |
US8065657B2 (en) | Exchange infrastructure system and method | |
US8762933B2 (en) | Converting business process models to component models in a service oriented architecture domain | |
US7676786B2 (en) | System and method and apparatus for using UML tools for defining web service bound component applications | |
CN102158498B (zh) | 一种支持服务定制与扩展的网络节点结构实现方法 | |
US20080282222A1 (en) | Xml push and remote execution of a wireless applications | |
CN105786913A (zh) | 一种面向云制造平台的erp集成数据库服务接口封装系统及方法 | |
WO2008003257A1 (fr) | Procédé, système et dispositif de conversion d'information dans une interface de gestion de transactions | |
CN107632875B (zh) | 电商接口集成方法、系统、计算机设备、可读存储介质 | |
CN104717647B (zh) | 业务能力鉴权方法、设备及系统 | |
US7519972B2 (en) | Real-time multi-modal business transformation interaction | |
Schaeffer | Towards a transactional web processing service | |
CN101621540A (zh) | 基于bpel引擎组合企业服务总线内部服务的方法 | |
KR20080064587A (ko) | 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 | |
CN101621516B (zh) | 一种企业服务总线与外部Web服务的交互方法 | |
AU2003223040B2 (en) | Exchange infrastructure system and method | |
CN101719069B (zh) | Java系统的Web服务化方法与装置 | |
US20110282889A1 (en) | Method and Device for Distributed Configuration of Telematics Services in Motor Vehicle Systems | |
Hackmann et al. | Extending BPEL for interoperable pervasive computing | |
Zinnikus et al. | A model-driven, agent-based approach for the integration of services into a collaborative business process | |
CN114416314B (zh) | 一种基于api网关的服务编排方法 | |
CN103677842A (zh) | 软件工具配置式集成扩展调用方法与系统 | |
US7584302B1 (en) | Business integration component for containers | |
De Giorgio et al. | An approach to enable replacement of SOAP services and REST services in lightweight processes | |
CN116170506B (zh) | 实现移动端签章服务与阅读器松耦合对接的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100106 |