Java API和web服务之间的区别是什么?

Java API和web服务之间的区别是什么?,java,.net,ruby,web-services,api,Java,.net,Ruby,Web Services,Api,据我所知,api和web服务用于从其他网站获取数据 那么他们之间有什么区别呢 任何帮助 编辑 有人能用适当的例子解释一下吗 什么是twitter和facebook api?我们可以说它只是一个函数或web服务来访问它们的数据。API不需要基于web Web服务也可能无法执行一个完整API所期望的所有操作。Web服务只是HTTP衣服中的API。Web服务是通过Internet交付给另一台计算机(而不是人)直接使用的东西 API是一种应用程序编程接口。网站应用程序可能会通过web服务公开API。然而

据我所知,api和web服务用于从其他网站获取数据

那么他们之间有什么区别呢

任何帮助

编辑

有人能用适当的例子解释一下吗


什么是twitter和facebook api?我们可以说它只是一个函数或web服务来访问它们的数据。

API不需要基于web


Web服务也可能无法执行一个完整API所期望的所有操作。

Web服务只是HTTP衣服中的API。

Web服务是通过Internet交付给另一台计算机(而不是人)直接使用的东西

API是一种应用程序编程接口。网站应用程序可能会通过web服务公开API。然而,像Excel或Word这样的桌面应用程序具有与web无关的API(它们具有基于VBA和COM的API)


同样,服务器应用程序(例如Joomla)可能有一个基于PHP的API,该API在服务器内部使用,也就是说,不一定涉及web服务。

可以将web服务视为一种API。但目前,您应该忘记这一点,只需专注于学习API实际上是什么;与软件交互方法的精确定义。有时,这涉及通过网络发送数据,但通常我们谈论的是可以从程序调用的函数

例如,Ruby中有一个名为
FileUtils.rm
的函数。这是API;当您从Ruby脚本调用函数时,它看起来总是一样的。然后是API的实现;这是实际删除文件的代码-在Ruby的每个实现中,它可能看起来完全不同,但您(通常)并不关心这一点,因为您只处理Ruby API。

API(应用程序编程接口)是程序员公开的供其他程序员使用的方法和类的列表,例如,如果你在你的程序中使用Twitter或Facebook API,你可以让它与Twitter和Facebook合作,做很多有用的事情。:-)

公开API的方法有很多(Java中的JAR文件或RMI、.net程序集、COM对象、C/C++中的DLL和.H文件、HTTP上的JSON、HTTP上的XML以及许多自制方法)


Web服务只是公开API的另一种方式,在这种情况下,公开方法的实际执行不是在您的计算机上,而是在Internet上的其他计算机上(在Web上,因此称为“Web服务”)。

查看Web API上的wikipedia条目


这本书写得很好,尽管与其他人的说法基本一致

所有web服务都是API,但并非所有API都是web服务。一个是另一个的子集。

通过internet提供的Web服务。您可以在不实际拥有类的情况下获取信息,也不知道它如何使用http和soap协议工作


API是一种库(类集合),您可以使用其中可用的函数在应用程序中执行某些操作。

通过web公开的API是web服务

  • Web服务是用HTTP包装的API
  • 所有Web服务都是API,但API不是Web服务
  • Web服务可能不会执行API将执行的所有操作
  • Web服务需要网络,而API的操作不需要网络

  • web服务编程语言和API不是web服务作为库的一种体现,以方便使用web服务吗?@Andre-web服务通常是不可知语言的(除非它们使用特定于平台的二进制序列化)但是你也可以用它们来创建一个与语言无关的API,那么Web服务就是API了?(特定于特定服务或应用程序的定义的编程接口)考虑诸如Project Server或SharePoint之类的东西,这允许通过Web服务对它们各自的模型进行完全的控制。作为一个简单的反例,WSDL/SOAP生成器可以获取“web服务”并为其生成“API端点”(围绕所述web服务的包装器,用于访问公开的操作)。