是在esb内部还是在esb外部署Web服务

时间:2012-08-08 14:50:48

标签: java web-services soa esb

我正在构建一个基于休息的Web服务(有些可能基于SOAP),并且将由外部代理调用。 代理商是我们网络之外的任何软件。

我正在考虑两个选项

i)在esb外部的容器上运行Web服务,并从外部世界的fuse fuse中暴露一个jetty端点。

ii)在esb容器中运行webservice。

我想知道在ESB内部或esb之外部署Web服务的优缺点是什么。

2 个答案:

答案 0 :(得分:1)

我从未听说过使用ESB部署Web服务的业务解决方案。

ESB通常用作 Mediator ,用于实现各种非功能属性(安全性,中介,转换)。

ESB可以实现一些功能属性(例如,消息丰富),但在ESB内完全实现业务逻辑听起来像ESBWebservice Application Server的不必要的耦合{{1}}个角色。这两个角色应该分开,以最大化两者的利益。

答案 1 :(得分:1)

这个问题是针对Fuse ESB的。保险丝容器能够托管中介路由以及Web服务本身。 如果您正在开发基于OSGI的Web服务,您也可以在Fuse容器上部署服务。

如果负载不高,路由和Web服务可以托管在同一个物理容器上。在所有情况下,最理想的是为路由和Web服务分别提供捆绑包。暴露用于集成的部分成为ESB的一部分。