我知道这是一个老问题,肯定已经被回答了数百次,但我还无法找到令人满意的答案。
我正在创建一个应用程序,其他应用程序(移动/网络)将使用该应用程序来获取数据。现在我有两个选择:
- 将我的应用程序创建为简单的 Web 应用程序。
- 创建网络服务。
Web 服务看起来更复杂,任何客户端都将以指定格式(SOAP/REST)提供数据,而我的应用程序将解析请求并返回客户端请求的数据。如何使用数据不是我的应用程序的问题。
我的问题是,通过一个简单的 Web 应用程序接受 XML 格式的请求并使用 XML 响应进行响应也可以实现同样的目的。直觉是,网络服务将是这种服务的更好方式,因为我们不确定谁会使用它。但是,与简单的 Web 应用程序相比,使用 Web 服务有什么具体优势吗?
最佳答案
如果我们考虑术语,我认为这是这里的主要问题。
Web 服务是指通过某种 Web 接口(interface)提供任何格式(XML/JSON 等)数据的软件。该接口(interface)可以称为API(应用程序编程接口(interface))。 REST 和 SOAP 是设计 API 的方法。
应用程序是使用网络服务提供的 API 的软件。
换句话说,Web 服务是“服务器”,应用程序是“客户端”。通常服务器为机器服务,客户端为用户服务。
因此,无论您选择以何种方式构建系统,我都会将提供数据的部分称为“Web 服务”,将使用数据的部分称为“应用程序”(或“Web 应用程序”,如果是这样的话)。
听起来,在您的例子中,您正在构建一个为多个应用程序提供 XML 格式数据的 Web 服务。所以我的答案是:构建您已经构建的东西并将其称为网络服务。
关于web-services - Web 服务与 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9111243/