J2EE探险者: 持久数据管理,第2部分 - 编程入门网
和 JDO 的组合有两个主要缺点:与别的技术相比,JDO 是一种未经实践证明的技术,而会话 bean 向业务过程引入了固有的非事务层。
实体 bean 我们已(在前一篇文章中)较详细地讨论了使用实体 bean 的优缺点,所以这里只概括与本文关系最紧密的几点。 作为企业数据持久性机制,实体 bean 有五个主要优点: 标准化。EJB 规范比较成熟,因而有许多优势:众所周知的设计模式、案例研究和最佳实践,还有丰富的供应商支持的开发工具集。 容器管理的服务。EJB 容器使开发人员不必管理常见的企业功能,如安全性、事务处理、连接合用和外部资源管理。 透明的持久性。实体 bean 为处理持久性提供了两个透明选项。容器管理的持久性(CMP)实体 bean 在容器中自动处理所有持久性语义。bean 管理的持久性(BMP)实体 bean 允许开发人员编写持久性逻辑,但仍然减轻了确保数据完整性和并发性的责任(通过将这些任务分配给容器)。 事务支持。实体 bean 提供了两个事务支持模型。在 CMP bean 中声明事务语义。在 BMP bean 中,开发人员直接实现这些语义。这两种情况中,都是容器管理事务,并确定应该提交给定的事务还是应该回滚它。 基于组件的设计。实体 bean 被设计成自我包含的组件,这些组件使用部署描述符配置,并且不用修改任何代码就可以将它们部署到任何 J2EE 应用程序服务器中。 J2EE探险者: 持久数据管理,第2部分(3)时间:2011-01-31 IBM Kyle Gabhart另一方面,实体 bean 也有四个主要缺点: 设计复杂性。容器管理的服务和自动且透明的持久性为整个应用程序设计引入了复杂性。实体 bean 通常也可以通过会话 bean 来访问,这意味着每个事务至少包含两个企业 bean,而通常会更多。 构建周期很长。一个 EJB 周期(设计/构建/测试/集成/测试/部署)所花的时间比可比的 Java 持久性解决方案多两到三倍。 响应时间。实体 bean 与 bean 实例的粒度相关。因此,开发人员始终面临选择:要么将 bean 按原样装入,而在别的方面解决响应时间长的问题;要么将数据分解成较小的实体,从而创建更复杂的系统体系结构。 资源使用情况。实体 bean 消耗了大量系统资源。 概括起来,实体 bean 得益于标准化和业界最佳实践、减少了企业开发的一些复杂性并提供了牢固的基于组件的设计。但获得这些优点所付出的代价就是实体 bean 通常会引入复杂性和很长的构建周期,从而使包含它们的系统设计和开发更困难。实体 bean 还由于过度消耗资源以及对大型实体并发请求的响应较慢而声誉欠佳。 几点对比 在比较任何两种技术时,重要的是不仅要考虑它们的差别,还要考虑它们的相似点。作为 J2EE 技术,实体 bean 和 Java 数据对象有几个共同的特性。我们先讨论这几个特性,随后讨论每种解决方案特有的优缺点。 实体 bean 和 JDO 都有以下特征: 透明的持久性。透明的持久性所带来的自由是人们梦寐以求的,开发人员不必知道也不必关心其中的技术持久性细节。JDO 和实体 bean 都使 Java 程序员享受到了这一点。 可移植性。JDO 和实体 bean 都基于与供应商无关的标准。使用各自的标准 API 编写的应用程序可以移植到不同供应商的 API 实现。 灵活的事务管理。JDO 和实体 bean 都为开发人员提供了选择:通过编程管理事务,还是自动管理事务。JDO 使用 PersistenceManager 管理事务,而实体 bean 将事务管理委派给了 EJB 容器。 在确定采用实体 bean 还是采用 JDO 时,请考虑这两种技术的以下优缺点: 最佳实践与设计复杂性。Enterprise JavaBeans 技术包含丰富的文献、已成文的设计模式和最佳实践、精巧的工具以及大量拥有 EJB 技术经验的 J2EE 程序员。其缺点是,实体 bean 的复杂性使您必须运用所有这些有用资产才能确保项目成功。针对大量的 EJB |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |