一种桥接企业级与普通级JAVABEAN的方法技术

技术编号:2831852 阅读:297 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于计算机应用领域,是一种桥接J2EE平台的企业级JAVA  BEAN(EJB3标准)和普通级JAVA  BEAN(Spring标准)的方法。本发明专利技术利用建立ESF对象和配置文件,通过在ESF定位器中加载ESF配置文件,获得对象实例的标识,从而实现EJB3和Spring的桥接,本发明专利技术的优点是实现在不同应用环境下的自适应,简化开发过程,避免大量的重复开发工作,提高系统的可伸缩性。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,具体涉及一种桥接J2EE平台的企业级JAVA BEAN (EJB3标准)和普通级JAVA BEAN (Spring标准)的方法。
技术介绍
1. EJB3. 0Java2平台企业版(J2EE)是一种用于开发、部署和管理多层的、允许使 用Web的、以服务器为中心并且基于组件的企业应用的开放的和基于标准的平 台°EJB3从技术上而言不是一种〃产品,而是一种标准。EJB 3服务器完成 繁杂的工作应用开发人员关注于业务逻辑的实现而不是底层的实现机制(类 似于4GL语言设计的目标)。EJB3支持事务处理,多个业务操作同时成功或全 部失败,可以通过在代码外的描述来定义事务处理级别。EJB3具有可扩展性, 可以根据应用的增长而扩展,服务器往往还提供了负载均衡和。EJB3安全性由 EJB3服务器提供资源的访问权限控制。由一个EJB3容器在运行时创建和管理EJB3,在部署EJB3时定制其运行 方式,由EJB3容器和服务器来协调客户端的访问,可以部署到任何兼容的EJB3 容器中,客户端对EJB3的视图是由Bean开发人员决定的。2. HibernateHibernate是一个免费的开源Java包,它使得与关系数据库打交道变得 十分轻松,不必考虑如何把它们从数据库表中取出(或放回到数据库表中)。它 使开发者可以专注于应用程序的对象和功能。Hibernate是一种对象/关系映射(ORM)工具。ORM工具有很多,从昂贵的商 业产品到内置于J2EE中的EJB3标准。然而,在很多情况下,这些工具具有自 身的复杂性,在比较简单和常见的场景中,使用它们所面临的复杂性反而盖过 了所能获得的好处。Hibernate不会强迫修改对象的行为方式。它们不需要实现任何不可思议的 接口便能够持续存在。惟一需要做的就是创建一份XML映射文档,告诉 Hibernate希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表 和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据。3. SpringSpring是一个轻量级容器,它使许多不同的J2EE平台下的服务和框架更易 于使用。轻量级容器接受任何JAVABEAN,而不是只接受特定类型的组件。它使构建J2EE应用程序的Java开发人员可以直达现实域问题的核心,而不必再为 域提供服务的细节方面花费大量时间。它的诞生是简化了 J2EE平台下企业级系 统的开发。4. J2EE架构的重量级与轻量级概念所谓重量级是相对于轻量级来讲的,在Spring出现之前,企业级 开发一般都采用EJB3,因为它提供的事务管理,声明式事务支持,持久化,分 布计算等都相对简化了企业级应用的开发。代码必须绑定在EJB3技术上,而且 EJB3需要EJB3容器支持,所以称之为重量级。相对而言轻量级就是不入侵代码的。用Spring开发的系统中的类不需 要依赖Spring中的类,不需要容器支持(当然Spring本身是一个容器),而且 Spring的大小和运行开支都很微量。 一般来说,如果系统不需要分布计算或者 声明式事务支持,那么Spring是一个更好的选择。当前技术存在的问题目前的这两种级别的技术基本上是并行的,系统架构 时要么采用重量级的EJB3技术,要么则彻底釆用轻量级的Spring技术,也有的 系统在架构中的不同部分分别采用这两种技术架构。但是系统却无法同时支持在 重量级架构和轻量级架构间的自适应,即系统无法自动实现两种技术的兼容,自 动根据具体的运行环境来决定采用的架构技术,实现系统的自适应和可伸縮性。
技术实现思路
本专利技术主要针对目前J2EE平台下的EJB3和Spring两种技术架构间存在的 无法自适应的问题,提出了桥接EJB3和Spring技术的方法。本方法可以根据 系统运行环境的配置,自动在轻量级与重量级架构间实现自适应,从而实现系 统在不同级别应用上的可伸縮性。一种桥接企业级与普通级JAVABEAN的方法,其步骤如下1) 建立ESF对象和ESF配置文件,所述ESF对象的建立遵循如下的ESF开发规 范继承ESF基础对象,实现ESF框架处理的两个接口; a) Spring接口对 于实体对象,实现与数据库的字段的映射声明,非实体对象不需要任何处理; b) EJB3接口 实现EJB3的元注释;所述ESF配置文件存储ESF对象的位置和 是否使用EJB3标志。2) 业务对象向ESF定位器请求一个ESF对象实例,利用ESF配置文件获得对象 实例的标识,定位器根据对象实例的标识,在对象池中定位对象实例;3) ESF定位器初始化ESF对象实例,并返回给业务对象;4) 业务对象调用ESF对象的全部持久化操作,ESF基础对象利用关系与对象映射技术实现对数据的访问,完成业务。进一步,步骤l)中所述的ESF配置文件分为两部分, 一部分存储EJB3标志, 一部分按对象全名称与上下文标识匹配的格式存储ESF对象的位置。 进一步,步骤2)中所述对象实例的定位方法为 a采用EJB3,则定位器使用JAVA命名与目录接口 ( JNDI)去在EJB容器中定 位ESF对象;b不采用EJB3,则定位器使用Spring的上下文机制去在Spring中定位对象。 进一步,步骤4)中所述对数据的访问方法为EJB3技术使用实体BEAN, Spring 技术使用HIBERNATE。本专利技术的优点与积极效果如下1. 运行时系统可以支持在企业级和普通级应用环境下的自适应;2. 简化开发过程,开发中无需根据企业应用的级别开发不同的系统,避免大 量的重复开发工作;3. 实现时可以根据企业的要求,通过调整部署方式实现不同应用级别的支持, 提高系统的可伸缩性。附图说明图l本专利技术的组件部署图 图2本专利技术的主要组件图 图3本专利技术桥接方法流程图具体实施方式 1.本专利技术的实现过程如下1) 业务对象向ESF定位器请求一个ESF对象实例;2) ESF定位器装载ESF配置文件,根据对象实例的标识,釆用相关定位技术的 定位器,从文件中找到对象实例的标识。EJB3技术标识采用JNDI技术(Java Naming and Directory Interface, —种标准的JAVA命名与目录接口), Spring指标采用上下文技术。a如果采用EJB3,则定位器使用JNDI去在EJB3容器中定位ESF对象。 b如果不采用EJB3,则定位器使用SPRING的上下文机制去在Spring中 定位对象。3) ESF定位器从对象池中(EJB3容器或者Spring上下文环境)初始化ESF对象 实例,该实例因为继承自ESF基础对象,所以默认具备ESF基础对象通过持久 管理器提供的全部持久化操作(增,删,査,改等)。该ESF对象实例被返回 给申请此对象实例的业务对象。4) 业务对象调用ESF对象的全部持久化操作,ESF基础对象利用关系与对象映射 技术(EJB3技术使用实体BEAN, Spring技术使用HIBERNATE)实现对数据的 访问。2. 本专利技术中开发者使用过程1) 创建ESF对象开发者在开发时应该遵循ESF对象的开发规范,从ESF基对象 继承,并且在对象中实现EJB3的注释(对象运行时EJB3容器将根据这些注释 动态解析对象的属性)和Hibernate要求的接口 。2)本文档来自技高网
...

【技术保护点】
一种桥接企业级与普通级JAVABEAN的方法,其步骤如下:1)建立ESF对象和ESF配置文件,所述ESF对象的建立遵循如下的ESF开发规范:继承ESF基础对象,实现ESF框架处理的两个接口;a)Spring接口;对于实体对象,实现与数据库的字段的映射声明,非实体对象不需要任何处理;b)EJB3接口:实现EJB3的元注释;所述ESF配置文件存储ESF对象的位置和是否使用EJB3标志。2)业务对象向ESF定位器请求一个ESF对象实例,利用ESF配置文件获得对象实例的标识,定位器根据对象实例的标识,在对象池中定位对象实例;3)ESF定位器初始化ESF对象实例,并返回给业务对象;4)业务对象调用ESF对象的全部持久化操作,ESF基础对象利用关系与对象映射技术实现对数据的访问,完成业务。

【技术特征摘要】
1.一种桥接企业级与普通级JAVABEAN的方法,其步骤如下1)建立ESF对象和ESF配置文件,所述ESF对象的建立遵循如下的ESF开发规范继承ESF基础对象,实现ESF框架处理的两个接口;a)Spring接口对于实体对象,实现与数据库的字段的映射声明,非实体对象不需要任何处理;b)EJB3接口实现EJB3的元注释;所述ESF配置文件存储ESF对象的位置和是否使用EJB3标志。2)业务对象向ESF定位器请求一个ESF对象实例,利用ESF配置文件获得对象实例的标识,定位器根据对象实例的标识,在对象池中定位对象实例;3)ESF定位器初始化ESF对象实例,并返回给业务对象;4)业务对象调用ESF对象的全部持久化操作,ESF基础对象利用关...

【专利技术属性】
技术研发人员:王永辉钱志明程佳宋德波徐海澎
申请(专利权)人:北大方正集团有限公司北京方正众邦数字医疗系统有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1