Web服务 - 它们究竟是什么?

时间:2013-07-04 19:04:59

标签: web-services rest soap web soa

Web服务的真正含义是什么?我不是在寻找理论上的解释,我正在寻找一些实用的东西。

我认为我可以从外部客户端调用的任何东西都是Web服务,因此返回JSON数据的基本PHP可以是Web服务。

但后来我开始阅读W3Schools.org中的Web服务,我感到很困惑。如果返回JSON数据的PHP URL是Web服务,为什么我需要执行SOAP,WDSL等来创建Web服务。这不是额外的工作吗?

此外,如果SOAP是来回发送数据的方式,那么其他传输类型呢?

RESTful Web服务与基于SOAP的Web服务有何区别?

2 个答案:

答案 0 :(得分:8)

当你谈论网络服务时,人们通常会误解它意味着什么,网络服务只是一种在a和b之间进行交互的方式,它抽象了本地技术标准的使用。 WSDL定义了通过通道发送SOAP消息的方式。 REST使用JSON over HTTP,WSDL使用SOAP over HTTP。

Web服务的优点是,假设您在.net中开发了一段代码,并且您希望使用JAVA来使用此代码。您可以直接与抽象层交互,并且不知道用于开发代码的技术。

SOA是一组设计范例和标准,告诉您如何开发服务,在SOA中,每个服务都要符合下面列出的原则。 WSDL通常与SOA解决方案相关联但不是必需的。如果您想了解SOA google" Thomas Erl SOA"。

SOA的原则

  • 标准化服务合同
  • 服务松耦合
  • 服务抽象
  • 服务可重用性
  • 服务自治
  • 服务无国籍
  • 服务可发现性
  • 服务可组合性

答案 1 :(得分:0)

这个Q& A Restful vs Other Web Services为网络服务器以及与SOAP和REST的差异带来了很多启示。我建议阅读所有答案(其中许多都非常好)。