WebService三要素 SOAP(Simple Object Access Protocol) 用来描述传递信息的格式; WSDL (Web Services Description Language) 用来描述如何访问具体的接口; UDDI(Universal DescriptionDiscovery and Integration) 用来管理
WebService三要素
SOAP(Simple Object Access Protocol) 用来描述传递信息的格式;
WSDL(Web Services Description Language) 用来描述如何访问具体的接口;
UDDI(Universal DescriptionDiscovery and Integration) 用来管理,分发,查询webService 。
SOAP
简单对象访问协议,是交换数据的一种协议规范,是一种轻量级的、简单的、基于XML的协议,被设计成在Web上交换结构化的和固化的信息。 soap是用来描述传递消息的格式。SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。soap封装
定义了一个框架,该框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的。soap编码规则
定义了一种序列化机制,用于表示应用程序需要使用的数据类型的实例。soap RPC
定义了一个协定,用来表示远程过程调用和应答。soap 绑定
定义了soap使用哪种协议交换信息,使用HTTP/TCP/UDP协议都可以。
语法规则
一条soap消息就是一个普通的XML文档,应当包含下列元素:
- 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
- 可选的 Header 元素,包含头部信息
- 必需的 Body 元素,包含所有的调用和响应信息
- 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
- SOAP 消息必须用 XML 来编码
- SOAP 消息必须使用 SOAP Envelope 命名空间
- SOAP 消息必须使用 SOAP Encoding 命名空间
- SOAP 消息不能包含 DTD 引用
- SOAP 消息不能包含 XML 处理指令
优点
- 可扩展,无需中断已有应用程序,soap客户端、服务器和协议自身都能发展。
- 简单,消息是以XML格式并且封装成符合HTTP协议的消息。
- 与厂商无关,独立实现。
- 与编码语言无关,只要发送正确soap请求,可以使用任何语言来完成。
- 与平台无关,在任何操作系统中无序改动正常运行。
WSDL
WebServicesDescriptionLanguage,网络服务描述语言,是Web Service的描述语言,包含一系列描述某个Web Service的定义,是用来描述如何访问具体的接口。
元素
Type: 数据类型定义的容器,使用某种类型系统
Message:通信数据的抽象类型化定义,由一个或多个part组成
Part: 消息参数
Operation(操作): 对服务所支持的操作进行抽象描述。 Port Type(端口类型):特定端口类型的具体协议和数据格式规范。 Binding: 特定端口类型的具体协议和数据格式规范。 Port: 定义为绑定和网络地址组合的单个端点。 Service: 相关端口的集合,包括其关联的接口、操作、消息等。消息交换方式
1)单向(One-way):服务端接收消息; 2)请求响应(Request-response):服务端点接收请求消息,然后发送响应消息; 3)要求应答(Solicit-response):服务访问端发送要求消息,然后接收应答消息。 4)通知(Notification):服务访问端点发送通知消息。UDDI
Universal Description Discovery and Integration,通用描述、发现与集成服务,是一种目录服务,企业可以使用它对Web Service进行注册和搜索。UDDI是一种规范,它主要提供基于Web服务的注册和发现机制,为Web服务提供三个重要的技术支持:标准、透明、专门描述Web服务的机制;调用Web服务的机制;可以访问的Web服务注册中心。
程序开发人员通过UDDI机制查找分布在互联网上的Web Service,在获取其WSDL文件后,就可以在自己的程序中以SOAP调用的格式请求相应的服务了。
UDDI是用来管理,分发,查询Web Service。
解决的问题
- 使得在成百万当前在线的企业中发现正确的企业成为可能
- 定义一旦首选的企业被发现后如何启动商业
- 扩展新客户并增加对客户的访问
- 扩展销售并延伸市场范围
- 满足用户驱动的需要,为在全球 Internet 经济中快速合作的促进来清除障碍