【发布时间】:2013-12-17 19:58:38
【问题描述】:
我见过很多“Web 服务”和“面向服务的架构 - SOA”这两个术语可以互换使用的实例。但是,我相信你们中的很多人会同意它们是不一样的,“SOA”远远超出了“Web 服务”!
尽管如此,我的问题是,作为一家小公司,我们现在拥有这项新业务,可以为外部客户(其他公司)提供大量网络服务。所以,在这方面,我有以下几个问题:
1) 我们是应该只专注于开发这些 Web 服务(Java、Spring)并独立部署它们并交付给客户端,还是应该考虑将它们整合在一起并为 Web 服务治理提供手段通过使用诸如 Mule ESB、Apache ServiceMix 等 SOA 基础架构。
2) 从一开始就考虑 SOA 基础架构是否更容易且资源密集度更低(在努力和金钱方面),还是即使我们将其推迟到以后的某个时候也几乎相同?我只是想确保我们不会过度设计,所以我不确定 SOA 是不是过度杀戮,还是从一开始就真的值得花时间和投资?
3) 与像任何 Web 应用程序一样独立部署 Web 服务相比,SOA 基础架构是否提供更好的性能以及高可扩展性和低延迟?我有时想知道,所有这些额外的 SOA 基础设施不会增加延迟吗?
4) 我听说过一些 SOA 基础架构,例如 Apache ServiceMix 和 Mule ESB,我猜它们是开源的,而还有其他许可的解决方案,例如 Oracle SOA 套件和 IBM DataPower。它们都一样好还是有最好的选择?我还想知道 ESB/Service Bus 是否是每个 SOA 基础架构的一部分,还是有什么不同?
5) 作为 Web 服务和 SOA 布道者,您还有什么其他建议/技巧可以让我考虑吗?
6) Spring-Integration 是否为 SOA 提供任何方法?你能告诉我一些例子吗?
【问题讨论】:
-
如果您将感兴趣的内容缩小为可以产生答案的问题,而不是促进讨论的问题,您可能会获得更多帮助。 SO 不是一个讨论论坛,它专注于问答形式。
-
感谢 Pedantic,我会这样做的!
-
我会给你一个赞成票,它是一个广泛开放的话题,可以进行一些讨论,但这不是适合它的论坛。试试programmers.stackexchange.com 以获得更好的帮助来缩小您的主题范围,但恐怕其中很多主题仍然过于宽泛,即使在那儿也不可能。
-
无论如何,我从整个“SaaS”嗡嗡声中得出的结论是——如果您希望启动一个提供 SOAP 或 REST 服务的服务,那么身份验证/授权和治理是关键。我不想承认这一点,但一些大数据公司(受到很多抨击)做得对,但实施起来很痛苦。
标签: web-services mule spring-integration soa apache-servicemix