Web服务是一组集自包含、自描述、模块化的应用程序,是可以在网络中被描述、发布、查找以及调用的面向服务的分布式计算模式。
学术界从不同的侧面出发有不同的定义,其中比较有代表性的定义有:
(1) 从提供服务的角度,Web服务是一组集自包含、自描述、模块化的应用程序,是可以在网络中被描述、发布、查找以及调用的面向服务的分布式计算模式。
(2) 从功能的角度,Web服务是基于网络的分布式的模块化组件,它执行特定的任务,如:Web上的链接文档的浏览、事务的自动调用、服务的动态发现和发布,遵守具体的技术规范,这些规范使得Web服务能与其他兼容的组件进行互操作。
(3) 从商业应用的角度,Web服务指由企业发布的在线应用服务,这个服务用来完成企业的特别商务要求,其他公司或应用软件能通过Internet来访问并使用这项应用服务。
(4) 从技术开发的角度,Web服务是一组存在于服务器上的应用程序,这组程序被封装成一个黑匣子,向web客户端提供API接口,当客户端需要该服务时可以通过编程调用API接口,结果返回给客户端。
体系结构
服务提供者:
一个可通过网络寻址的实体,它接受和执行来自使用者的请求。
它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务。
服务使用者:
一个应用程序、一个软件模块或需要一个服务的另一个服务。
它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。
服务使用者根据接口契约来执行服务。
服务注册中心:
服务发现的支持者;
它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。
面向服务的体系结构中的每个实体都扮演着服务提供者、使用者和注册中心这三种角色中的某一种(或多种)。
面向服务的体系结构中的操作包括:
发布(Publish):为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。
发现(Find):服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。
绑定(Bind)和调用(invoke):在检索到服务描述之后,服务使用者继续根据服务描述中的信息来调用服务。
为了实现这个模型,Web Services使用了一系列协议,这些协议组成了如图2所示的协议栈Ⅲ。首先,
服务提供者所能提供的服务接口用WSDL和WSFL描
述出来,然后使用UDDI在服务中介者处将这些服务接口进行注册;服务中介者则使用UDDI注册这些服务接
El,并接受服务请求者的查询;服务请求者通过使用
UDDI在服务中介者处查询,得到所需的服务接13的描
述文件,然后绑定到这些服务,最终完成调用。参与者
之间的三种操作都采用SOAP(Simple Obled Access
Protoco1)完成。
Web Services三个重要组成部分:
1、 Web 服务描述性语言:WSDL。
2、简单对象访问协议SOAP,它是基于XML的通信协议
3、统一描述、发现和集成:UDDI
web服务协议栈要以一种可互操作的方式执行发布、发现和绑定这三个操作,必须有一个包含每一层标准的Web服务协议栈。在Web服务协议栈中,简单对象访问协议(SOAP) 和Web服务描述语言(WSDL)扮演了相当重要的角色。图1·2展示了一个概念性Web服务协议栈。上面的几层建立在下面几层提供的功能之上。
web服务器
WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。
(1)应用层使用HTTP协议。
(2)HTML文档格式。
(3)浏览器统一资源定位器(URL)。
使用最多的 web server 服务器软件 有两个:微软的信息服务器(iis),和Apache。