3.6.3 基于Web Service的网络编程

3.6.3 基于Web Service的网络编程

Web Service是一种面向服务的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作,它是松散耦合的可复用的软件模块,是一个自包含的小程序,采用公认的方式来描述输入和输出,在Internet上发布后,能通过标准的Internet协议在程序中予以访问。它通常包含以下3种用于Web Service的标准。

1.SOAP

简单对象访问协议(SOAP,Simple Object Access Protocol)作为Web服务下层的轻量级可扩展传送协议,用于Web服务的角色间传递消息,或Web服务操作携带消息。SOAP本身并没有规定任何编程模型和应用语义,SOAP是一种规范,用来定义消息的XML格式,可以用多种下层协议(如TCP、HTTP、SMTP甚至POP3)来支持此框架,规范提供一个灵活的框架来定义任意的协议绑定。

2.WSDL

WSDL(Web Services Description Language)是Web服务描述语言,由XML语言实现。WSDL至少需要说明Web服务3个方面的信息:首先,需要说明服务做什么,即服务所提供的操作;其次,定义访问服务的数据格式和必要协议;最后,需要说明特定协议决定的服务网络地址。可以认为WSDL文件是一个XML文档,用于说明一组SOAP消息以及如何交换这些消息。

3.UDDI

UDDI(Universal Description,Discovery,and Integration)称为统一描述、发现和集成服务。UDDI于2000年由Ariba、IBM、Microsoft和其他33家公司创立,可以在全球范围内唯一标识并定义Web服务,UDDI提供了一种访问和发现Web服务的有效机制,定义了Web服务描述与发现的标准规范。应用程序可由此规范在设计或运行时找到目标Web服务。UDDI基于现有的XML、WSDL和SOAP。Web服务在用XML定义了消息中的数据,用WSDL描述了接收和处理消息的服务,用SOAP指明了发送和接收消息的方式之后,使用UDDI来发布Web服务提供的服务和发现服务请求者所需要的服务,这就是UDDI所提供的功能。

Web Service是当前流行的网络编程理念,相对于前两种编程方式,它是一种更高层次的编程方式。