CN101339520A - 一种将ejb接入企业服务总线的方法 - Google Patents

一种将ejb接入企业服务总线的方法 Download PDF

Info

Publication number
CN101339520A
CN101339520A CNA2007101567029A CN200710156702A CN101339520A CN 101339520 A CN101339520 A CN 101339520A CN A2007101567029 A CNA2007101567029 A CN A2007101567029A CN 200710156702 A CN200710156702 A CN 200710156702A CN 101339520 A CN101339520 A CN 101339520A
Authority
CN
China
Prior art keywords
ejb
engine
jbi
web service
service
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.)
Granted
Application number
CNA2007101567029A
Other languages
English (en)
Other versions
CN101339520B (zh
Inventor
邓水光
蒋健
金路
陈韩伟
吴健
李莹
尹建伟
吴朝晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2007101567029A priority Critical patent/CN101339520B/zh
Publication of CN101339520A publication Critical patent/CN101339520A/zh
Application granted granted Critical
Publication of CN101339520B publication Critical patent/CN101339520B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种将EJB接入企业服务总线的方法,步骤如下:在引擎内部建立jbi端点和EJB部署成Web Service的端点的一对一的联系,访问jbi端点的信息就可以映射到具体的部署的EJB Web Service了。同时,在引擎内部保持jbi端点信息和EJB Web Service的端点的同步,当有新的EJB Web Service部署成功后,则在ESB环境中为引擎激活相应的jbi端点,代表了这种服务的存在。当EJB Web Service被反部署后,则在ESB环境中为引擎反激活相应的jbi端点,代表注销了这种服务,从而保持了同步。本发明有益的效果是:jbi组件能够通过本引擎方便快速地调用部署在应用服务器上并发布成Web Service的EJB。成功地绕开http协议,比传统的Web服务客户端的访问性能提高了三倍。引擎能够进行服务的隐式的对应,并能够对服务进行方便高效的管理。

Description

一种将EJB接入企业服务总线的方法
技术领域
本发明涉及企业服务总线领域,主要是一种将EJB接入企业服务总线的方法。
背景技术
企业服务总线作为应用系统的连接中枢,是构筑SOA(Service Oriented Architecture,面向服务架构)为基础的企业信息系统的必要元素。企业服务总线的定义可以简单的理解为:由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。通过企业服务总线实现应用系统的快速接入,并通过更高级的事件、流程处理能力,能够很好的将企业信息系统与实际业务协调起来,在保证原有投资的条件下,实现更加灵活和敏捷的企业信息系统改造。
JBI是针对ESB的一种规范及API,提供了规范化消息服务、组件框架和管理模型,用以部署路由引擎、规则引擎、以及信息转换等集成服务.也就是说JBI是关于ESB的一种具体描述,同时JBI也是一种基于SOA的EAI,它是一种面向服务的用来解决企业应用集成的方案.它的主要目的是为了不同异构的系统能够通过统一的消息规范和统一的消息总线来相互通讯.它之所以采用面向服务的体系结构,是因为这样可以降低异构系统的耦合度。其中规范化消息服务中的一些概念在下文提到,包括服务消费者和提供商,规范化消息。在下文中,调用EJB的组件作为服务消费者,而引擎则充当了服务提供者。终点(Endpoint)表示一种特殊的地址,能够通过某种特殊的协议访问,代表服务的地址。服务的提供者和消费者组件他们之间的交互是通过消息路由(NMR),提供商通过endpoint将服务激活,并提供有关服务定义的原数据。当出现服务请求时,NMR根据消费者所需服务的地址信息选择一种方式来确定一个服务提供商,并将消息转发给最终确定的对象。在服务调用完成后,NMR再将相应的消息返回给消费者。下面消费者组件调用EJB的Soap消息就是放到标准消息(NM)的内容中的。
另一方面,J2EE是第一个为业界所广为接受的完整的企业应用框架,而EJB在其中扮演重要角色,广泛的得到了业界的支持,已经成为应用服务器的标准技术.从企业应用多层结构的角度,EJB是商业逻辑层的构件技术,于JAVA BEANS不同,他提供了事务处理的能力,自从三层结构提出,中间层,也就是商业逻辑层,是处理事务的核心,由于从数据存储层分离,他就取代了存储进程的大部分地位。从分布式计算的角度,EJB像CORBA一样,提供了分布式技术的基础.提供了对象之间的通讯手段。在J2EE框架的支持下,运行在EJB容器中的EJB,完全符合企业应用关于分布、移植、安全和交易的要求。
通过企业服务总线实现应用系统的快速接入,使EJB接入企业服务总线变得迫切,而今的EJB的接入企业服务总线的方法一般是通过服务端将EJB部署为Web Service的相应客户端调用,例如应用服务器上是通过AXIS将EJB发布成Web Service的。Axis提供了对WebService的基本支持,主要包括对SOAP的支持,WSDL的解析,WSDL文件到java类的映射,SOAP信息到java方法的转换和映射,Web Service的部署和发布,用户自定义类的序列化和反序列化等等,这些对实现EJB Web Service提供了底层支持。Axis具有高度的可配置性和可扩展性,有利于应用服务器对它的集成。所有的Web Service都是使用同一个servlet接收信息。这个servlet根据URL中的参数确定调用的是哪一个Web Service,然后对调用做必要的检查和处理后交给Axis处理,再将由Axis包装好的返回消息发送给客户端。通常的访问EJB Web Service的方法是利用AXIS的客户端接口来构造SOAP消息,然后通过HTTP协议传输此消息到指定的端口。在AXIS服务端,有监听程序监听此端口,然后接收到SOAP请求,对此SOAP消息做相应处理生成消息内容,最后激活AXIS的处理框架,AXIS处理框架的任务是按照部署配置的Handler依次对消息内容进行处理,并最终调用到指定的EJB。因为ESB容器和应用服务器是在同一JVM下的,对于这种通过HTTP协议传输消息然后访问Web服务的方式效率并不高。因此,需要寻求一种快速,简便的方式,而这正是本发明所要解决的问题。
发明内容
本发明要解决上述技术所存在的缺陷,提供一种将EJB接入企业服务总线的方法,使jbi内部组件简单高效地调用部署成Web service的EJB。
本发明解决其技术问题所采用的技术方案:这种将EJB接入企业服务总线的方法,步骤如下:EJB Web Servcie模块通过集成Axis实现EJB对Web Service的支持,使用StatelessSession Bean作为Web Service的端点,而在ESB内部环境中,jbi endpoint是作为一个组件也就是服务的地址,通过消息路由到指定jbi端点就能访问相应的组件。那么如果在引擎内部建立jbi端点和EJB部署成Web Service的端点的一对一的联系,访问jbi端点的信息就可以映射到具体的部署的EJB Web Service了。同时,在引擎内部保持jbi端点信息和EJB Web Service的端点的同步,当有新的EJB Web Service部署成功后,则在ESB环境中为引擎激活相应的jbi端点,代表了这种服务的存在。当EJB Web Service被反部署后,则在ESB环境中为引擎反激活相应的jbi端点,代表注销了这种服务,从而保持了同步。
jbi环境内部通信的消息内容是Source形式,可以是xml格式的soap消息内容。消费者组件调用Web Service,以标准消息的形式(内容为soap消息),通过指定所要调用的WebService端点路由到j2ee引擎,因为引擎已做了隐式的对应。
j2ee引擎把根据访问消息直接构造axis的处理引擎ServerEngine能够处理的消息内容交由axis的处理引擎来处理,此处理引擎根据要调用的Web Service初始化相应的handler进行相应的EJB调用,并将调用结果以soap消息封装在消息内容的回复消息里,然后j2ee引擎把调用的结果返回给jbi消费者组件。至此为止,jbi内部组件成功地调用部署成WebService的EJB,在应用服务器端成功地避开了Svelte接收,从而绕开了http。
本发明有益的效果是:
1.jbi组件能够通过本引擎方便快速地调用部署在应用服务器上并发布成Web Service的EJB。
2.成功地绕开http协议,比传统的Web服务客户端的访问性能提高了三倍。
3.引擎能够进行服务的隐式的对应,并能够对服务进行方便高效的管理。
附图说明
图1为总的流程图;
图2为保持应用服务器上的EJB Web Service和J2EE引擎上的服务的同步示意图;
图3为消费者组件调用EJB,指定EJB Web Service的地址,路由soap消息到引擎的示意图;
图4为引擎构造axis引擎能处理的消息,调用后并将消息返回的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步介绍:
子流程1:保持应用服务器上的EJB Web Service和J2EE引擎上的服务的同步
如图2所示,当j2EE引擎启动的时候,如果已有EJB发布成Web Service,那么在AxisService(AXIS的服务引擎)中保存着一张EJB Web Service列表,包含一个键值对,包含服务ID和EJB Web Service地址。在J2EE引擎启动初始化的过程中建立和JTang应用服务器的连接,启动同步的轮询线程,保持应用服务器上的EJB Web Service列表和J2EE引擎上的服务列表的同步,线程扫描一遍J2EE引擎上的服务列表,如果发现当前引擎的服务列表中的服务ID和EJB Web Service列表中的ID有不同,则进行相应的增减。即当有新的EJB部署并被AXIS发布成Web Service,则相应在引擎激活一个jbi端点(代表服务的地址),端点由两部分组成:引擎的QName和EJB Web Service的地址。同样,当EJB被反部署后,则在引擎上将相应的jbi端点钝化,以此达到同步。在这同步的过程中,建立引擎服务和EJB的隐式对应。
子流程2:消费者组件指定要调用EJB Web Service的地址,soap消息将被路由到引擎
如图3所示,当一个jbi消费者组件调用EJB,可以根据引擎的QName和EJB Web Service的地址从jbi环境中得到jbi端点(已被引擎激活),构造标准jbi消息(消息内容是soap消息),指定jbi端点路由消息。ESB提供的消息路由机制能够使消息路由到消息指定的jbi端点所对应的那个组件,在这里也就是J2EE引擎。当引擎接收到标准jbi消息后,获取soap消息,然后根据消息交换中的jbi端点获取EJB Web Service的地址,得到引擎处理器对象后构造MessageContext(消息内容),该消息内容为Axis引擎处理器能够处理的对象。MessageContext是一个包含三个重要部分的结构:请求消息、响应消息和一系列的属性。
调用Axis的途径有两种:
A、作为服务器端,TransportListener创建MessageContext并调用Axis ProcessingFramework。
B、作为客户端,应用程序代码(通常是通过客户端Axis模块半自动地)创建MessageContext并调用Axis Processing Framework。
无论是哪一种方式,Axis Processing Framework的工作都是简单地通过一系列预先配置的Handlers来传递结果MessageContext,MessageContext包含所有相关的请求和响应信息。在这里我们选择的是B的方式。
子流程3:引擎接到jbi消息后,构造axis引擎能够处理的消启内容,调用axis引擎提供的接口进行处理
如图4所示:J2EE引擎获取Axis引擎处理器对象,调用其中的invoke(MessageContext)方法,该处理框架根据MessageContext中的EJB Web Service的地址初始化相应的handler,各handler依次对MessageContext进行处理,并最终调到相应的EJB Web Service,并将调用的结果作为MessageContext的回复内容。J2EE引擎根据回复内容重新封装成jbi标准消息路由给消费者组件,这样就标志着一次成功调用的结束。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (3)

1、一种将EJB接入企业服务总线的方法,其特征在于:步骤如下:在引擎内部建立jbi端点和EJB部署成Web Service的端点的一对一的联系,将访问jbi端点的信息映射到具体的部署的EJB Web Service;在引擎内部保持jbi端点信息和EJB Web Service的端点的同步,当有新的EJB Web Service部署成功后,则在ESB环境中为引擎激活相应的jbi端点,代表了这种服务的存在;当EJB Web Service被反部署后,则在ESB环境中为引擎反激活相应的jbi端点,代表注销了这种服务。
2、根据权利要求1所述的将EJB接入企业服务总线的方法,其特征在于:jbi环境内部通信的消息内容是Source形式,采用xml格式的soap消息内容,消费者组件调用WebService,以标准消息的形式,通过指定所要调用的Web Service端点路由到j2ee引擎。
3、根据权利要求2所述的将EJB接入企业服务总线的方法,其特征在于:j2ee引擎把根据访问消息直接构造axis的处理引擎ServerEngine能够处理的消息内容交由axis的处理引擎来处理,此处理引擎根据要调用的Web Service初始化相应的handler进行相应的EJB调用,并将调用结果以soap消息封装在消息内容的回复消息里,然后j2ee引擎把调用的结果返回给jbi消费者组件。
CN2007101567029A 2007-12-04 2007-12-04 一种将ejb接入企业服务总线的方法 Expired - Fee Related CN101339520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101567029A CN101339520B (zh) 2007-12-04 2007-12-04 一种将ejb接入企业服务总线的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101567029A CN101339520B (zh) 2007-12-04 2007-12-04 一种将ejb接入企业服务总线的方法

Publications (2)

Publication Number Publication Date
CN101339520A true CN101339520A (zh) 2009-01-07
CN101339520B CN101339520B (zh) 2011-01-26

Family

ID=40213592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101567029A Expired - Fee Related CN101339520B (zh) 2007-12-04 2007-12-04 一种将ejb接入企业服务总线的方法

Country Status (1)

Country Link
CN (1) CN101339520B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621516B (zh) * 2009-08-10 2012-12-05 浙江大学 一种企业服务总线与外部Web服务的交互方法
CN102882934A (zh) * 2012-09-05 2013-01-16 浪潮(北京)电子信息产业有限公司 基于ESB的Web服务实现方法、ESB和服务中心
CN103873509A (zh) * 2012-12-12 2014-06-18 中国移动通信集团浙江有限公司 一种ejb服务过载保护方法和系统
CN103944956A (zh) * 2014-03-10 2014-07-23 浙江大学 网络服务代理方法
CN103763394B (zh) * 2014-02-10 2017-05-31 赛特斯信息科技股份有限公司 实现将ejb接入和调出企业服务总线的系统及方法
CN107809362A (zh) * 2017-11-15 2018-03-16 深圳四方精创资讯股份有限公司 企业服务总线的配置方法及其系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2809511B1 (fr) * 2000-05-26 2003-09-12 Bull Sa Systeme et procede de gestion des transactions de composants ejb dans un annuaire accede par ldap
TW586069B (en) * 2001-03-01 2004-05-01 Ibm A method and a bridge for coupling a server and a client of different object types
KR100426315B1 (ko) * 2002-01-16 2004-04-06 한국전자통신연구원 서블릿 프로그램에서 ejb 컴포넌트 추출을 위한 분석장치 및 그 방법
CN1966256B (zh) * 2006-03-29 2010-09-29 祝志洪 用于制作多种拉链袋、自立袋或折式袋的装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621516B (zh) * 2009-08-10 2012-12-05 浙江大学 一种企业服务总线与外部Web服务的交互方法
CN102882934A (zh) * 2012-09-05 2013-01-16 浪潮(北京)电子信息产业有限公司 基于ESB的Web服务实现方法、ESB和服务中心
CN103873509A (zh) * 2012-12-12 2014-06-18 中国移动通信集团浙江有限公司 一种ejb服务过载保护方法和系统
CN103873509B (zh) * 2012-12-12 2017-06-20 中国移动通信集团浙江有限公司 一种ejb服务过载保护方法和系统
CN103763394B (zh) * 2014-02-10 2017-05-31 赛特斯信息科技股份有限公司 实现将ejb接入和调出企业服务总线的系统及方法
CN103944956A (zh) * 2014-03-10 2014-07-23 浙江大学 网络服务代理方法
CN103944956B (zh) * 2014-03-10 2017-06-20 浙江大学 网络服务代理方法
CN107809362A (zh) * 2017-11-15 2018-03-16 深圳四方精创资讯股份有限公司 企业服务总线的配置方法及其系统
CN107809362B (zh) * 2017-11-15 2020-10-23 深圳四方精创资讯股份有限公司 企业服务总线的配置方法及其系统

Also Published As

Publication number Publication date
CN101339520B (zh) 2011-01-26

Similar Documents

Publication Publication Date Title
US8539097B2 (en) Intelligent message processing
US7216142B2 (en) Network application program interface facilitating communication in a distributed network environment
CN101339520B (zh) 一种将ejb接入企业服务总线的方法
US8788618B2 (en) Leveraging presence service system and method for distributed web service delivery and deployment
US8488448B2 (en) System and method for message sequencing in a broadband gateway
CN102497451B (zh) 服务处理系统和服务处理方法
CN103139234B (zh) 一种数据服务封装的装置及方法
CN101022431A (zh) 接口网关及接口网关的数据处理方法
CN104320441B (zh) 无线通信系统间信息共享方法
CN105183452A (zh) 一种用于配电设备监测基于Spring AOP的远程规约服务中间件
CN106027534A (zh) 一种基于Netty实现金融报文处理系统
CN102946425A (zh) 基于OSGi的统一通信平台服务集成框架
CN101938492B (zh) 一种服务代理方法及自助服务智能代理平台
Yan et al. Researching and Designing the Architecture of E-government Based on SOA
CN101621516A (zh) 一种企业服务总线与外部Web服务的交互方法
CN103595695A (zh) 服务总线提供服务的方法及系统
US20100241716A1 (en) System for interconnecting manifold entities across a real-time Meshed Information Exchange network
CN105515947B (zh) 一种基于xmpp的异构终端消息互通的方法、服务器及系统
US9438693B2 (en) System and method for message retry in a broadband gateway
JP7037299B2 (ja) 通信プラットフォームおよび通信処理方法
CN101651632A (zh) 一种应用于电视台全台网主干平台的消息接入系统
CN109254853A (zh) 数据共享方法、数据共享系统及计算机可读存储介质
CN103473127B (zh) 一种通过jsp技术获取跨系统变量的方法及系统
Ibrahim et al. Agent-based MOM for interoperability cross-platform communication of SOA systems
US8385195B2 (en) System and method for message processing in a broadband gateway

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20090107

Assignee: Shenzhen Ipanel Network Co., Ltd.

Assignor: Zhejiang University

Contract record no.: 2013330000103

Denomination of invention: Method for accessing EJB into enterprise service bus

Granted publication date: 20110126

License type: Common License

Record date: 20130425

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110126

Termination date: 20171204

CF01 Termination of patent right due to non-payment of annual fee