繁体   English   中英

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

[英]Java Server application architecture with Swing thin client

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

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

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

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

提前感谢您的所有想法!

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

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

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

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

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

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

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

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

http://dist.codehaus.org/jetty/jetty-6.1.19/获取版本6

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM