我知道如果我再问ejb意义何在,肯定有人会丢我鸡蛋,但是我真的很不明白

bromon 2003-09-16 04:59:47
上个星期看完了精通ejb第二版,这几天一直在想这个东西。书最后的应用举例中提出了

那些情况下应该使用ejb,大家是不是都在做这样的项目?是不是真的适合使用ejb?

我感觉实体bean模型不够成熟(大家不要骂我,希望有高人提点一下),session bean

真的有必要吗?不影响性能吗?对于ejb,各位高人是在享受它,还是为了获得高薪而在

忍受它?如果学习ejb只是因为流行,是因为好搞money,那我以后再不问这种问题,大家

都难得糊涂好了
...全文
56 65 打赏 收藏 转发到动态 举报
写回复
用AI写文章
65 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajoo 2003-10-02
  • 打赏
  • 举报
回复
对了。我们上一个项目使用的是ojb, 也是一个o/r mapping了。在使用过程中,我们发现,修改数据库schema非常困难。

一个例子是:我们要把一个column从smalling改到int, 如果使用jdbc的话,这个改动应该是不影响java程序的,因为你一般会对这个column使用int, 不管它的底层是smalling还是tinyint。
但是,ojb却直接把smallint映射到了short, 致使这么个小修改工作量也相当大。

另一个例子是当我们需要引入一些denormalization, 或者取消一些denormalization的时候,也很不方便。一句话,似乎用了这些o/r mapping之后,数据库的更改就很困难了。


相比之下,如果是使用自己制作的persistence层,可以调用stored proc, view, 数据库的schema改动可能只涉及到stored proc和view的更改。

不知道hibernate在这个问题上有什么优势?




ajoo 2003-10-01
  • 打赏
  • 举报
回复
靠。9/22有这么多牛人回贴,我居然没注意!该死!

baitianhai, 谢谢这么热心的帮忙。我是没有看见这个贴子有人回,所以没有去你提的站点问问题。从你的回答来看,是不是说,一旦有cluster或者多jvm, 所有的cache就不能用了?hibernate就蜕变为一个很薄的jdbc的封装了?这样,我就明白了。我本来就是搞不懂技术上怎么实现多jvm的cache的。

tianboguang: 回头就看你给的link。谢谢。
junkple 2003-10-01
  • 打赏
  • 举报
回复
向高手学习
shajia981112 2003-09-22
  • 打赏
  • 举报
回复
mark
yabbi21 2003-09-22
  • 打赏
  • 举报
回复
to adiangege(颠颠) :

j2ee中解决遗留系统
可以使用jca或者Web Service
jca的思想其实和Jdbc是一样的,
只不过它面向的底层数据不是RDBMS而是一些ERP,EAI等系统。
JCA与Web Service相比的优势是:
JCA只需要对遗留系统作很少的侵入,对遗留系统的影响可以降为最小。
而采用Web Service集成遗留系统时,遗留系统需要作的改动相对是比较大的。


关于上面对EJB的讨论,
其实EJB不过是一个分布式运算中比较好的架构而已,
需不需要(值不值得)使用EJB要根据具体项目,具体业务的特点,经过全面的,反复的调研和分析,来做出决定。
EJB并不能解决一切问题,在某些领域里EJB是一项很成熟,相对安全,稳定的解决方案。
而对于中小型的项目,目前,EJB技术并不是最好的选择。
我现在正在开发的产品就是一个支持EJB2.X规范的应用服务器,是实话,EJB远没有SUN,IBM宣传的那么神奇 :)






gpo2002 2003-09-22
  • 打赏
  • 举报
回复
学习!
gpo2002 2003-09-22
  • 打赏
  • 举报
回复
学习!
adiangege 2003-09-22
  • 打赏
  • 举报
回复
j2ee中解决遗留系统有那些技术呢

jca吗

大家评价一下
baitianhai 2003-09-22
  • 打赏
  • 举报
回复
转robbin的回复:

Hibernate不支持集群?还是支持集群?

如果你认真看看Hibernate文档,就应该知道Hibernate支持集群。但是在集群操作下有一些限制,例如不能使用read-write cache等。

10亿的单子确有其事。我不觉得Hibernate用在大项目中有什么奇怪的,本质上就是JDBC的一个轻量级封装而已,如果你能在大单子中用JDBC,又为什么不能用Hibernate呢?反到是大单子用CMP太危险了。



baitianhai 2003-09-22
  • 打赏
  • 举报
回复
补充 (http://www.jdon.com/的站长) 是 bang,刚才没有打上去,不好意思
baitianhai 2003-09-22
  • 打赏
  • 举报
回复
to Schlemiel(维特根斯坦的扇子) :

听到这个消息我也很高兴:)

to ajoo(聪明的一猪) :

很抱歉,我水平低,所以无法回答
不过关于这个问题,robbin (http://hibernate.fankai.com/的站长)和(http://www.jdon.com/的站长) 曾经说过,应该是可以的
你可以去http://hibernate.fankai.com/向 robbin 本人请教,robbin非常热情的,相信他会给你一个满意的答案的 :)
anzi2626 2003-09-22
  • 打赏
  • 举报
回复
高手这么多!
赶明多请教请教!
tianboguang 2003-09-22
  • 打赏
  • 举报
回复
ajoo(聪明的一猪):对待分布式事务,首先要求组成事务的各个操作都是可以undo的吧?假如我有一个legacy system(就说idms吧), 它没有提供undo功能,那么,如果我的一个事务由对关系数据库的储存,对idms数据的更改,对另外一个rmi接口的调用,一个jms的消息的发出等步骤组成,一个事务服务器怎么保证事务的原子性呢?
----------------------------------------------------------------------------
分布式事务采用两阶段提交,EJB处理事务相对于JDBC事务的优势是:JDBC只能针对同一类型数据库,象你想象的还包括遗留数据库(可能不用类型)的情形,用EJB事务是非常合适的。
如果只是对于数据库操作,事务处理一般都可以回滚撤消你的更改;但是对于其他的非数据库的变量改变或者动作撤消就不那么简单了,事务也许覆盖不了。请看我的这个帖子,对这个问题做了个有趣的测试
http://expert.csdn.net/Expert/topic/2286/2286812.xml?temp=1.818484E-02
scj123456 2003-09-22
  • 打赏
  • 举报
回复
不过书上说ejb是j2ee核心技术,难道不是么????????????????????????我今年刚毕业,正在学习ejb!!!!!!!!!!!!!!!!!
zlhlj2000 2003-09-22
  • 打赏
  • 举报
回复
ejb我只用过一次,还是调用别人写的,但我认为真的不错,不用考虑并发问题和数据的回滚。
Schlemiel 2003-09-22
  • 打赏
  • 举报
回复
好象任何一个non-trivial的系统都会用到这几个模式吧?EJB 2.0以后,就连Sun都已经建议只对entity bean使用Local接口了。
yzhz 2003-09-22
  • 打赏
  • 举报
回复
ejb我们用得挺好,多用下面几个模式:
delegate facade servicelocator 还有服务器端不同ejb的调用采用local接口,dao和实体bean结合.
按照上面做,访问得速度是满快得.
其实不止这些,采用ejb的话,架构比较清晰,便于项目的协同开发.

jeng 2003-09-21
  • 打赏
  • 举报
回复
听者
starfeng 2003-09-20
  • 打赏
  • 举报
回复
呵呵,这里的高手很多啊,看了贴子后,我想请教一个问题事务的实质是什么,比方,我假设想设计一个支持事务的服务器,我要怎么去下手呢.
我想了解这个,是因为我想知道,为什么开始一个事务要花费服务器很多的性能.
Schlemiel 2003-09-20
  • 打赏
  • 举报
回复
to ajoo(聪明的一猪):

Hibernate的缓存是在session对象里的,所以只要保证整个appliaction访问同一个global session,缓存同步的问题自然就不存在了。这是不是你想要的答案?

还从来没有遇到过像你第一个问题所说的情况。一般来说,不要说这么复杂的遗留系统,哪怕只是继承历史数据库而不允许新建数据库,我就会放弃ORM,回到JDBC persistence。就我个人的感觉,ORM适用的范畴还是相当相当窄,而且在遗留系统上会遇到巨大的困难。
加载更多回复(45)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧