我觉得没什么好处,在中国开发EJB纯粹是蒙人的!
基本是公司为了坑客户的钱才搞什么EJB。
开发Entity Bean的失败率又高,开发成本又大周期又长。劳民伤财!
个人意见,发发牢骚。不要打我
基本是公司为了坑客户的钱才搞什么EJB。
开发Entity Bean的失败率又高,开发成本又大周期又长。劳民伤财!
个人意见,发发牢骚。不要打我
解决方案 »
- 非常神奇的Java Socket问题,请高手帮忙分析一下问题的原因。
- java调用打印机
- 撒分了 判断登录的小问题
- 安装完java_ee_sdk-5_02后实现的服务器功能与tomcat比较,哪个更好?
- 来看普通的JDBC程序,进来讨论,我极其迷惑,认为就interface竟然可以实例化产生对象!
- 迷失方向
- weblogic小问题
- Jbuilder8.0+weblogic6.1+ejb问题
- XML文件是什么时候生成的?怎么生成的?放在什么地方才可以?每一个都是自己动手一句一句地写的吗?
- 怎样能在servlet中同时支持dopost,doget?
- java调用存储过程问题
- <logic:greaterThan name="user" 这个beanuser能否动态产生?
感觉没什么实际用途。主要是想不出有什么必要非要这样做的理由。
开发繁琐(编译部署缓慢),维护困难。它的分布式功能,在绝大多数项目中好像用不上。
而MVC的概念,不用EJB也可以实现得很好。我觉得没接触的同志,了解一下就可以了。
有这功夫不如钻研下 strut Hibernate 等东西实用些。
2.学习资源较多,开发工具也很多
3.ejb有很多商业公司支持
2.学习资源较多,开发工具也很多
3.ejb有很多商业公司支持
====================
这些说得都没有错,十分的有道理,不过,衣服只有穿在身上才感觉合不合身。
如果你拿它做过几个正规的中型以上的项目,如果还对它的有点如数家珍,赞不绝口,
那我就没话说了。事务处理它是提供了,但算不上是个什么大不了的优势,大部分的项目,仅靠数据库本身的
连接的事务处理就足够了。只有在跨数据库操作时才用得上。这种情况很少,即使有也可以
手工写代码搞定。
学习资源多并不见得开发效率就高。不用它用其他方式资源更多,做过项目就会有切身体会。
至于商业公司支持也事另外一码事了,我不用EJB照样可以跑在商业公司的 App Server上,
而且性能更好。对了,开发费时费力是一方面,
EJB还有一个比较重要的问题,性能问题。如果一个大的系统有数百乃至上千个表,
如果用Entity Bean,试下看看,嘿嘿,仅仅光挂上100个 Entity bean 还不要说业务逻辑Session Bean
app server就很辛苦了。(免费的jboss挂到30个都吃力),这个也许算EJB的硬伤了。
不知有用过的兄弟能否讲讲性能方面的体会啊。不过我个人的体会,搞EJB可以让人在开发的过程中开始思考一些系统架构方面的东西:
比如开发模式,软件分层与组件复用等。这些感觉都要经过一段时间的积累而成。
一个 server 一个 database 完全没有必要用 EJB.
实际上在 ASP/ASP.net 编程中,多个 database 情况由 database 自己做数据同步,主流数据库都能做。多个 server 由操作系统做负载平衡,这个需要 Windows 2000 advance server 或者 Redhat enterprise server 。基本上,对于编程者来说,只要安装正常一个 server 一个 database写法写程序,不用懂太多东西。我比较看好这种做法。
现在很多人在一个 server 一个 database 下面用 ejb, 不懂是为什么,乖乖!!
首先copy and modify的做法是绝对不可取的。你可以根本不用问为什么,重复代码是万恶之源,哪怕你找出一千个理由说服自己“这次的重复代码不会出问题”,最后你仍然会被重复代码狠咬一口。有些事情不一定非要尝试的。
数据库的集群应该由数据库来做,这一点我同意。但是“多个 server 由操作系统做负载平衡”,我可能就要持保留态度。最简单的例子:如果你的business service组件是有状态的,哪个操作系统能在不同的进程之间保证同一组件的状态一致?不用懂太多东西的话,写出来的程序也不会有太多用处,这不是观点,是经验。
小的东西没又必要用ejb
我觉得EJB是面向需求的。
“EJB是面向需求的”。你觉得这句话说了跟没说有什么区别呢?我觉得没有。纯粹就是一句不痛不痒的废话,而且跟我的问题根本不搭界。EJB到底好不好?好在哪里?我想没人能从你这句话里看出答案。你还不如说“道可道非常道”呢。
从你这个答案,我倒觉得你的确有点缺乏锻炼脑子的机会。
而且设计项目的人也很牛B,J2EE模式和EJB模式都运用的很不错,SessionBean和CMP用的也是本地接口,但操作数据就是很慢.....
我说我用JSP 给你搞定吧
老师不同意,让我用EJB ,结果到现在我还在东搞西搞,郁闷。不同意楼主的--〉重复代码是万恶之源
坚决反对,什么事物都是有两面性的,没有什么东西是绝对坏的,重复代码在一定的情况下应该就是代码重用,这是软件工程,Java的继承、重载等等所提倡的。
你不要断章取义。
我说的“以后需要改成分布式,原来的代码又不是不能用。大部分代码都可以 copy , 做少量 modify 即可”,
意思是 jsp + javabean 代码如果需要升级成 EJB + javabean, 大部分代码还是可以接着用的,特别是 javabean 中的代码,略作修改即可。
首先感谢你的提供的信息。虽然我问的离你的题目有点远。希望讨论能增加大家对ejb的更深认识。第一感觉,我以为你会引用Hibernator来说明问题。没想到你提到Spring、PicoContainer等(我对这些基本上没有概念,刚搜了一下看了看,见笑了。)。一个问题总是有很多的解决方案,我们希望选择最好的,最适合自己的。从构架一个系统 或者说拉单子角度讲,不可能说现招一批程序员或者花一段时间培训,更不可能给客户去讲Spring或Hessian如何可以替代ejb更好的处理事务问题、分布式问题。这似乎是选择ejb的问题了。
从某种角度讲,选择了说明他对自己目前状况有一定的选择优势,不知道会不会遗害无穷……
其实很多人不愿意用 EJB 不是说 EJB 不能做什么,而是它没有封装好。一个好的工具包应该是好用的。
使用 EJB 应该看情况。
EJB 与 DCOM 的竞争,最后可能像 ANSI C++ 与 VB 的竞争。因为大多数项目用简单工具即可完成,所以 VB 比 ANSI C++ 流行,DCOM 比 EJB 使用者更多。
另一种类似的比较是, Unix 很多功能比 Windows 强,但是因为不好用,结果Windows 的市场份额占了大部分。现在 asp 远比 jsp 流行也说明了这一点:对于论坛,OA 之类的B/S程序,用 asp 足够了,所以它流行。
EJB 最后的出路是,在更复杂的情况下一统天下,而大多数中小项目中,EJB是失败者。因为大多数中小项目的程序员占了总体程序员数量的大多数,结果使用 EJB 的人远不如 jsp,而用jsp 的远不如 asp.
服务器集群中的 session 问题,建议大家看 JBoss 或者 Weblogic 的文档。基本上变成的时候不用考虑它,这是一个配置问题。
ASP.NET 我建议大家看 《ASP.NET 技术内幕》( Stephen Walther ),里面关于服务器集群中的 session 问题有非常妙的讲解。
另外,建议大家同时学习集中技术,这样你才能知道,每种技术的优点,缺点。只学一种,永远达不到这种境界。
个人观点,不代表广大群众...呵呵