Java 从表示层进行服务层调用

Java 从表示层进行服务层调用,java,spring,jakarta-ee,soa,esb,Java,Spring,Jakarta Ee,Soa,Esb,我必须选择一种技术来连接我的应用程序/表示层(基于Java)和服务层(基于Java)。基本上是从BusinessDelegate对象中查找适当的Spring服务 有太多的选择,让我困惑。以下是我缩小范围的选项,但不确定 春季RMI 阿帕奇骆驼 ApacheServiceMix(ESB) Iona保险丝(ESB) 这是我想知道的 如果您对其中任何一项进行过研究(或评估),您认为哪个选择更合适?(告诉我原因也无妨:) 还有其他技术我也应该关注吗 到目前为止,我确实没有看到应用程序和服务层正在分发

我必须选择一种技术来连接我的应用程序/表示层(基于Java)和服务层(基于Java)。基本上是从BusinessDelegate对象中查找适当的Spring服务

有太多的选择,让我困惑。以下是我缩小范围的选项,但不确定

  • 春季RMI

  • 阿帕奇骆驼

  • ApacheServiceMix(ESB)

  • Iona保险丝(ESB)

这是我想知道的

  • 如果您对其中任何一项进行过研究(或评估),您认为哪个选择更合适?(告诉我原因也无妨:)
  • 还有其他技术我也应该关注吗
  • 到目前为止,我确实没有看到应用程序和服务层正在分发,但我不想在将来排除这种可能性。这是一个提供这种灵活性的设计好主意吗

  • 任何帮助都是有用的。谢谢

    它主要归结为您希望使用SpringRemoting(哪个SpringRMI是它的实现)还是希望将JAX-WS用于web服务(哪个CXF或Metro实现)。i、 您是希望POJO自动远程处理,还是希望WS与WSDL契约等等

    一旦你决定了远程处理技术;您的下一个决定是希望将其作为库(例如Spring RMI或Camel)捆绑在应用程序中,还是希望将其部署在像ServiceMix这样的ESB容器中,以便能够热重新部署模块等等


    如果您选择后者,那么就使用Apache ServiceMix,或者如果您想要一个包含更多文档、频繁发布、商业支持等的商业发行版,就使用FUSE ESB。

    Spring远程处理似乎是最简单的方法。如果这是你想要采取的方向,它也会让你在未来接受更复杂的方法

    从您需求的有限角度来看,我将坚持使用学习曲线较低的简单解决方案,并将ESB留在您确定实际需要它之前


    KISS原则是一件美妙的事情。

    在这里,您可以找到一个简单的解决方案,将Metro和Camel集成在一起: