调用基于Spring的Web服务的客户端体系结构

时间:2012-03-09 20:02:02

标签: java spring swing model-view-controller oop

我编写了一个基于SOAP的Web服务,它可以在Tomcat服务器上正常运行。 Web Service服务本身是一个基于Spring MVC的Web服务,它在Tomcat应用程序服务器上运行。

现在我需要编写一个胖客户端,它将是一个独立的Java应用程序,它将使用Web服务的服务。我认为我是正确的,因为客户只需要了解服务细节(即操作)而不需要知道其他任何内容。

我不确定的是我应该为客户使用的架构和环境。客户端应用程序将基于Swing,但是可以将Spring与Swing一起使用吗?

在网络服务上,我有以下设置

view - >服务 - >模型

客户端应用程序基本上是一个配置工具。它使用Web服务配置用户帐户。这意味着客户端应用程序实际上不会向任何数据库写入任何内容。它只是使用Web服务的服务来更改“用户帐户”,并可能查看帐户列表。

我的问题确实是 - MVC设计是否适合这种用例 - 通常Spring用于基于Web的应用程序。使用Spring与基于Swing的客户端有什么好处吗? - 是否有任何替代或更好的解决方案/设计/架构可以实现相同的目标?

显示Spring与Swing应用程序结合使用的示例非常有用。

提前致谢。

3 个答案:

答案 0 :(得分:3)

Spring MVC不适合基于Swing的客户端。使用核心Spring框架和Jersey等JAX-RS实现在tomcat中提供简单的REST Web服务。 Jersey还提供了一个相应的客户端API,您可以在Swing应用程序中使用它来调用REST服务。

答案 1 :(得分:2)

如果您已决定将Swing作为您的平台,您可以看两个选项:

(1)Net Beans富客户端平台

http://netbeans.org/kb/trails/platform.html

(2)你可以卷起袖子,使用一个名为Swixml的低级但非常灵活的框架来编写你自己的应用程序

http://www.swixml.org/

在尝试其他人之前先试试Swixml,这可能会给你带来惊喜。

答案 2 :(得分:1)

您可以使用Spring Integration后端作为集成层来实现基于Swing的瘦客户端应用程序。它可以公开接受简单Java类型或DTO的网关。您的Swing演示者/控制器与这些组件交互以调用远程Web服务。