J2EE中使用EntityBean和JDO的优缺点分析

2016-02-19 15:57 3 1 收藏

图老师小编精心整理的J2EE中使用EntityBean和JDO的优缺点分析希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】

实体 bean: 提供健壮的数据持久性。bean 容器处理大部分的数据完整性、资源治理和并发性功能,从而使开发人员关注业务逻辑和数据处理,而不是这些低级细节。 !-- frame contents -- !-- /frame contents -- 使用 bean 治理的持久性(Bean Managed Persistence,BMP)实体 bean 时,开发人员编写持久性代码而容器确定何时执行该代码。使用容器治理的持久性(Container Managed Persistence,CMP)实体 bean 时,容器生成持久性代码并治理持久性逻辑。

JDO: 只是提供面向对象的持久数据存储。开发人员使用 POJO(无格式普通 Java 对象,plain ordinary Java object)来装入和存储持久数据。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

实体 bean 主要有下列优点:

1、标准化。EJB 规范定义一组与供给商无关的接口,J2EE 供给商可以实现这些接口来支持实体 bean。这种标准化答应采用最佳实践的开发并缩短雇用新开发人员时的适应期。因为基本的组件体系结构和设计模式大家都知道,所以很轻易找到合格的人才来实现它们。

2、容器治理的服务。正如我们在本系列的前两篇文章中讨论的那样,EJB 容器治理的服务为处理诸如安全性、事务处理、连接合用和资源治理之类的企业功能提供了极大的好处。

3、透明持久性。CMP时容器能自动治理持久性语义。虽然使用 BMP 实体 bean 时,开发人员必须编写持久性逻辑,而容器则确定何时调用由开发人员定义的方法。同时使用 CMP 和 BMP 实体 bean 时,容器决定何时持续保持 bean 的状态以及如何确保与底层数据存储的数据完整性和并发性。

4、事务支持。开发人员对 CMP 事务(隔离级别、事务需求和方法的包含/排除)有粗粒度的控制权,对 BMP 事务有细粒度的控制权,这些控制都是通过在 bean 代码中以程序方式处理事务语义实现的。在这两种情况下,容器治理事务并确定是否应该提交给定的事务。

5、基于组件的设计。实体 bean 被设计成自包含组件,这些组件配置有部署描述符,无需更改任何代码就可以将它们部署到任何 J2EE 应用程序服务器。

总之,实体 bean的优点是可以从标准化和业界最佳实践中受益,简化了企业开发的某些复杂性。缺点则是:

1、设计复杂。

2、由于企业 bean 和(尤其是)实体 bean 的复杂性,所以一次迭代(设计/构建/测试/集成/测试/部署)所花的时间比其他 Java 持久性解决方案所花的时间可能长很多。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

3、响应时间不理想。

4、资源占用过高,总是会消耗掉大量的服务器资源。

相比entity bean, JDO的优点是:

1、设计简单。

2、细粒度控制,答应开发人员对整个持久性进程进行完全控制,包括高速缓存、持久性、并发性和同步等。

3、编码简单。JDO 体系结构向开发人员隐藏了低级别的持久性细节。

4、JDO 并不仅仅使 Java 对象持久;它还透明地处理整个相关对象图的持久性。因此,当实例被持久存储时,它所维护的对其它对象实例的任何内部引用也都被持久存储(除非它们已被声明为瞬态)。JDO 还存储类型层次结构的完整信息,并能根据类型(父类和接口)实现请求,而不是只了解持久实例的特定局部类型。

进入讨论组讨论。

来源:https://www.tulaoshi.com/n/20160219/1610765.html

延伸阅读
标签: Java JAVA基础
即使你不在微软的平台上写程序,你可能也听过 Microsoft 推出的「.NET」平台,此技术是用来对付非微软阵营的兵器。如果你读过微软的新闻稿,或者你浏览过 MSDN 的内容,还是你出席了微软的专业程序员会议(也就是「.NET」平台现身的地方),你可能仍有两个疑问: 「.NET」平台到底是什么? 「.NET」架构和 J2EE 有哪些差异? 如果你想得更...
基本servlet设计 我们使用标准JDBC调用来构建我们的servlet,通过DB2 Information Integrator和本地客户端接口(无DB2 Information Integrator)访问数据。只要有可能,我们就使用DataSource连接(连接池),这样能够更有效的利用系统资源。更进一步,我们通过执行JNDI在每个servlet的init方法中查找DataSource,设法维护编码效率。 ...
介绍 你听说过这样一个报道:还有另一种新技术承诺让Java 2企业版(J2EE)开发者更便于进行J2EE的开发---一项能削减开发工作达百分之三十、四十甚至是五十的突破。一个新的软件能使复杂的开发任务简化。一 个新产品增强你现有的Java集成开发平台和网络应用程序服务器环境。 我们也听说了同样的报道。在同事间讨论时,我...
Borland公司推出JBuilder 7后,引起了很多Java爱好者的关注。本文就是笔者根据自己经验编写的在JBuilder7下配置Weblogic Server7.0。希望通过此文,大家能顺利地搭建一个比较普遍流行的J2EE环境,并学会开发基本的EJB程序。 创建一个Weblogic Server域 本文假设已经正确安装了JBuilder7和Weblogic Server7.0...
在这里我谈谈我在学习j2ee流程,并谈到在此过程中领会的经验和教训。以便后来者少走弯路。 Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。这三块相互补充,应用范围不同。 J2SE就是Java2的标准版,主要用于桌面应用软件的编程; J2ME主要应用于嵌入是系统开发,如手机和PDA的编程; J2EE是Java2的企业版,...

经验教程

696

收藏

84
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部