从表示层进行服务层调用

a-s*_*sak 5 java soa spring esb java-ee

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

那里有很多选择让我很困惑.以下是我缩小到但不确定的选项..

  • 春季RMI

  • Apache Camel

  • Apache ServiceMix(ESB)

  • Iona FUSE(ESB)

这是我想知道的

  1. 如果您已经(或评估过)其中任何一项,您认为哪种选择更合适?(并告诉我为什么:)不会有害
  2. 我还应该关注其他技术吗?
  3. 截至目前,我没有看到应用程序和服务层正在分发,但我不想在将来排除这种可能性.设计提供这种灵活性是一个好主意吗?

任何帮助都会有用.谢谢!

Jam*_*han 2

它主要归结为您是否想要使用 Spring Remoting(Spring RMI 和Apache Camel是其实现),或者您是否想要使用 JAX-WS 来实现 Web 服务(CXF 或 Metro 实现)。即您想要 POJO 的自动远程处理 - 或者您想要带有 WSDL 契约的 WS 等等。

一旦您决定使用远程技术;您的下一个决定是是否要将其作为库(例如 Spring RMI 或 Camel)捆绑到您的应用程序中,或者是否要将其部署在 ServiceMix 等 ESB 容器中,以便能够热重新部署模块等。

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