`
macroway
  • 浏览: 53293 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

EJB3.0的目标

阅读更多

很多Java开发人员不了解EJB,而实际应用中,普通的网站开发没有必要而且不应该应用EJB,企业级的项目才有应用EJB的需求。EJB成为Java学习中一个高端领域,而其应用领域的限制,又有太多的人对它望而却步。

除去EJB的应用范围问题外,EJB1.0、EJB2.X自身的缺陷也非常明显:

1、性能不佳
越使用 EJB,越让人气馁,虽然不断地优化和调校性能,但总是无法让人感受到性能上的优势。而为提升性能,硬件支出的成本也相对增加了许多,让开发与使用单位面临到更多成本支出的压力与无奈。

2、开发不易
虽然Java应用开发领域不缺少优秀的IDE,而透过这些IDE,大量的代码可以被方便的自动生成,但是需要大量无意义的接口和类充斥你的视线,开发EJB的吸引力由此黯淡了不少。一个 EJB 必须具备Home Interface、Remote/Local Interface 以及 Bean 本身,复杂的逻辑使得很多人不愿接受挑战。

3、 测试耗时
编写完一段EJB代码,我必须将它部署到具体的应用服务器 ( Application Server  )上,才能开始测试。这种耦合度极高的测试方式,在分秒必争的软件开发之中,显得非常愚昧,很有可能你整天的工作就是发现一个错误,修改打包后再部署它,最后测试时才又发现必须修改其中的部分程序代码,由此产生的工作极端耗时耗力。 

4、EJBQL 功能不完善
EJBQL 提供了一种基于对象的数据库操作语法,完成的是O/R Mapping 的工作。虽然提供了对标准SQL的支持,但EJBQL缺少了许多必要的查询功能,例如 JOIN, SubQueries 等等。

5、复杂的 Deployment Descriptor XML 的编写
EJB的开发部署和使用离不开ejb-jar.xml,我们通过它来设定相关的属性。每种应用服务器对都有自己独立的EJB实现机制,因此每种应用服务器都会需要额外去生成另一个符合自己特征的XML文档。项目规模一旦增大,XML文档的文件大小以及相应的复杂程度就会不断增加。

EJB早期版本的缺点就不再赘述的,读过《J2EE development without EJB》的人基本上都能够接受作者的思想,spring等轻量级框架的出现为多数的非分布式环境提供了EJB的替代性方案。

现有的环境似乎意味着EJB将要消亡了,然而实际开发中尚且存在的少量应用EJB的场景又不断地宣告着自己的需求。哪里有需求,哪里就会被满足。既然EJB的现状存在问题,既然它仍旧有市场需求,于是变化便产生了。EJB3.0应该算是EJB的新生,以简化开发为己任的它吸引着人们的目光。

最近浏览JSR文档的时候,翻阅了关于EJB3.0的部分。最初制定EJB3.0标准时,设定的目标如下:

1、在EJB中应用元数据Annotation,简化开发者的工作,减少需要实现的接口和类的数量,从而简化XML中的EJB部署描述。

2、提供默认编码机制,减少繁杂的重复工作。

3、通过Annotation、依赖注入、简化lookup机制等方式,封装环境依赖和JNDI访问。

4、简化企业Bean的类型。

5、消除session bean对home接口的需求。

6、通过轻量级领域建模,简化持久层API。

7、消除持久化实体对所有接口的需求。

8、规范化Annotation以及基于O/R Mapping的XML部署描述。

9、提供对标准SQL的全面支持,增加对动态查询和native SQL的支持。

10、为session bean和message-driven bean提供interceptor。

11、减少对可捕获异常的使用需求。

12、消除对callback接口实现的需求。

这么多目标列举在这,大家可以发现,目标不过是分为几类:

1、应用metadata Annotation和默认机制以及现有轻量级框架,简化代码量。

2、消除对一些接口的需求,从而简化编程逻辑。

3、适应技术发展的趋势,提供新功能支持。

EJB3.0的变革能力来自于J2EE5.0以及众多优秀的轻量级框架的出现。当EJB的开发足够简单时,学习和使用者的数量增加足以推动它被广泛的使用。

EJB3.0标准一再强调的是,无论EJB2.x还是EJB3.0,应用服务器厂商应该提供的是一种兼容的环境,确保它们能够等价被等价对待,能够被混合使用。

虽然各大应用服务器厂商纷纷提供了EJB3.0的preview支持,但离正式版本的发布还有距离,期待EJB3.0正式被开发社群接受的那一天。

 

 

分享到:
评论

相关推荐

    EJB3.0API.rar_ejb_ejb3.0a_ejb3.0api

    总的来说,EJB 3.0 API是Java EE开发中不可或缺的部分,它的设计目标是让开发更高效、更易于理解和维护。通过深入学习EJB 3.0 API,开发者可以更好地掌握企业级应用的开发技能,创建可扩展且可靠的后端系统。

    EJB3.0架包

    综上所述,EJB3.0是一个强大的企业级开发框架,它的设计目标是简化开发流程,提高开发效率,同时保持Java EE平台的稳定性和可扩展性。通过这个"ejb3.0架包",开发者可以获取到相关的库和工具,加速EJB3.0应用的开发...

    EJB3.0实例教程(PDF)

    10. **可移植性**:作为Java EE的一部分,EJB3.0设计的目标之一就是跨平台的可移植性,确保应用能在任何符合Java EE规范的应用服务器上运行。 这份**EJB3.0实例教程**很可能是通过丰富的图例和实际示例,深入浅出地...

    EJB3.0规范中文版

    这个规范的主要目标是简化EJB的开发过程,使其更加轻量级和面向对象,从而提高开发效率并降低复杂性。以下是EJB 3.0规范的核心知识点: 1. **实体Bean(EJB Entity)**:在EJB 3.0中,实体Bean的实现变得更加简单,...

    EJB3.0实例教程(源代码).rar )

    综上所述,"EJB3.0实例教程(源代码).rar"是一个宝贵的资源,它不仅提供了EJB 3.0的理论知识,还通过实际代码示例加深了理解和应用。学习这个教程,你将能够掌握EJB 3.0的核心概念,并有能力创建和部署自己的EJB组件...

    EJB3.0 EJB3.0

    EJB 3.0的核心目标是实现POJO(Plain Old Java Object)编程模型,从而摆脱了早期版本EJB中的复杂性。 1. **EJB 3.0的三大组件** - **实体Bean(Entity Bean)**:代表持久化的业务对象,负责存储数据到数据库。...

    EJB3.0入门教程 PDF

    EJB 3.0的主要目标是提高开发者效率,通过引入注解(Annotations)和依赖注入(Dependency Injection)机制,大大减少了XML配置文件的使用。这使得EJB组件的创建和部署变得更加直观和简洁。 ### EJB组件类型 EJB ...

    EJB3.0培训课程

    针对EJB2.x存在的问题,EJB3.0的开发目标主要是提高开发效率和降低复杂度: 1. **简化开发流程**:EJB3.0采用注解驱动的方式减少冗余代码,使得开发者可以更加专注于业务逻辑的实现。 2. **提高灵活性**:EJB3.0...

    Eclipse开发EJB_3.0

    在 Eclipse 中创建一个 EJB 项目时,需要选择目标运行时环境(Target Runtime)和 EJB 模块版本(EJB Module Version)。在 Target Runtime 中选择要部署该 EJB 的 EJB 容器,例如 JBoss。然后,在 EJB Module ...

    EJB3.0中文 版

    - **目标读者**:本教程旨在为具备Java基础的初学者提供EJB 3.0的学习资料,无需预先学习EJB 2.0。 - **技术变迁**:随着EJB 3.0的发展,EJB 2.0的相关技术和实践将逐渐被淘汰。 #### 2. 运行环境配置 - **下载与...

    EJB3.0 简介

    EJB 3.0 的目标在于减少复杂度并提高开发效率,同时保持与先前版本的向后兼容性。其核心目标包括: - 简化配置:通过注解来简化配置,减少 XML 文件的编写。 - 提高开发效率:提供更灵活的开发模型,减少样板代码。...

    EJB3.0实例教程

    总的来说,EJB3.0是Java EE平台中的重要组成部分,它的设计目标是降低企业级应用开发的复杂性,提高开发效率,同时也提供了强大的功能来满足大型分布式系统的需要。《EJB3.0实例教程》是学习这一技术的良好起点,...

    EJB3.0入门与进阶

    总结来说,EJB3.0是Java EE平台的重要组成部分,它的设计目标是简化企业级应用开发,通过注解驱动、持久化API和依赖注入等特性,提高了开发效率和代码可维护性。对于想要涉足企业级Java开发的程序员而言,理解和掌握...

    EJB3.0规范文档

    在EJB3.0中,重点在于减轻开发者的负担,通过提供更多的自动化和简化API来实现这一目标。 1. **注解驱动的编程**: 在EJB3.0中,组件的声明和配置主要通过注解完成,如`@Entity`, `@Stateless`, `@Stateful`, `@...

    ejb3.0入门图文教程

    1. EJB 3.0的核心目标是提高开发者效率,通过引入注解(Annotations)和简化API,减少了大量XML配置。 2. EJB 3.0包括三种主要组件:实体Bean(Entity Beans)、会话Bean(Session Beans)和消息驱动Bean(Message-...

    EJB3.0入门图文教程

    EJB3.0是EJB规范的第三个主要版本,其目标是降低开发复杂性,提高开发者效率。这一版本引入了注解(Annotation)驱动的编程模型,减少了XML配置文件的使用,使得开发过程更加直观和简洁。 **2. EJB3.0的组件** EJB...

    ejb3.0的讲义一起看

    **ejb3.0详解** EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建企业级应用。EJB 3.0是其第三个主要版本,它在前两个版本的基础上进行了重大改进,旨在提高开发效率,简化API,并引入了POJO...

    EJB3.0 in Action

    EJB 3.0的核心目标是简化企业级应用的开发过程,通过减少繁琐的XML配置和提高可移植性,使得开发者能够更专注于业务逻辑而非框架细节。这一版本引入了注解(Annotations),允许开发者在代码中直接定义EJB组件的属性...

    EJB3.0资料的总结

    EJB 3.0主要目标是提高可编程性和易用性,通过引入注解(Annotations)和简化接口,降低了学习和使用EJB的门槛。EJB 3.0主要包含以下组件: 1. **实体Bean(Entity Beans)**:代表业务对象,通常与数据库中的记录...

    EJB3.0深入编程

    通过《EJB3.0深入编程》教程,开发者可以系统地学习如何使用这些特性来构建高效、可靠的分布式应用程序。教程中的实例和实践指导将有助于加深理解,提升实战能力。无论是初学者还是经验丰富的开发者,都能从中...

Global site tag (gtag.js) - Google Analytics