使用Swing瘦客户端的Java Server应用程序架构

时间:2009-07-07 01:42:02

标签: java swing spring java-ee

我目前正在寻找设置客户端/服务器应用程序。我计划将客户端编写为Swing瘦客户端。我不确定如何设置服务器端应用程序。

Java Server端应用程序将具有应用程序业务逻辑,数据库访问等。我在Web上看到很多关于设置使用Web前端的Java Server端应用程序的信息。所以我看到很多关于Tomcat和JBOSS等完整应用服务器的信息。因为我不打算使用Web前端,所以我不确定应该如何设置服务器。我一直在关注Spring和Java EE。

这些是我最好的选择吗?还有其他我没想过的选择吗?我应该一起使用它们还是我可以单独使用的东西?

如果我只是要使用Java EE,我需要一个完整的应用服务器,如JBOSS,Weblogic,Websphere等,还是这个过度杀戮?如果我也想使用JMS,我是否应该使用应用程序服务器还是有替代方案?我的第一个想法是,应用程序服务器有点过度杀戮,但我不太确定。

提前感谢您的所有想法!

5 个答案:

答案 0 :(得分:3)

我认为我和你的情况差不多。我打算继续使用Swing + Spring + JPA。远程处理应通过Spring Http Invoker完成。唯一的缺点是你需要一个像Tomcat或Jetty这样的servlet容器来将http请求路由到Spring bean。但像winstone这样的服务器(Hudson CI使用的)非常轻巧,可以嵌入到应用程序中。

拥有Spring后端意味着您不需要应用程序服务器。但是,如果您将来需要应用程序服务器,Spring也可以无缝支持它。

答案 1 :(得分:1)

如果您没有使用提供的功能,应用程序服务器就会被过度杀死。如果您的应用程序只有JSP和Servlet,那么Tomcat是更好的选择。如果使用EJB,那么你需要一个像Jboss这样的应用服务器。

您必须首先决定您的swing客户端如何与您的服务器进行交互。你打算使用HTTP协议,EJB查找,简单的RMI等吗?

如果您的客户端将被位于服务器网络之外的人使用,那么您应该使用HTTP协议,因此Servlet是最佳选择。您也可以将服务器公开为webservice。如果客户端用户在服务器网络中,那么您可以使用EJB或套接字编程等任何内容,甚至也可以使用http。

您当然可以在服务器和客户端中使用Spring。 Spring是一个很大的框架,您需要决定要使用哪些功能。 Spring可以在servlet环境,EJB环境或任何其他环境中使用。

答案 2 :(得分:0)

http是一个很好但很简单的协议,可能会做你需要的。

要获得灵感,请尝试使用Jetty服务器(Tomcat的替代方案) - 它有一个简单的基于Ajax的聊天客户端作为演示应用程序之一,可能是您需要做的任何基础。

http://dist.codehaus.org/jetty/jetty-6.1.19/

获取第6版

我建议保持简单,这样你就不需要大量的建筑库,你们都需要学习。

答案 3 :(得分:0)

也许你应该看看CaptainCasa - 我曾经在JAX会议上看过这个。他们似乎提供了一个漂亮的Swing客户端,但处理后端的所有逻辑内容。我对该产品没有任何个人经验,但从他们所呈现的内容来看,对于“愚蠢”的客户来说这看起来很有趣。

答案 4 :(得分:0)

应用程序服务器可能是最简单的解决方案。您可以考虑在服务器端创建RESTful api,这可以通过应用程序服务器上的spring来完成。然后,您可以在客户端使用简单的http客户端库。