论坛首页 Java版 企业应用

分布式企业应用 without EJB ?

浏览 13474 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2004-09-24
EJB现在一个无可争议的应用就是分布式企业应用,但是使用EJB却有感觉太重量级

如何在不使用EJB的情况下架构一个分布式企业应用? 我想这也是很多人都关注的一个话题,所以希望大家可以展开一个讨论。哈哈

抛砖引玉,我先大概说一下我的想法:

先说以下远程调用,现在存在的一些可用的轻量级library有很多,Hessian,Burlap,XmlRpc......但是单纯用这些来实现RPC,那没一点问题,但是既然是企业级的应用,就必须首先考虑事务处理,其实我想这也是使用轻量级library和难解决的第一个大问题,据说jotm支持web service事务?可否应用到上面的轻量级library上?另外安全问题,很容易解决,https现成的解决方案。我觉得主要问题还是存在在事务处理上,而EJB恰好解决了这个问题,这也使EJB成为了分布式企业应用的首选。

另外我的理解可能有偏差,希望可以多多指正!
   
最后更新时间:2004-10-08
没有看完,先回答你第一个问题吧,RMI,Webservice等在没有EJB的情况下就可以实现分布式应用,但是RMI要你多写不少代码,考虑的东西更复杂。

  希望Spring以后能支持分布式应用。
   
0 请登录后投票
最后更新时间:2004-10-11
lyo 写道
没有看完,先回答你第一个问题吧,RMI,Webservice等在没有EJB的情况下就可以实现分布式应用,但是RMI要你多写不少代码,考虑的东西更复杂。

  希望Spring以后能支持分布式应用。

你理解错我的意思了,我的意思是说如何在不使用ejb的情况下,开发一个企业级的分布式的应用,当然那了,既然是企业级的,就要兼顾很多问题了,事务,并发,安全,缓存... 当然RMI,和webservice都可以实现,但是却具备不了企业级应用必须的东西,如果单单是为了实现分布式,那我上面列举Hessian,Burlap,XmlRpc......
这些东西都可以实现,但是如何兼顾事务,并发,安全,缓存...这才是我们必须考虑的问题,而EJB恰好解决了这个问题,现在就是如何在非EJB环境下解决这些问题。
   
0 请登录后投票
最后更新时间:2004-10-11
hpq852 写道
但是如何兼顾事务,并发,安全,缓存...这才是我们必须考虑的问题,而EJB恰好解决了这个问题,现在就是如何在非EJB环境下解决这些问题。


那么EJB是如何解决这些问题的?不也是在别的J2EE infrastructures基础上解决的吗。
   
0 请登录后投票
最后更新时间:2004-10-11
gigix 写道
hpq852 写道
但是如何兼顾事务,并发,安全,缓存...这才是我们必须考虑的问题,而EJB恰好解决了这个问题,现在就是如何在非EJB环境下解决这些问题。


那么EJB是如何解决这些问题的?不也是在别的J2EE infrastructures基础上解决的吗。

是在J2EE infrastructures基础上解决的,但那些事情是Container帮我们做的,如果抛开了Container又该如何实现呢? 或者说是 “分布式企业应用 without EJB Container”如何实现呢?这个才是我发个帖子的重点,可能是我表达的不够清楚。
   
0 请登录后投票
最后更新时间:2004-10-11
soap 是通过XML的HTTP协议的分布式应用,比EJB轻量级不少!
   
0 请登录后投票
最后更新时间:2004-10-12
hpq852 写道
gigix 写道
hpq852 写道
但是如何兼顾事务,并发,安全,缓存...这才是我们必须考虑的问题,而EJB恰好解决了这个问题,现在就是如何在非EJB环境下解决这些问题。


那么EJB是如何解决这些问题的?不也是在别的J2EE infrastructures基础上解决的吗。

是在J2EE infrastructures基础上解决的,但那些事情是Container帮我们做的,如果抛开了Container又该如何实现呢? 或者说是 “分布式企业应用 without EJB Container”如何实现呢?这个才是我发个帖子的重点,可能是我表达的不够清楚。


没有EJB容器,我们自己做个容器就是。如果不考虑业务对象分布的话,EJB容器无非两件事:组件生命周期管理,infrastructure管理。第一件事我们用轻量级IoC容器实现,第二件事我们用AOP实现。这需要在搭建template application时做较多的工作,收益则是有更多的选择,而不是全盘接受所有的infrastructures。对于普通程序员,唯一的变化就是他们编写的组件是POJO,而不是EJB。
   
0 请登录后投票
最后更新时间:2004-10-12
引用
没有EJB容器,我们自己做个容器就是。如果不考虑业务对象分布的话,EJB容器无非两件事:组件生命周期管理,infrastructure管理。第一件事我们用轻量级IoC容器实现,第二件事我们用AOP实现。这需要在搭建template application时做较多的工作,收益则是有更多的选择,而不是全盘接受所有的infrastructures。对于普通程序员,唯一的变化就是他们编写的组件是POJO,而不是EJB。


跑题了...如果不考虑业务对象的分布的话,当然可以考虑使用IoC和AOP来实现自己的container,而且灵活性要比EJB Container灵活的多,起码我们针对的是POJO.  但是现在问题就是要实现业务对象的分布式,这个才是重点,涉及到分布式,要考虑的问题(事务,安全,并发...)就比单机复杂的太多了, 如果自己构造Container 可以实现上述企业级问题吗? 我想即使可以也将是无比复杂的一个过程,不过Johnson也不会说EJB的用武之地只在分布式企业应用.
   
0 请登录后投票
最后更新时间:2004-12-12
自己作个容器,真是个好主意啊,呵呵

gigix 写道
hpq852 写道
gigix 写道
hpq852 写道
但是如何兼顾事务,并发,安全,缓存...这才是我们必须考虑的问题,而EJB恰好解决了这个问题,现在就是如何在非EJB环境下解决这些问题。


那么EJB是如何解决这些问题的?不也是在别的J2EE infrastructures基础上解决的吗。

是在J2EE infrastructures基础上解决的,但那些事情是Container帮我们做的,如果抛开了Container又该如何实现呢? 或者说是 “分布式企业应用 without EJB Container”如何实现呢?这个才是我发个帖子的重点,可能是我表达的不够清楚。


没有EJB容器,我们自己做个容器就是。如果不考虑业务对象分布的话,EJB容器无非两件事:组件生命周期管理,infrastructure管理。第一件事我们用轻量级IoC容器实现,第二件事我们用AOP实现。这需要在搭建template application时做较多的工作,收益则是有更多的选择,而不是全盘接受所有的infrastructures。对于普通程序员,唯一的变化就是他们编写的组件是POJO,而不是EJB。
   
0 请登录后投票
最后更新时间:2004-12-14
hpq852 写道
引用
没有EJB容器,我们自己做个容器就是。如果不考虑业务对象分布的话,EJB容器无非两件事:组件生命周期管理,infrastructure管理。第一件事我们用轻量级IoC容器实现,第二件事我们用AOP实现。这需要在搭建template application时做较多的工作,收益则是有更多的选择,而不是全盘接受所有的infrastructures。对于普通程序员,唯一的变化就是他们编写的组件是POJO,而不是EJB。


跑题了...如果不考虑业务对象的分布的话,当然可以考虑使用IoC和AOP来实现自己的container,而且灵活性要比EJB Container灵活的多,起码我们针对的是POJO.  但是现在问题就是要实现业务对象的分布式,这个才是重点,涉及到分布式,要考虑的问题(事务,安全,并发...)就比单机复杂的太多了, 如果自己构造Container 可以实现上述企业级问题吗? 我想即使可以也将是无比复杂的一个过程,不过Johnson也不会说EJB的用武之地只在分布式企业应用.


就像现在很多的容器包括Spring所做的那样,不过如果没有分布式,很多应用就无法实现了。
   
0 请登录后投票
论坛首页 Java版 企业应用

跳转论坛:
JavaEye推荐