Topic: J2EE应用持久化架构的选择

  Print this page

1.J2EE应用持久化架构的选择 Copy to clipboard
Posted by: huangfei
Posted on: 2003-11-13 12:44

请大家说说J2EE应用中持久化架构应该采用什么样的技术来实现?
最近做一个项目,这个项目不存在和别的系统集成的问题,并且是一个长线的产品。对于中间层究竟采用SessionBean-DAO-JDBC方式还是CMP Bean的方式?或者是BMP Bean的方式比较困惑,难以选择。
好像有一种说法说Sun现在在J2EE架构中持久化方面主推的是JDO,而且JDO本身也是更加的符合OO的思想,那么采用SessionBean-DAO-JDBC的方式是不是以后向JDO转化更方便一些?另外,什么时候采用CMP什么时候采用BMP的方式,各位能否给出一些建议?采用CMP的方式性能怎么样?
各位的项目一般采用什么方案?

2.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: hailwind
Posted on: 2003-11-14 12:31

网上这种比较的文章是一抓一大把

观点也是见人见智,JDBC是根本,啥都能干,但是用它的话手工的工作较多;
CMP太笨重,挨的骂最多;
BMP嘛,不清楚;

现在SUN确是推JDO,但是JDO就各方来看,第一不够成熟,第二没有好的免费的实现。

我倒是比较喜欢hibernate,看JBOSS说:
The most popular Java Object/Relational Mapping solution. Future backbone of JBossDO and JBoss CMP.

你的选择嘛,好好仔细地把这几个东东全面地衡量一下喽。

3.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: huangfei
Posted on: 2003-11-14 20:40

多谢
harbinate 和 JDO不是OR Mapping的两种不同实现吗?本质应该是一样的吧

4.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: whoami13
Posted on: 2003-11-15 08:50

各种持久化技术都有自己的优缺点,不能说那种好,那种不好,关键看你的需求和你对各种技术的理解,ejb叫做分布式企业级......,顾名思义,分布式的、事务性的持久性操作最适合,如果是集中式应用,不用也罢,hibernate是个轻量级的解决方案,对查询的支持较好(与ejb比起来),jdbc是万能,jdo注定要成为与ejb并行的标准

5.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: zerol
Posted on: 2003-11-15 12:56

自己封装一下JDBC得了

6.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: wlai
Posted on: 2003-11-16 21:51

TrActive JDO Releases Version 2.0 是个开源的 JDO 实现, 网址
http://tjdo.sourceforge.net/

7.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: jacob
Posted on: 2003-11-17 09:33

我也推荐自己封装,因为无法估计Opensource的风险。。
除非有案例成功。

8.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: bjwz
Posted on: 2003-11-18 08:46

JDO规范自从2002年4月推出以来,出现了很多种各有特色的产品,当然,这些产品都遵循JDO规范,不会影响你写的JDO应用的可移植性。下面列举一下我对各个产品的印象:(参见第6节的参考文章:《JDO资源介绍》)

教父:LiDO(法国LibeLis公司)
我对JDO的认识主要是通过LiDO这个产品,它在2002年3月的一份图文并茂的教程中简要解说了JDO的使用和优点。这个教程可以在这里下载:http://www.objectweb.org/conference/JDO.pdf。LiDO的特色是大而全,支持文件型数据库、RDBMS、ODBMS,甚至是XML数据库。不过配置较麻烦。最新版本是2.0RC。
霸主:KodoJDO(美国SolarMetrics公司)
Kodo是JDO的中流砥柱之一,在JDO1.0还未最后通过的时候,它就是一个比较成熟的产品了,其特点是注重性能和稳定性,目前最新版本是2.5.0,是客户最多的产品。
最佳传教士:JDOGenie(南非HemSphere公司)
这是目前我最推荐的产品,最新版本是1.4.7,性能也不错,稳定性还有待验证,但它有一个最大的特点:集成性好,最易学,其公司的CTO David Tinker也是一个善解人意的年轻人,采纳了很多网友的意见对产品进行改进,主要是在配置上非常方便,有一个专门的图形界面工具,可以进行配置、数据库生成、对象查询等等很实用的功能。强烈推荐!
大家闰秀:JRelay(德国ObjectIndustries公司)
这也是一个出现得比较早的产品,也有一个GUI工具用于配置,曾几何时,这个工具还是相对很方便的,但一年多过去了,好象没什么进展,最新版本是2.0,我试过一段时间,后来就没有再跟进了。
两面派:FrontierSuite for JDO (美国ObjectFrontier)
这个产品与JRelay、Kodo一起,可算是早期的JDO三剑客,称它为两面派是因为它正向开发和反向开发都还可以。它的特色是反向工程(从表结构生成数据类)比较方便,与UML的结合也很强,不过真正运行起来的时候,配置复杂。当初该公司曾许诺我以10%的价格买一份,可惜我当时没在意。如果上天再给我一次机会……
免费午餐:TJDO(一群跨国界的有志之士)
这是一个在Sun提供的参考产品(Reference Implementation)的基础上加入一些扩展功能而形成的一个免费产品,目前最新版本是2.0beta3,不过进展也缓慢,这个版本已经出现好几个月了没有进一步的更新。

9.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: bjwz
Posted on: 2003-11-18 09:07

到CSDN看看这篇文章吧,用JDOGenie进行基于JDO的项目开发向导 sun2bin(原作)

10.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: jacob
Posted on: 2003-11-18 09:20

工程不是学习,慎重

11.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: cnredcat
Posted on: 2003-11-18 13:00

应该看看wrox有一本是《实用j2ee设计指南》好像是这个名字,第二章就是讲持久化架构的,关键不是选择什么,而是如何设计。

12.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: 蓝色虾
Posted on: 2003-11-18 19:20

个人感觉除非你对其他的OR MAPPING实现已经十分了解,并且清楚其优缺点,那么还是在真正的项目中采用CMP实体Bean来得保险。首先,采用CMP保证了稳定性,毕竟是规范,其次,采用CMP网上有许多相关的讨论,已经针对其优缺点作了很多的分析,并且有相应的设计模式克服其某些缺陷,相关图书也很多。
十分同意cnredcat的观点,重要的还是设计,设计好了CMP依然强大。
我个人并不是很赞同自己封装的观点,我的水平有限,自己封装可能未知风险比OpenSource来得还大。

13.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: huangfei
Posted on: 2003-11-27 10:41

一般说来,还是不要自己开发ORMapping的东西为好,工作量太大,前段时间我们准备开发一个,参考W Ambler的设计,作了一段时间后还是觉得工作量两台大了……,不是一般的大阿,而且我觉得我们做的东西99%没有别人的产品好,仅仅可能是简单了一些(因为只要实现你想要的功能)。
其实你有了好的设计,对ORMapping的某一格产品了解的深入地话,我觉得几乎99%的应用都可以用现有的技术来解决的。关键在于你的设计和对各项技术(CMP,JDO)等的理解。

14.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: bjwz
Posted on: 2003-11-27 21:03

现在使用EntityBean做Persistence的项目还多吗,我接触的大都是用JDO来做的

15.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: huangfei
Posted on: 2003-12-13 21:21

用了一下hibernate,不错啊,很好,哈哈

16.Re:J2EE应用持久化架构的选择 [Re: huangfei] Copy to clipboard
Posted by: coddz
Posted on: 2003-12-22 10:53

hibernate、ojb都想试试。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923