应用程序服务器(带有EJB)是Java EE客户端/服务器通信的唯一方式吗?

时间:2009-01-06 08:41:16

标签: java remoting client-server enterprise

想象一下,Java客户端/服务器ERP应用程序可以为最多100个并发用户提供服务,包括Web客户端和swing客户端。对于持久性,我们可以使用Persistence API和Hibernate。  但是当谈到客户端/服务器通信时,我们是否真的可以选择使用带有EJB的AS来降低远程通信的编程成本?

抛出EJB和应用程序服务器似乎是一个非常重要的解决方案,仅用于远程处理。还有使用RMI的标准方法,但现在谁想要自己编写所有代码......

我知道除了远程部分之外,你还可以免费获得AS的许多功能。而且,也许这是要走的路。但是,对于企业应用程序进行客户端/服务器通信,AS是否还有其他(低编程成本)替代方案?

3 个答案:

答案 0 :(得分:3)

就我个人而言,我认为Seam是我没有的问题的最终解决方案,但除此之外,还有很多选项,Spring用于大多数选项:

基于HTTP的远程处理方法的优点是它们可以轻松插入Spring的安全模型。此外,您还可以访问拦截器等内容。

答案 1 :(得分:2)

您可以使用轻量级远程处理框架。 Spring在本节中有很多选项。

如果你问我两个字,我会建议两个。缝或春天。我自己就像Seam,但对于轻量级远程处理Spring有更可行的解决方案和支持。再次,如果您的AS是JBoss,请考虑Seam

答案 2 :(得分:2)

应用程序服务器是一个非常重要的解决方案。根据您的要求,我会尝试确保您可以在一个简单的servlet容器(如Tomcat)上运行。我发现使用Spring-remoting而不是完整的EJB更容易进行远程处理。 Spring-remoting提供了所使用的实际远程处理技术的抽象。 Hessian作为lightweigth协议享有良好的声誉。

拥有某种服务器框架(AS或servlet容器)是一件好事,因为你不需要考虑所有低级问题(连接建立,线程......)。