【问题标题】:How could I deploy independent services in a SOA stack? Java EE based如何在 SOA 堆栈中部署独立服务?基于 Java EE
【发布时间】:2013-02-28 19:20:13
【问题描述】:

我在 Java EE 中有一个 Web 服务堆栈,但我遇到了一个问题:每次我需要更改特定服务、部署并重新启动应用程序时,其他的也需要重新启动。

我想知道是否有一些架构(开源)可以在不同的上下文中部署我的服务。我想创建一个 SOA 结构。

按逻辑思维:为每个 Web 服务创建一个应用程序。但是,我真的相信存在一个更简单的选择。

我需要审核每个服务(持续时间,输入参数,结果,如果出错)

你有什么建议?

【问题讨论】:

    标签: jakarta-ee architecture soa


    【解决方案1】:

    您没有提供很多细节,但是如果您有真正的服务(即通过接口进行通信的独立组件),那么无论如何都没有真正的理由将它们放在同一个应用程序中。

    更重要的是,将每项服务都放在自己的应用程序中可以让您进行更改、扩展等。每一项服务都独立于其他服务,并且与将它们放在一个应用程序中相比,为您提供了更大的灵活性

    【讨论】:

    • 当然,但是我如何在这个模型中用审计、日志记录、缓存等来包装它们?
    • 日志记录和缓存不是服务——它们通常是共享库(由每个服务单独使用。如果您让服务通知它(例如,它订阅所有消息),审计可以是一项服务。服务并不意味着一切都是服务
    • 好的,让我重做。审计、日志记录、缓存的职责应该是服务还是核心架构?
    【解决方案2】:

    不确定您对运行时环境有什么要求。

    如果有太多的服务无法作为单独的应用程序处理,通常会将此类服务分组到应用程序中。如果您有一组相关的服务,例如“订单服务”、“金融服务”、“物流服务”或您有什么。

    当您需要更改一项时,您很有可能还需要对相关服务进行更改,例如更新架构或其他什么。在这种情况下,不需要重新启动所有服务,只需一个“组”(应用程序)。

    还有针对这些情况量身定制的容器,特别是针对集成层中的服务。

    我正在考虑Apache Service Mix,它将 SOA 服务部署为易于处理且彼此分离的 OSGi 捆绑包。

    如果稍微改变配置和打包,应该可以部署 Web 应用程序。

    【讨论】:

      猜你喜欢
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 2021-01-24
      • 2018-12-21
      相关资源
      最近更新 更多