很多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正式被开发社群接受的那一天。
发表评论
-
说说如何写分析类文章
2006-02-07 00:59 2020最近两周,在csdn上看到好几篇教人如何写文章的blog,例如 ... -
第三方点评如何发展
2006-02-07 01:02 1171在电子商务世界杂志刊登的《中国电子商务2006年八大电子商务 ... -
博客营销
2006-03-05 10:49 1595本文是我为论文的写作 ... -
广州UG亲历记
2006-03-13 01:30 1015User Group活动我听说的次数很多,亲身参加还是第一次: ... -
买了国外的虚拟主机
2006-05-11 02:29 1086人总是很复杂的,没有 ... -
web应用的跨域访问解决方案
2006-05-14 13:48 2384做过跨越多个网站的Ajax开发的朋友都知道,如果在A网站中,我 ... -
如何获得网站实时代码
2006-05-15 00:12 1297看《Ajax修炼之道》一书的时候,第一次认识了Instant ... -
Javascript的认识层次
2006-08-17 10:35 1019Javascript的普及应用率远比Java高,它与CSS和H ... -
Spring的疑问若干
2006-08-25 07:25 1059关于spring的疑问若干,先提在这。 1、新手达到什么程度可 ... -
攀登爪哇山
2006-08-28 00:43 957以前给别人做过Java方面 ... -
怀平凡心做小事情
2006-08-30 23:21 1102与人交流,逛逛blog,偶 ... -
写在“轻量级开发”聊天活动之后
2006-09-02 07:41 1188因为小蛇,我之前为CSDN ... -
九月最热门的25个开源项目
2006-09-13 08:13 43311. Gaim 即时通讯项目,支持AIM, ICQ, Yaho ... -
别把web开发高手不当高手
2006-09-24 17:23 1051继上次百度被攻击之后 ... -
hibernate学习要点指引
2006-10-24 08:14 1368最近几天,团队有几个人在blog上开始贴自己学习hiberna ... -
Google所有服务列表(2006年10月27日版)
2006-10-25 21:55 2110今天由于搜集Google相关资料的关系,对互联网上的Go ... -
Google的API介绍
2006-10-27 10:26 14717关于Google的APIs,大 ... -
Google搜索风云榜
2006-10-28 00:43 5862在搜索趋势服务领域,百度有百度指数,Google有Google ... -
互联网的思维
2006-11-02 23:14 1569中国网民数量已经突破1.25亿了,光从数量的角度来看,大众已经 ... -
about google fans
2006-11-04 20:31 1747不知道百度的拥趸是否有这么疯狂,但我通过搜索已经了解了goog ...
相关推荐
总的来说,EJB 3.0 API是Java EE开发中不可或缺的部分,它的设计目标是让开发更高效、更易于理解和维护。通过深入学习EJB 3.0 API,开发者可以更好地掌握企业级应用的开发技能,创建可扩展且可靠的后端系统。
综上所述,EJB3.0是一个强大的企业级开发框架,它的设计目标是简化开发流程,提高开发效率,同时保持Java EE平台的稳定性和可扩展性。通过这个"ejb3.0架包",开发者可以获取到相关的库和工具,加速EJB3.0应用的开发...
10. **可移植性**:作为Java EE的一部分,EJB3.0设计的目标之一就是跨平台的可移植性,确保应用能在任何符合Java EE规范的应用服务器上运行。 这份**EJB3.0实例教程**很可能是通过丰富的图例和实际示例,深入浅出地...
这个规范的主要目标是简化EJB的开发过程,使其更加轻量级和面向对象,从而提高开发效率并降低复杂性。以下是EJB 3.0规范的核心知识点: 1. **实体Bean(EJB Entity)**:在EJB 3.0中,实体Bean的实现变得更加简单,...
综上所述,"EJB3.0实例教程(源代码).rar"是一个宝贵的资源,它不仅提供了EJB 3.0的理论知识,还通过实际代码示例加深了理解和应用。学习这个教程,你将能够掌握EJB 3.0的核心概念,并有能力创建和部署自己的EJB组件...
EJB 3.0的核心目标是实现POJO(Plain Old Java Object)编程模型,从而摆脱了早期版本EJB中的复杂性。 1. **EJB 3.0的三大组件** - **实体Bean(Entity Bean)**:代表持久化的业务对象,负责存储数据到数据库。...
EJB 3.0的主要目标是提高开发者效率,通过引入注解(Annotations)和依赖注入(Dependency Injection)机制,大大减少了XML配置文件的使用。这使得EJB组件的创建和部署变得更加直观和简洁。 ### EJB组件类型 EJB ...
针对EJB2.x存在的问题,EJB3.0的开发目标主要是提高开发效率和降低复杂度: 1. **简化开发流程**:EJB3.0采用注解驱动的方式减少冗余代码,使得开发者可以更加专注于业务逻辑的实现。 2. **提高灵活性**:EJB3.0...
在 Eclipse 中创建一个 EJB 项目时,需要选择目标运行时环境(Target Runtime)和 EJB 模块版本(EJB Module Version)。在 Target Runtime 中选择要部署该 EJB 的 EJB 容器,例如 JBoss。然后,在 EJB Module ...
- **目标读者**:本教程旨在为具备Java基础的初学者提供EJB 3.0的学习资料,无需预先学习EJB 2.0。 - **技术变迁**:随着EJB 3.0的发展,EJB 2.0的相关技术和实践将逐渐被淘汰。 #### 2. 运行环境配置 - **下载与...
EJB 3.0 的目标在于减少复杂度并提高开发效率,同时保持与先前版本的向后兼容性。其核心目标包括: - 简化配置:通过注解来简化配置,减少 XML 文件的编写。 - 提高开发效率:提供更灵活的开发模型,减少样板代码。...
总的来说,EJB3.0是Java EE平台中的重要组成部分,它的设计目标是降低企业级应用开发的复杂性,提高开发效率,同时也提供了强大的功能来满足大型分布式系统的需要。《EJB3.0实例教程》是学习这一技术的良好起点,...
总结来说,EJB3.0是Java EE平台的重要组成部分,它的设计目标是简化企业级应用开发,通过注解驱动、持久化API和依赖注入等特性,提高了开发效率和代码可维护性。对于想要涉足企业级Java开发的程序员而言,理解和掌握...
在EJB3.0中,重点在于减轻开发者的负担,通过提供更多的自动化和简化API来实现这一目标。 1. **注解驱动的编程**: 在EJB3.0中,组件的声明和配置主要通过注解完成,如`@Entity`, `@Stateless`, `@Stateful`, `@...
1. EJB 3.0的核心目标是提高开发者效率,通过引入注解(Annotations)和简化API,减少了大量XML配置。 2. EJB 3.0包括三种主要组件:实体Bean(Entity Beans)、会话Bean(Session Beans)和消息驱动Bean(Message-...
EJB3.0是EJB规范的第三个主要版本,其目标是降低开发复杂性,提高开发者效率。这一版本引入了注解(Annotation)驱动的编程模型,减少了XML配置文件的使用,使得开发过程更加直观和简洁。 **2. EJB3.0的组件** EJB...
**ejb3.0详解** EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建企业级应用。EJB 3.0是其第三个主要版本,它在前两个版本的基础上进行了重大改进,旨在提高开发效率,简化API,并引入了POJO...
EJB 3.0的核心目标是简化企业级应用的开发过程,通过减少繁琐的XML配置和提高可移植性,使得开发者能够更专注于业务逻辑而非框架细节。这一版本引入了注解(Annotations),允许开发者在代码中直接定义EJB组件的属性...
EJB 3.0主要目标是提高可编程性和易用性,通过引入注解(Annotations)和简化接口,降低了学习和使用EJB的门槛。EJB 3.0主要包含以下组件: 1. **实体Bean(Entity Beans)**:代表业务对象,通常与数据库中的记录...
通过《EJB3.0深入编程》教程,开发者可以系统地学习如何使用这些特性来构建高效、可靠的分布式应用程序。教程中的实例和实践指导将有助于加深理解,提升实战能力。无论是初学者还是经验丰富的开发者,都能从中...