注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > Java 内容正文:J2EE中使用EntityBean和JDO的优缺点分析

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

发布时间:2006-05-08 16:13:58 来源:ChinaITLab 网友评论 0 条

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

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

实体 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 持久性解决方案所花的时间可能长很多。

3、响应时间不理想。

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

相比entity bean, JDO的优点是:

1、设计简单。

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

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

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

相关文章
  • Java/J2EE中文问题终极解决之道
  • J2EE中使用Display标记库来展示表格
  • J2EE中使用Spring AOP框架和EJB组件
【评论】【收藏本文】【打印】【关闭】
上一篇文章:CORBA对象生命周期之实现和内存管理
下一篇文章:书评:Java的盛宴(下)
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Java控件设计入门
Java控件设计入门
推荐阅讯
  • Java程序性能调优的基本知识和JDK调优
  • 如何使用Java编写多线程程序
  • Java入门需掌握的30个基本概念
  • J2EE应用程序中SQL语句自动构造方法
  • Java咖啡馆(7)——大话面向对象(上)
  • Java数据对象(JDO)的前世今生
  • 用J2SE1.5建立多任务的Java应用程序
  • JBuilder2005 Servlet开发之过滤器
  • 开发J2EE应用应遵循的几点原则
  • Java高级编程:使用打印服务API
阅读排行
  • 1.Java连接SQL Server 2000
  • 2.Java文件操作详解
  • 3.Java控件设计入门
  • 4.Java操作Excel电子表格
  • 5.Java: JNI完全手册
  • 6.Java命令行简介
  • 7.开发J2EE应用应遵循的几点原则
  • 8.Servlet与Javabean配置
  • 9.Java规则引擎与其API应用详解
  • 10.CLASSPATH详解
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载