29

刚开始使用网络服务,如果我的问题听起来很愚蠢,请原谅我。

为什么我们需要网络服务?它们与普通的 Web 应用程序有何不同?

许多教程中都提到了两种用途。一是不同机器/应用程序之间的通信,听起来不错。但下一步是开发可重用的应用程序组件。我的问题是,我们是否需要为此目的使用 Web 服务?

例如:货币转换器可以实现为 Web 服务,并且可以在 url 上发布。但是,同样可以创建为 Web 应用程序。使用 Web 服务的实际优势在哪里?

此外,根据 SO 中的一些帖子,如果不涉及 UI,则应使用 Web 服务,如果需要 gui,则应使用 Web 应用程序。选择就这么简单吗?

注意:这里我指的是基于 SOAP 的 Web 服务。RESTful 可能会有所不同。

4

4 回答 4

9

Web 服务(尤其是 SOAP)旨在供其他程序使用/读取/使用。如果您曾经编写过“屏幕抓取”程序(即,操作一个 Web 应用程序并从所有使页面美观且对用户友好的粘性物中挑选出您需要的数据),您会喜欢这种结构。

此外,根据 SO 中的一些帖子,如果不涉及 UI,则应使用 Web 服务,如果需要 gui,则应使用 Web 应用程序。选择就这么简单吗?

简而言之,“是”。

于 2012-09-04T20:37:42.023 回答
9

使用 有很多优点web services。与常规应用程序相比,主要优势http在于它使用SOAP更高效且带宽成本更低的消息传递。

另一个优点是服务传输、XML消息传递、服务描述和服务发现层使用标准协议,这使得开发人员可以轻松地开发功能而无需考虑编程语言。

假设您是服务提供商,比如天气预报。为什么要让开发人员访问您websitescrap页面,然后提取他们需要的数据?web service开发人员可以传入一个日期并返回一个xml包含他们需要的所有信息的定义明确的文档,这样开发它不是更容易吗?所有类型的案件都会发生同样的情况......

于 2012-09-04T20:38:43.333 回答
7

资料来源:为什么选择 Web 服务?

  • 将现有功能公开到网络上:

Web 服务是可以使用 HTTP 远程调用的托管代码单元,即可以使用 HTTP 请求激活它。因此,Web 服务允许您通过网络公开现有代码的功能。一旦它暴露在网络上,其他应用程序就可以使用您的程序的功能。

  • 连接不同的应用程序,即互操作性:

Web 服务允许不同的应用程序相互通信并在它们之间共享数据和服务。其他应用程序也可以使用 Web 服务的服务。例如 VB 或 .NET 应用程序可以与 java web 服务通信,反之亦然。因此,Web 服务被用来使应用平台和技术独立。

  • 标准化协议:

Web 服务使用标准化的行业标准协议进行通信。所有四个层(服务传输、XML 消息传递、服务描述和服务发现层)都使用 Web 服务协议栈中定义良好的协议。协议栈的这种标准化为企业带来了许多优势,例如选择范围广、竞争成本降低和质量提高。

  • 通信成本低:

Web 服务使用 SOAP over HTTP 协议进行通信,因此您可以使用现有的低成本 Internet 来实现 Web 服务。与 EDI/B2B 等专有解决方案相比,该解决方案的成本要低得多。除了 HTTP 上的 SOAP,Web 服务还可以在其他可靠的传输机制上实现,例如 FTP 等。

于 2014-10-14T05:42:58.730 回答
0
  1. 它通过删除后端和 UI 代码的依赖关系(如 JSP 和 JSF),在 UI 和后端代码之间提供模块化。

  2. 通信效率更高,带宽成本更低。我们仅使用 xml 和 json 格式共享所需的数据。

  3. 现在,一天的应用程序被其他各种设备(如移动 PDA)使用,而且,我们为大多数应用程序提供了移动应用程序。因此,在这种情况下,如果我们使用 Web 服务,那么我们不需要以不同的方式实现应用程序,只需为不同的设备和移动应用程序开发 UI 并调用所需的服务。

于 2019-09-09T09:38:01.780 回答