【发布时间】:2012-05-23 19:33:21
【问题描述】:
让我们有一个示例场景:
客户端打开一个网站并找到他从文本框中输入的两个数字的总和。然后单击“添加”按钮。两个参数被 HTTP GET'ed 到编写 PHP 代码以添加数字的服务器,结果是回声。
基于这个场景,任何人都可以解释 Web 服务和应用程序之间的区别吗?
【问题讨论】:
标签: web-services web-applications terminology
让我们有一个示例场景:
客户端打开一个网站并找到他从文本框中输入的两个数字的总和。然后单击“添加”按钮。两个参数被 HTTP GET'ed 到编写 PHP 代码以添加数字的服务器,结果是回声。
基于这个场景,任何人都可以解释 Web 服务和应用程序之间的区别吗?
【问题讨论】:
标签: web-services web-applications terminology
在你的情况下,如果你有提供两个数字然后得到结果的用户界面,它应该被称为 web 应用程序。但是如果你有一个 API 暴露来接收两个数字并通过 http 返回结果,那么它应该被称为 Web 服务。
在底层,Web 应用程序和 Web 服务是一回事。但主要的一点是,Web 服务用于机器/程序到机器/程序的通信,而 Web 应用程序用于用户。
【讨论】:
我想说的是,Web 应用程序是为用户设计的,而 Web 服务是为其他应用程序设计的。这是最重要的区别。 Web 应用程序通常以 HTML 格式呈现数据,这对用户来说看起来不错,而 Web 服务通常以 XML 格式呈现数据,以便其他应用程序解析。
【讨论】:
一个人开车。那辆车可以由内燃机、电动机或核反应堆提供动力。不过,电源对驾驶员来说并不重要,因为他们只需要看到控制装置和前方的道路。
应用程序是汽车。 Web 服务就是核反应堆。
【讨论】:
要添加 2 个数字,我们编写一个 Web 服务,要减去,我们编写一个不同的 Web 服务,但是计算器是一个 Web 应用程序,它结合使用了加法、减法和许多其他 Web 服务。
【讨论】:
让我们以 Google 搜索为例。 我们可以通过两种方式使用 Google 搜索。首先,我们可以访问http://www.google.com并提出查询进行搜索。谷歌返回结果。其次,我们可以将 Google 搜索与自定义搜索 API 集成到我们的网站中。
在第一个例子中,Google 搜索充当网络应用程序,而在第二个例子中,它充当网络服务。
在这里我们可以指出一些不同之处,
【讨论】:
webservice 相当于 java 中的一个方法,它有一个 web 包装器。它存在于服务器上,可以发送数据/查询等,并且可能会或可能不会返回结果。它没有任何前端,只能通过http get、put、delete等方式访问。
Web 应用程序是一个功能齐全的软件,它存在于旨在帮助人们完成任务的服务器上。这将有一个前端,允许用户与之交互/输入数据等。
一个网络应用程序可以使用多个网络服务来实现其目标/最终结果
【讨论】:
Web 应用程序和 Web 服务之间几乎没有区别。
Web 应用程序:在 Web 应用程序中,当用户请求任何数据时,服务器会将响应嵌入到一些 HTML 中并将其转发给用户,然后在浏览器上呈现 HTML。
而在 Web 服务中,它的做法有所不同,当某些用户请求某些数据时,服务器会返回一个 json 或 XML 对象数组,并且数据可以按 Web 设计人员想要的任何方式显示。
谢谢 希望它能解决问题。
【讨论】:
Web服务用于应用程序消费,通过Web应用程序调用 要与 web 服务通信,数据应作为 SOAP 消息或 REST 发送,即 XML over HTTP
大多数情况下,Web 服务不是应用程序的一部分,因为它是为了方便其他 Web 应用程序使用,而不是供最终用户直接使用
Web 应用程序是由 GUI 直接调用的供人类消费的,它可能使用也可能不使用 Web 服务来提供响应
【讨论】: