检查一下 http://en.wikipedia.org/wiki/Web_service
正如所提到的链接那样,Web API是Web服务中的一种开发,很可能与Web 2.0相关,而基于SOAP的服务则被基于REST的通信所取代。请注意,REST服务不需要XML,SOAP或WSDL服务API定义,因此这与传统Web服务有很大不同。
基本上,webservice是两台机器之间的通信方法,而API是一个暴露层,允许您对某些东西进行编程。
您可以拥有一个API,与该API交互的主要方法是通过Web服务。
技术定义(由维基百科提供)是:
应用程序编程接口(API)是由库和/或操作系统服务提供的一组例程,数据结构,对象类和/或协议,以便支持应用程序的构建。
W3C将Web服务(也称为Web服务)定义为“旨在支持通过网络进行可互操作的机器到机器交互的软件系统”
API是基于代码的集成,而Web服务是基于消息的集成,其中可互操作的标准具有诸如WSDL之类的契约。
API(应用程序编程接口)是第三方编写与其他代码交互的代码的手段。 Web服务是一种API,几乎总是通过HTTP运行(尽管有些像SOAP一样,可以使用备用传输,如SMTP)。该 官方W3C定义 提到Web服务不一定使用HTTP,但几乎总是如此,除非另有说明,否则通常会假设。
有关Web服务的示例,请参阅 肥皂 , 休息 ,和 XML-RPC 。有关另一种API的示例,一种用C语言编写以便在本地计算机上使用,请参阅 Linux内核API 。
就协议而言,Web服务API几乎总是使用HTTP(因此是Web部分),并且肯定涉及通过网络进行通信。 API通常可以使用他们希望的任何通信方式。例如,Linux内核API使用 中断 从用户空间调用包含其API的系统调用。
将Web服务视为Web api。 API现在是一个通用术语,因此Web服务是功能的接口,通常与业务相关,您可以通过各种协议从网络获取。
API(应用程序编程接口),完整的表单本身表明它是一个接口,允许您在某些其他应用程序接口的帮助或支持下为您的应用程序编程,该接口公开了对您的应用程序有用的某种功能。
例如,显示您网站上更新的货币汇率需要一些第三方界面进行编程,除非您计划拥有自己的货币汇率数据库并定期更新。这组功能在其他人已经可用时,当他们想与其他人共享时,他们必须有一个端点与其他对此类交互感兴趣的人进行通信,以便他们通过网络在网上部署它。服务。这个终点只是他们的应用程序的接口,你可以编程,因此API。
在一般意义上,Web服务 的 IS 强> HTTP上的API。它们通常使用JSON或XML,但也有一些其他方法。
另一个例子:谷歌地图api与谷歌方向api网络服务,而前者服务(传递)javascript文件到网站(然后可以用作api来创建新功能),后者是提供数据的Rest网络服务(以json或xml格式),可以处理(但不能在api意义上使用)。
API是一个已发布的接口,它定义了组件A如何与组件B通信。
例如,Doubleclick具有已发布的Java API,允许用户查询数据库表以获取有关其在线广告活动的信息。
例如调用GetNumberClicks(用户名)
要实现API,您必须将Doubleclick .jar文件添加到类路径中。电话是本地的。
Web服务是API的一种形式,其中接口是通过WSDL定义的。这允许通过HTTP远程调用接口。
如果Doubleclick将其接口实现为Web服务,他们将使用在Tomcat中运行的Axis2之类的东西。
远程用户将调用Web服务
例如调用GetNumberClicksWebService(用户名)
并且GetNumberClicksWebService服务将在本地调用GetNumberClicks。