【问题标题】:Client architecture for calling Spring based web service用于调用基于 Spring 的 Web 服务的客户端架构
【发布时间】:2012-03-27 06:24:44
【问题描述】:

我编写了一个基于 SOAP 的 Web 服务,它在 Tomcat 服务器上运行良好。 Web Service 服务本身是一个基于 Spring MVC 的 Web 服务,运行在 Tomcat 应用服务器上。

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

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

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

视图 --> 服务 --> 模型

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

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

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

提前致谢。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • Web 服务已经实现,所以我并不担心。我只是好奇我应该为基于 Swing 的客户端应用程序使用什么架构。谢谢
    • Web 服务是基于 REST 还是基于 SOAP?
    【解决方案2】:

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

    (1) Net Beans 富客户端平台

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

    (2) 您可以卷起袖子,使用名为 Swixml 的低级但极其灵活的框架编写自己的应用程序

    http://www.swixml.org/

    在尝试其他人之前先尝试一下 Swixml,它可能会让您大吃一惊。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2017-11-27
        • 2011-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-04
        • 2010-10-08
        相关资源
        最近更新 更多