REST和SOAP都是SOA的实现吗?

11

我有一个关于SOA的问题。

SOAP和REST都被认为是实现面向服务体系结构的方法吗?

我知道REST是一种风格,因此这引发了我的疑问。

4个回答

6

是的,它们都可以被认为是实现SOA的方法。我想你可以说REST是一种风格,但那么你也得说SOAP也是一种风格。我只是认为它们是实现相同目标的不同技术。SOAP模仿了远程过程调用,而REST则符合Web(http)的设计。


5
在创建/调整服务以在SOA架构中工作时,暴露的接口可以是您想要的任何内容,只要消费者能够处理响应即可。
为了给出更简洁的答案,我将REST解释为一个HTTP接口,它可以执行CRUD操作,并可能用XML或JSON对象响应请求。
SOAP倾向于在服务端进行更复杂的操作,SOAP的库和涉及的XML为系统引入了复杂性。
如果您只需要表示可以通过简单的CRUD操作访问的资源,则值得考虑实现REST接口以减少复杂性,即使该服务将与具有SOAP接口的服务并行运行。所需的是服务使用方能够处理RESTful风格的响应以及充当SOAP客户端。
为了提高可维护性和开发便捷性,保持服务之间一致性也有其优点,但这不是必须的,并且应该包括在决策过程中。
在设计中加入消息总线时,插入标准转换(XSLT、自定义)到过程中,可以更有效地处理异构服务,并将服务响应转换为整个系统都能理解的标准格式。

0

如果你只是问它们是否可以使用面向服务的架构来实现 - 是的,它们都可以。它们甚至可以在单个基于SOA的项目中同时使用。

如果你问应该使用SOAP还是REST - 除非你提供了项目规格,否则没有答案。


0

SOAP和REST是构建服务的方式。

SOAP基于XML,在理论上支持不仅仅是HTTP,并具有接口定义(WSDL)和安全性(WS_Security)等标准。

REST是一种以资源为导向的方式进行Web服务的风格,使用一组定义好的Web操作(GET、POST等),但除此之外定义很少。

然而,SOA远不止于一堆服务。选择REST或SOAP只是其中简单的部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接