Web Service基础

学习了http://blog.sina.com.cn/s/blog_4c942c31010008ir.html,看完后,抄袭了过来算是保存好,以后如果复习的时候不用重新寻找了

Web Service和Web Services的区别?
Web Service是指使用Web Services而构架出来的Web服务应用实例。
一般,Web Services对应的中文名称是Web服务技术,而Web Service的对应中文名称为Web服务应用实例。

什么是Web Services?
Web Services是指由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过网络来访问并使用这项在线服务。
Web Services是封装成单个实体并发布到网络上供其他应用程序使用的功能集合。Web Services是基于网络分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Services能与其他兼容的组件进

行互操作。

列表介绍Web Services:
1、Web Services是应用程序组件。
2、Web Services使用开放协议进行通信。如http协议
3、Web Services是独立的并可自我描述的(可以独自完成一项功能,并能够描述出其的作用,工作流程等)
4、Web Services可通过UDDI来发现
5、Web Services可被其他应用程序使用。
6、XML是Web Services的基础

Web Services体系有3种组件:
服务提供者:提供服务,进行注册以使服务可用;
服务代理:服务交换所,服务提供者和服务请求者之间的媒体;
服务请求者:向服务代理请求服务,调用这些服务创建应用程序。

Web Services有3种操作及对应的技术:
发布/不发布:提供者向代理发布(注册)服务或不发布(移去)这些服务的注册。UDDI技术
发现:由服务请求者想服务代理执行find操作,服务请求者描述要找的服务,服务代理分发匹配的结果。UDDI技术和WSDL技术的组合
绑定:在服务请求者和服务提供者之间绑定,这两部分协商以使请求者可以访问和调用提供者的服务。WSDL和SOAP的组合。

Web Services平台的元素:
SOAP(简易对象访问协议)
UDDI(通用描述、发现及整合)
WSDL(Web Services描述语言)

SOAP:
SOAP是一种基于XML的不依赖传输协议的表示层协议,用来在应用程序之间方便地以对象的形式交换数据。在SOAP的下层,可以是HTTP/HTTP,也可以是SMTP/POP3,还可以是为一些应用而专门设计的特殊的通信协议。
SOAP以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上,它通过提供一个有标准组建的包模型和在模块中进行数据编码的机制,定义了一个简单的表示应用程序语义的机制,这使SOAP能够用于从消息传递到RPC(远程过程调用协议)的各种系统。
SOAP包括三个部分:
1、SOAP封装结构:定义了一个整体框架,以表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或者是必需的。
2、SOAP编码规则:定义了用以交换应用程序定义的数据类型的实例的一系列机制。
3、SOAP RPC表示:定义了一个用来表示远程过程调用和应答的协定。
在SOAP封装、SOAP编码规则和SOAP RPC协定之外,这个规范还定义了两个协议的绑定,描述了在有或没有HTTP扩展框架的情况下,SOAP消息如何包含在HTTP消息中被传送。

统一描述、发现和集成协议UUDI
UDDI是一套基于web的、分布式的、为web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
UDDI的核心组件是UDDI商业注册,它使用一个XML文档来描述企业及其提供的Web Service。从概念上来说,UDDI商业注册所提供的信息包含三个部分:
1、白页(White Page):包括了地址、联系方法和已知的企业标识。
2、黄页(Yellow Page):包括了基于标准分类法的行业类别。比如说:金融、服务和印刷等。
3、绿页(Green Page):包括了关于该企业所提供的Web Service的技术信息,其形式可能是一些指向文件或URL的指针,而这些文件或URL是为服务发现机制服务的。
所有的UDDI商业注册信息都存储在UDDI商业注册中心。通过使用UDDI的发现服务,企业可以单独注册哪些希望被别的企业发现的自身提供的Web Service。企业可以通过UDDI商业注册中心的Web界面,或使用实现了“UDDI

Programmer's API标准”所描述的编程接口的工具,将信息加入到UDDI的商业注册中心。UDDI商业注册中心在逻辑上是集中的,在物理上是分布式的,由多个根节点组成,相互之间按一定规则进行数据同步。当一个企业在

UDDI商业注册中心的一个实例中实施注册后,其注册信息会被自动复制到其他UDDI根节点,于是就能被任何希望发现这些Web Service的人所发现。

举例子说明:
UDDI可以比喻成电话本,电话本里记录的是电话信息,而UDDI记录的是Web Service信息。你可以不把Web Service注册到UDDI。但如果要让全球的人都知道你的Web Service,最好还是注册到UDDI。

描述语言WSDL
随着通信协议和消息格式在web中的标准化,以某种格式化的方法描述通信变得越来越重要,其实现的可能性也越来越大。用WSDL定义的一套XML语法描述的网络服务方式满足了这种需求。WSDL把网络服务定义成一个能交换消

息的通信端点集。WSDL服务为分布式系统提供了帮助文档,同时该服务也可作为自动实现应用间通信的解决方案。WSDL定义了SOAP消息和这些消息是怎样交换的。
一个WSDL文档将服务定义为一个网络端点的集合,或者端口的集合。在WSDL里,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端

口类型,操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的联接,端口的集合定义为服务。因此,一个WSDL文档在定义网络服务时使用如

下的元素:
1、类型:使用某种类型系统(如XSD)定义数据类型。
2、消息:通信数据抽象的有类型的定义。
3、操作:服务支持的动作的抽象描述。
4、端口类型:一个操作的抽象集合,该操作由一个或多个端点支持。
5、绑定:针对一个特定端口类型的具体的协议规范和数据格式规范。
6、端口:一个单一的端点,定义成一个绑定和一个网络地址的联接。
7、服务:相关的端点的集合。
举例子说明:
你要使用供应商的Web Service构建应用程序。你可以向供应商索取使用Web Service的范例,然后按照范例来构建应用程序。这样可能出现意料不到的错误,比如说,你在程序中使用的客户代码的数据类是Integer,而供应商

使用的数据类型是String。WSDL详细定义客户端消息的格式,需要什么样的参数,这样可以避免不必要的错误。

猜你喜欢

转载自wwh245235482.iteye.com/blog/1911459