Web服务和API有什么区别?区别是否超过用于传输数据的协议?谢谢。
Web服务和API有什么区别?区别是否超过用于传输数据的协议?谢谢。
Answers:
API(应用程序编程接口)是第三方用来编写与其他代码接口的代码的方法。Web服务是一种API,几乎总是通过HTTP运行(尽管像SOAP这样的某些服务可以使用诸如SMTP的替代传输)。该官方W3C定义中提到,Web服务不一定使用HTTP,但是这是几乎总是如此,通常认为,除非另有提及。
有关特定于Web服务的示例,请参见SOAP,REST和XML-RPC。有关另一种API的示例(使用C语言编写,供在本地计算机上使用),请参见Linux Kernel API。
就协议而言,Web服务API几乎总是使用HTTP(因此是Web部分),并且肯定涉及网络通信。API通常可以使用他们希望的任何通信方式。例如,Linux内核API使用中断来调用构成其API的系统调用,以用于来自用户空间的调用。
基本上,Web服务是一种在两台机器之间进行通信的方法,而API是一种暴露层,允许您针对某些内容进行编程。
您可能会拥有一个API,并且与该API进行交互的主要方法是通过网络服务。
技术定义(由Wikipedia提供)是:
应用程序编程接口(API)是由库和/或操作系统服务提供的一组例程,数据结构,对象类和/或协议,以支持应用程序的构建。
W3C将Web服务(也称为Web Service)定义为“旨在支持可互操作的机器对机器交互的软件系统”
API是已发布的接口,用于定义组件A与组件B的通信方式。
例如,Doubleclick具有已发布的Java API,该API使用户可以查询数据库表以获取有关其在线广告活动的信息。
例如,调用GetNumberClicks(用户名)
要实现API,您必须将Doubleclick .jar文件添加到您的类路径中。该呼叫是本地电话。
Web服务是一种API形式,其中接口是通过WSDL定义的。这允许通过HTTP远程调用接口。
如果Doubleclick将其接口实现为Web服务,则他们将使用Tomcat中运行的Axis2之类的东西。
远程用户将调用Web服务
例如,调用GetNumberClicksWebService(用户名)
并且GetNumberClicksWebService服务将在本地调用GetNumberClicks。
API(应用程序编程接口),完整的形式本身表明它是一个接口,该接口使您可以在一些其他应用程序接口的帮助或支持下为您的应用程序编程,该接口公开了一些对您的应用程序有用的功能。
例如,在您的网站上显示更新的货币汇率将需要一些第三方接口来进行编程,除非您计划拥有自己的数据库,其中包含货币汇率和定期的汇率更新。这套功能在其他人已经可以使用时,并且当他们想与其他人共享时,必须有一个端点才能与对这种交互感兴趣的其他人进行通信,以便他们通过网络将其部署在网络上。服务。终点不过是其应用程序的接口,您可以针对API进行编程。
将Web服务视为一个Web API。API现在是一个通用术语,因此Web服务是功能(通常与业务相关)的接口,您可以通过各种协议从网络上获得该功能。
检查此http://en.wikipedia.org/wiki/Web_service
正如链接所提到的,Web API是Web服务中最有可能与Web 2.0相关的开发,而基于SOAP的通信被基于REST的通信所替代。请注意,REST服务不需要XML,SOAP或WSDL服务API定义,因此与传统的Web服务有很大不同。