论坛首页 海阔天空论坛

参加4月4日Ben Wang的JBoss讲座纪实

浏览 47888 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-06-04  
kingkii 写道
如果认为EJB的最大好处在于分布的话,那可以用的技术多了,比如CORBA、RMI、SOAP或XML-RPC,甚至于古老的ROSE,还有电信中常用的SNMP、CMIP都可以实现分布啊,为什么一定要选择EJB?我倒是觉得如果没有其他特性的话,我不会选择EJB,我最看中的特性是集群,主要包括以下特征:
1)Session状态自动复制(这个现在好象不提倡用)
2)内存数据库,也就是CMP具有cache功能,尤其是需要在集群的机器之间以及和数据库之间保持同步功能,我不知道现有的产品在这方面做得如何。现在随着Hibernate的兴起,CMP也用不上了,但是Hibernate能满足我说的要求吗?
3)其他的特征我倒觉得可有可无,如容器管理的事物,安全等,而且这部分也正在被Spring替代。
这样看来,谁能告诉我还有什么必要使用EJB吗?

    选择EJB不选择CORBA、RMI这已经就是理由了,至于SOAP及其他webservice,那是属于RMC了(当然可以用XML实现RPC),分布为什么要选择EJB,我觉得这个理由不是我们再提出的了。
第二,内存数据库,这个概念我觉得有些奇怪。难道哪个程序实现了基于内存查询的QL?至于数据持久同步只是缓存罢了,远远谈不上数据库的概念的。在数据持久方面,hibernate比CMP厉害,我想没有多少人持异议的。
最后,容器事务,spring的确可以代替,不过安全的话,好像spring没有看到什么,如果说可有可无,呵呵,那就是相当不恰当了。
0 请登录后投票
   发表时间:2004-06-04  
mikeho 写道
我不知道负载均衡、cluster和分布式这些术语之间有什么关联和区别。据我的理解是,
如果业务和数据是是分散在各个地方的,才真正叫分布式,这时使用ejb会比较合适,而对于业务和数据集中管理的场合,使用app的负载均衡我想就应该可以提高性能和可靠性了。例如我们以前做的一个香港项目,app 和db server全部放在香港机房,而澳门、珠海和泰国分公司通过browser来访问(因为使用者香港居多,其他每个地方只有几个人才会用到)。这种场合,其实不一定要用到ejb,利用他的几台服务器做个负载均衡就ok了。另外一些诸如OA、MIS系统,多数都是集中管理。
对于一个业务分布较广的企业,例如银行之类,他的数据中心是分布的,广东分行有自己的server,上海分行也有自己的server,这时两行之间的数据和业务交流可能就会用到ejb、corba或者甚至是web service等等。
另外,ejb提供了一种组件的统一访问方式,可以使用基于java的各种客户端程序来访问。

     mikeho,总算发话了呀,潜水了很久哦!如果应用都是部署在一个地方,的确不要什么分布式(只是几台机器做集群就可以了),但是对于银行,还有我现在做的分布式的财务审计,不采用分布式是不行的。(电力系统有钱,铺的都是光纤,我的问题远远不是hibernate,spring这样的框架可以解决的,所以EJB是必须的选择-当然要综合前面两种的部分使用),遗憾的是,在金融行业间有统一的数据格式EDI,而财务系统则没有。
0 请登录后投票
   发表时间:2004-06-04  
凤舞凰扬 写道
    选择EJB不选择CORBA、RMI这已经就是理由了,至于SOAP及其他webservice,那是属于RMC了(当然可以用XML实现RPC),分布为什么要选择EJB,我觉得这个理由不是我们再提出的了。

还是不明白,拜托能说详细些吗?

引用
第二,内存数据库,这个概念我觉得有些奇怪。难道哪个程序实现了基于内存查询的QL?至于数据持久同步只是缓存罢了,远远谈不上数据库的概念的。在数据持久方面,hibernate比CMP厉害,我想没有多少人持异议的。

内存数据库当然有啊,不过都是一些公司自己开发的,目的是提高性能,但是集群同步比较复杂,与数据库的同步也很复杂,不知道有没有通用的开放源码。当然,象ORACLE这样的数据库自己的DBMS对数据的cache已经做得很好了,就不需要另外的内存数据库了,但是ORACLE很贵啊。至于Hibernate对结果集的缓存,那是不同的层次了。不知道CMP算不算一个内存数据库呢?


引用
最后,容器事务,spring的确可以代替,不过安全的话,好像spring没有看到什么,如果说可有可无,呵呵,那就是相当不恰当了。

也许大家行业不同吧,如果不涉及跨数据库的业务,容器事物确实可有可无,而且也不是EJB专有的啊
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics