【发布时间】:2017-02-28 03:52:48
【问题描述】:
我有一个遗留项目,它公开了 SOAP 网络服务。现在我需要将它们转换为休息并相应地使用它。
我可以使用像 Jersey 这样的实现来使用这些肥皂服务,然后像 REST 一样发布吗?
【问题讨论】:
标签: java web-services rest soap jersey-2.0
我有一个遗留项目,它公开了 SOAP 网络服务。现在我需要将它们转换为休息并相应地使用它。
我可以使用像 Jersey 这样的实现来使用这些肥皂服务,然后像 REST 一样发布吗?
【问题讨论】:
标签: java web-services rest soap jersey-2.0
这是处理遗留 API 时的常见问题。由于 REST 不是定义上的协议,因此您可以实现:
协议桥接模式。这是一种常见的 SOA 模式,可通过使用桥接代理作为中介来帮助您在不同协议之间进行转换。代理持有转换逻辑。你可以找到more information here。大多数 ESB 和 EAI 中间件都提供这种桥接器。
数据格式转换模式。它在数据格式之间进行转换,您可以使用它将 XML 转换为您正在使用的 REST 格式。您可以通过放入一些内部服务逻辑、服务代理或专用转换服务来实现它。 You can see more here.。您绝对可以使用 Jersey 来构建 REST Facade 并在内部从 XML 进行转换,或者在每个服务内部构建逻辑。
这实际上取决于您的 API 的大小和您需要的解决方案的类型。对于少数服务,我会选择第二种方法——它更容易但耦合度更高,而如果我有很多服务,我会选择第一种方法,在我看来它可以更好地抽象转换逻辑,但它可能需要额外的中间件和努力.
【讨论】: