Spring 3:具有用于生成运行时服务的自定义协议的网络客户端服务器

时间:2013-07-31 13:58:09

标签: java spring web-services rest client-server

我正在寻找使用Spring 3框架创建客户端 - 服务器网络架构的最简单的解决方案。架构woill有许多客户端和多个服务器。每个客户端都可以连接到每个服务器。每个客户端都可以定义一组服务器必须在运行时生成的服务。

通讯协议:

  1. 客户向5台服务器之一致电。

  2. 服务器收集有关存储数据的本地元数据并将其发送到客户端

  3. 客户端选择一些此信息并将元数据子集发送给服务器,以决定以后需要哪些数据。

  4. 基于客户端选择的元数据选择的服务器生成动态服务,该服务将提供给客户端,为客户提供所请求的(步骤3)配置指向的数据(例如,以表格序列化的JSON)< / p>

  5. 客户端获取有关生成的服务的信息,并将其用于将来对这些服务的调用。

  6. 最大的问题是客户端在收到答案之前对服务器资源一无所知,而且服务器没有服务,因为它收到客户的请求。

    我考虑过Spring 3:

    • HTTP Invokers
    • JMS
    • Netty(春天加入)

    但是,就我上面的尝试而言,它很难提供动态服务生成要求或代码量(Netty)很大。

    由于其重要性,我拒绝了SOAP 。 另一方面,据我所知, REST 并没有带来任何好处。它只是一种提供数据的方式,它需要某种类似于Tomcat的servlet容器,因为它使用HTTP。 @Timmmm的great and simple answer to REST fashion

    我在追求的是什么:

    • 尽可能简单
    • 基于客户选择动态生成服务
    • 保持服务器轻量级,即没有额外的服务器实例(消除tomcat会很好;但是并不重要)
    • spring based

    您会推荐什么技术?

    在运行期间需要基于配置的服务生成,很难完成这项任务。

    NOT 想要基于属性文件,必须根据客户端请求动态生成服务。

    提前感谢您的回答和提示。

1 个答案:

答案 0 :(得分:0)

我会看一下RESTful架构。它的一些原则是你所追求的,包括发现。

Spring提供了与REST的轻松集成。