2012-06-07 136 views
4

我想了解一些要点:SOA和Web服务和ESB

  1. 是否using- SOA意味着我使用Web服务? (或副诗?)

  2. 如果我在CXF中使用Web服务,是否需要ESB?在具有Web服务的体系结构中,像MULE这样的ESB有哪些优点?

  3. 如果我用Java发布我的Web服务,这是否意味着拥有我的WSDL的任何客户端都可以使用我的服务,即使他/她使用.NET或Java以外的其他东西? ESB可以处理吗?

回答

4

使用SOA是否意味着我正在使用Web服务? (或者反之呢?) - SOA是一个概念,Web服务是SOA的实现。可以有很多方法来实现它,但最常见的是Web服务。

  • 如果我在CXF中使用Web服务,是否需要ESB?在具有Web服务的体系结构中,像MULE这样的ESB有哪些优点?

ESB是您SOA中的一个主要组件。它是主要的集成中心。

以下关系图可以让您更深入地了解SOA和ESB。 (声明:我WSO2工作,这是为您提供有关SOA和ESB清醒的认识图中的一个)

http://4.bp.blogspot.com/_yO8q3CIhuZs/S-Zq88vkJlI/AAAAAAAAAak/QAJeDVXVL_4/s1600/wso1.png

  • ,如果我在Java中发表我的Web服务,这是否意味着任何客户端谁拥有我的WSDL可以使用我的服务,即使他/她使用.NET或Java以外的其他东西? ESB可以处理吗?

如果您在谈论Web服务,那意味着它们独立于编程语言。当然,ESB可以处理它,它可以处理许多其他协议,因为它是集成中心。

+0

我使用这种架构:hibernate + spring + jsf + cxf for web services,我们可以说我遵循SOA的概念吗? – Youssef

+0

这取决于你用这些技术做什么:)。坦率地说,为了获得SOA的真正优势,你必须使用SOA堆栈,而不是一组不适合的多种技术。 –

2

遗憾的是,只有使用特定的技术是不是一个具体的证据表明你在做SOA,如由Kasun Indrasiri其他回应称,SOA是一个概念,一个技术,可以使用不同的实现来自不同厂商的工具。

如果您正在设计遵循SOA Principles的服务,即使您正在使用的工具没有其他现代平台中的所有功能,您也可能会进行SOA。

在我看来,如果您的公司没有数百万美元的预算花在软件许可上,您仍然可以从使用当前工具的SOA中受益。