Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。 Web Service是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。可将Web服务视作Web上的组件编程。
特性:开放性,跨平台性,开放性正是Web services的基础
Web Service平台主要涉及的技术有:SOAP、WSDL、UDDI。
SOAP:简单对象访问协议
(SOAP:Simple Object Access Protocol)
SOAP:简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
SOAP 包括四个部分:
SOAP 封装:它定义了一个框架 , 该框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的。
SOAP 编码规则:它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例。
SOAP RPC 表示:它定义了用于表示远程过程调用和应答的协定。
SOAP 绑定:定义了一种使用底层传输协议来完成在节点间交换SOAP封装的约定。
WSDL:Web Service 描述语言
Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。
UDDI:统一描述、发现和集成
Universal Description Discovery and Integration的缩写,是一套信息注册规范,其特点是基于Web,且支持分布式。
程序开发人员通过UDDI机制查找分布在互联网上的Web Service,在获取其WSDL文件后,就可以在自己的程序中以SOAP调用的格式请求相应的服务。
作用: 用来说明一个Web服务的一些信息类型,以便帮助服务的请求者确定如下问题: WHO,WHAT,WHERE,HOW .UDDI定义如何查找 Web 服务(及其 WSDL 文件)。UDDI 并不像 WSDL 和 SOAP 一样深入人心,因为很多时候,使用者知道 Web 服务的位置(通常位于公司的企业内部网中)。
XML与SOAP
SOAP最新版本为1.2,是2007年4月W3C组织发布的。
SOAP所使用的元素都在http://www.w3.org/2003/05/soap-envelope命名空间下。
SOAP消息结构,包含以下3个主要元素:
<Envelope.../>:必需元素,SOAP消息对应的XML文档,以该元素为根元素。
<Header.../>:可选元素,包含SOAP消息的头消息。
<Body.../>:必需元素,包含所有的调用和响应信息。
<header.../>
<header.../>元素提供了一种机制用于扩展SOAP信息。
<header.../>有3个属性:role、mustUnderstand、encodingStyle。
role:用于指定将<header.../>元素寻址到一个或多个特定的节点。其可选属性值有:none、next、ultimateReceiver。
mustUnderstand:该header block是否为必需的。
encodingStyle:该属性信息项为一系列SOAP信息指出了编码规则。
每一个属于SOAP信息的子元素信息项被称为header block。
<body.../>
<body.../>提供了一种机制用于传输信息到一个最终的SOAP接收器。
<body.../>元素里的内容应该满足WSDL文档所规范的约束。
<Fault.../>
<Fault.../>用于处理SOAP信息内部的错误和状态信息。
其可选子元素有:
<Code.../>
<Reason.../>
<Node.../>
<Role.../>
<Detail.../>
XML与WSDL
WSDL模型充分运用了规范和实现分离的原则,将Web Service的服务器和服务器实现分成两个部分定义。
服务器接口: