SOA最常用的技术是什么?

时间:2010-09-16 01:37:31

标签: rest soap soa

我正在研究SOA概念,并找出了这些技术(我应该这样称呼它?)SOAP和REST(只有这些)。我想知道是否有任何其他技术(?)在这种情况下共存,它们代表什么。他们在某事上更好吗?有很多人使用它们吗?等等谢谢(:

3 个答案:

答案 0 :(得分:5)

将SOA架构与SOAP,REST和架构的其他实现分开是很重要的。

您可以在任何支持请求和响应消息的技术之上实现SOA架构。

SOA架构的核心特征是: -

  • 客户端发送简单的请求消息。
  • 服务器使用单个回复消息进行回复。
  • 服务接口已明确定义并“广告”给客户。即,客户可以向服务器查询所支持的服务以及这些服务的接口是什么。
  • 没有数据复制,也没有本地存储。如果客户想知道Widget然后查询Widget服务,则客户端不保留任何Widget数据。同样,如果客户想要更新Widget的详细信息,它会向Widget服务发送更新请求。
  • 同步,异步和批处理接口都可以接受。

作为架构的关键优势是: -

  • 服务器与其客户端之间的唯一联系是“接口”。客户端绝对不需要知道服务器实现,同样服务器也不关心客户端的实现方式。
  • 数据由服务拥有和管理,仅由服务拥有和管理。这消除了同步,复制问题,并将双重更新的可能性降低到几乎为零。
  • 结果架构的绝对简单性可以带来很大的灵活性。
  • 结果架构的绝对简单性使得系统非常可靠。

然而,正如你在现实世界中得出的结论,主要是使用SOAP和REST。当人们说SOAP时,他们通常会引用WS- *系列标准和协议 - > WSDL(Web服务定义语言),WSM(Web服务消息传递),WS-Security等等,它们使用SOAP作为传输机构。

虽然REST具有简单的优点,而且WS *非常复杂且难以实现,但我建议将WS *方法用于任何相当大的系统。 WS *标准不仅支持简单的请求/响应,还支持除http(JMS,文件等)之外的异步消息和传输,更重要的是,WS安全标准很好,并支持安全业务到商务通信。

答案 1 :(得分:3)

首先,请阅读:http://www.soaspecs.com/ws.php

然后阅读:http://en.wikipedia.org/wiki/Web_service

最终,一切都完全依赖于HTTP。这是核心协议。你要问的是至少两件不同的事情。 XML,JSON或其他东西中的文档(或参数)的编码。转移的语义:不受约束或受HTTP约束。

XMLRPC - http://en.wikipedia.org/wiki/XML-RPC。这演变成了SOAP。消息是XML格式的。语义是一个函数调用。该消息包括方法和参数。

SOAP - http://en.wikipedia.org/wiki/SOAP。消息以XML编码。它类似于XMLRPC,具有更多选项,更复杂的XML和正式的WSDL描述。 http://en.wikipedia.org/wiki/Web_Services_Description_Language

如果您使用JSON而不是XML,那么它就没有好名字了。它是带有JSON的WS或REST。如果它使用XML,它只是SOAP。

有两种一般的架构。 SOAP样式的请求,其中任何动词可以在请求中定义,而REST只有四个动词:POST,GET,UPDATE,DELETE,它们是HTTP请求的方法部分。

REST - http://en.wikipedia.org/wiki/Representational_State_Transfer。您可以使用任何带REST的消息编码。有些人使用XML,有些人使用JSON或YAML。您可以轻松地创建XML和JSON / YAML之外的其他表示。但是,你被限制使用四个规范动词。

答案 2 :(得分:0)

如果你想成为最新的WS标准使用WS *堆栈。