刚开始使用网络服务,如果我的问题听起来很愚蠢,请原谅我。
为什么我们需要网络服务?它们与普通的Web应用程序有何不同?
许多教程中都提到了两种用法。一个是不同机器/应用程序之间的通信,听起来不错。但下一个是开发可重用的应用程序组件。我的问题是,我们是否需要为此目的提供网络服务?
对于Eg:货币转换器可以实现为Web服务,并且可以在URL上发布。但是,同样可以创建为Web应用程序。使用网络服务的实际优势在哪里?
另外,根据SO中的一些帖子,如果不涉及UI,则应使用webservices;如果需要gui,则应使用web应用程序。选择那么简单吗?
注意:这里我指的是基于SOAP的Web服务。 RESTful可能会有所不同。
答案 0 :(得分:9)
Web服务(esp SOAP)旨在被其他程序使用/读取/使用。如果您曾经不得不编写一个“屏幕抓取”程序(即,操作Web应用程序并从所有goo中选择所需的数据,使该页面对用户友好且友好),您将会欣赏该结构。
另外,根据SO中的一些帖子,如果不涉及UI,则应使用webservices;如果需要gui,则应使用web应用程序。选择是不是简单?
简而言之,“是”。
答案 1 :(得分:9)
使用web services
有很多好处。与常规http
应用程序相比,它的主要优势在于它使用SOAP
消息传递,这种消息传递效率更高,带宽成本更低。
另一个优点是服务传输,XML
消息传递,服务描述和服务发现层使用标准协议,使开发人员可以轻松开发功能,而不管编程语言如何。
假设您是服务提供商,比如天气预报。为什么要开发人员,转到您的website
,scrap
您的网页,然后提取他们需要的数据?开发人员可以通过web service
开发一个日期并获取包含他们所需信息的明确定义的xml
文档,这不是更容易吗?所有类型的案件也是如此......
答案 2 :(得分:6)
Web服务是托管代码的一个单元,可以使用HTTP远程调用,也就是说,可以使用HTTP请求激活它。因此,Web服务允许您通过网络公开现有代码的功能。一旦它暴露在网络上,其他应用程序就可以使用您程序的功能。
Web服务允许不同的应用程序相互通信并在它们之间共享数据和服务。其他应用程序也可以使用Web服务的服务。例如,VB或.NET应用程序可以与Java Web服务通信,反之亦然。因此,Web服务用于使应用程序平台和技术独立。
Web服务使用标准化的行业标准协议进行通信。所有四个层(服务传输,XML消息传递,服务描述和服务发现层)都使用Web服务协议堆栈中定义良好的协议。协议栈的这种标准化为企业提供了许多优势,例如广泛的选择,由于竞争而降低了成本,并提高了质量。
Web服务使用SOAP over HTTP协议进行通信,因此您可以使用现有的低成本Internet来实现Web服务。与EDI / B2B等专有解决方案相比,此解决方案成本更低。除了SOAP over HTTP之外,Web服务还可以在其他可靠的传输机制上实现,如FTP等。
答案 3 :(得分:0)
它通过消除后端和UI代码的依赖关系(如JSP和JSF)来提供UI和后端代码之间的模块化。
通信效率更高,带宽成本更低。我们仅使用xml和json格式共享必需的数据。
现在一天的应用程序已在其他各种设备(如Mobile PDA)上使用,而且,我们为大多数应用程序提供了移动应用程序。因此,在这种情况下,如果我们使用Web服务,则无需以其他方式实现应用程序,只需为不同的设备和移动应用程序开发UI并调用所需的服务即可。