Web服务快速入门

来源:互联网 发布:立秋网络怎么获得学时 编辑:程序博客网 时间:2024/06/05 08:29

web服务包含服务和客户端,客户端也被称为消费者或请求者。顾名思义,Web服务是网络化的应用程序,该应用程序通常通过HTTP协议进行传输,HTTPS是在HTTP之上加了一个安全层,因此HTTPS传递的服务也是一种Web服务。

Web服务可以使用多种语言来编程。发布Web服务的典型方式是Web服务器,客户端通过网络访问服务器,这种访问通常通过HTTP进行。Web服务可以理解成一种分布式的软件系统,其组件可以在不同的物理设备上部署和执行(注:web服务理解成分布式软件,部署在多个机器上,这些主机包括服务器和多个客户端,这些机器使得Web服务顺利运行,故Web服务是一个分布式软件)。

对于通过HTTP交付的Web服务,HTTP消息是基础设施,这些HTTP消息可以被组合成描述Web服务特征的基本会话模式。会话模式有四种:请求/响应,要求/响应,单向,通知。Web服务主要还是请求/响应模式。

Web服务有两种流行的风格:基于SOAP的服务和基于REST式的服务。SOAP是一种XML语言,其语法指定了一个SOAP文档必须具备的结构。在一个典型的基于SOAP的服务中,客户端向服务发送SOAP消息,且服务采用同样的方法使用SOAP消息响应。Web服务的REST式方法可以被看做是用来应对SOAP的复杂性的。基于SOAP的服务被设计为传输中立,因此,如果使用HTTP传输,SOAP可能显得过于复杂。

1. Web服务杂项

除了在测试情况下,Web服务的客户端很少是网页浏览器,通常是一个没有图形界面的应用程序。客户端可以使用任何具有适当支持库的语言编写。事实上,Web服务的主要魅力是语言透明:客户端不必用同一种语言编写。尽管采用不同的语言,支持库,操作系统,硬件平台,Web服务和消费者之间都可以无缝交互。

用java编写一个Web服务,可以有Python的客户端,那么必须存在一个中间层处理服务。XML技术可以作为这样一个中间层,因为它支持结构化的文档交换和处理。另一个中间层是JSON。XML和JSON都是数据交换格式。JavaScript在Web服务中的应用越来越多,JSON也越来越流行,JSON流行还有一个原因是其标记较少,易读。

2. Web服务和面向服务的架构

虽然Web服务与SOA(面向服务的体系结构)相关,但却是不同的。SOA和REST一样,更多是一种架构风格,是一种思维方式,并没有精确定义分布式系统的设计与实现规则。Web服务为SOA系统的核心提供了服务。SOA的思路是:整合可通过网络服务产生应用程序,且该应用是可互操作的,因为每个服务都明确规定了封装在服务中的操作接口。对于每个操作,接口指定传递给服务操作的参数和返回值。服务接口主要就是发布封装在每个服务中的操作的调用语法。SOA最大的魅力在于,即使是复杂的大型系统,其基石也只是结构简单的组件,这使得系统容易测试拓展和维护。

SOA系统中,构成组件的服务可以被描述成无关联和松散耦合的。各个服务相互独立,他们不需要知道其他组件内部结构的任何东西,作为一个分布式系统的组件一起工作。在SOA的许多讨论中,系统的模块性是一个持久的主题。

在执行层面上,服务操作其实就是一个函数调用:该函数接受零个或多个参数,并返回零个或多个值。

Web服务非常适合作为SOA系统中的组件。即Web服务应该由一些操作组成,其中每一个操作都被实现为一个无状态的函数调用(无状态的函数指的是返回值仅依赖与参数值的函数)。在面向对象的语言中,Web服务通常是一个类,其中包含的实例方法作为服务操作。在SOA环境中,区分Web服务提供者和消费者是很常见的,提供者提供服务功能,消费者是发出请求的客户端。



0 0
原创粉丝点击