浅谈WebService与主流实现技术框架

2012-09-29 08:48甄少鹏
时代农机 2012年1期
关键词:服务端调用客户端

甄少鹏

(桂林电子科技大学 计算机科学与工程学院,广西 桂林 541000)

1 Web Service基本原理

WebService使用一系列的标准协议来对各种请求做出响应,使用HTTP/TCP等标准的网络协议完成底层的传输,以XML作为数据表示的基础,通过SOAP协议在系统间交换信息,通过WSDL等来描述和记录Web服务所产生和接收的消息,通过UDDI来登记和寻找服务,这些技术构成了Web服务的支撑技术。

SOAP:简单对象访问协议SOAP(Simple Object Access Protocol)是一种非集中的、基于分布式网络环境的、基于XML的轻量级协议,它通过把HTTP与XML的灵活性和良好扩展性组合在一起,以实现异构平台的程序之间的消息传递和互操作。

WSDL:Web服务描述语言WSDL(Web Service Description Language)是W3C用于描述Web服务的规范,被用来描述一个Web服务能够做什么,该服务在什么地方,以及如何调用该服务。WSDL利用XML来描述Web服务,它将Web服务描述为一组对消息进行操作的网络端点。

UDDI:通用描述、发现和集成协议UDDI(Universal Description,Discovery Integration)是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务加以注册,以使得别的企业能够发现的访问协议的实现标准。UDDI是为了加速Web服务的推广,加强Web服务的互操作能力而推出的一个计划,其目的是建立一个全球性的、与平台无关的、开放式的架构。

这些技术的任何一种都在发展中,每种技术提供了Web服务的下一步发展、描述或者发现的一个标准。然而,Web服务的目标之一是无缝的、自动的业务集成:软件将动态地从未知的公司发现、访问、集成和调用新服务,这种动态集成需要SOAP、WSDL和UDDI的结合,以便为将来的动态业务提供动态的、标准的基础设施。下图说明了这三种技术之间的关系。

从图上可以看出,SOAP、WSDL和UDDI之间的关系可以描述如下:Web服务客户端应用程序需要找到位于网络上某处的服务端应用程序。客户端通过名字、分类、标识符或者所支持的规范查询UDDI注册中心,一旦找到,客户便从UDDI注册中心获取WSDL文档的位置信息。按照WSDL中发现的XML模式生成一个SOAP消息,并发送一个请求给服务端。

2 主流实现技术框架

XFire、Axis是目前比较流行的Webservice的实现框架。两者是并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助方便快速地开发Web Service应用。

一般情况下,我们通过HTTP作为Web Service的传输协议,这样我们只需启动一个Web服务器,这样客户端就可以通过 HTTP访问到Web Service服务。为了集成Spring容器,XFire专门提供一个XFireSpringServlet,我们可以在web.xml中配置该 Servlet,将Spring容器中定义的 Web Service在某个URI下发布。

XFire为访问服务端Web Service提供了各种方便的方式:我们一般根据服务地址和窄接口类创建客户调用程序。在不能获得服务窄接口类的情况下,XFire允许我们通过WSDL文件生成客户端调用程序,通过指定服务接口的方式调用服务。但对于服务方法返回类型或参数类型是自定义对象或者集合时候,目前axis支持比较好且方便上手。Xfire不支持WSDL2.0,而Axis2支持WSDL2.0。

3 结语

不管Web Service服务端和客户端采用什么技术框架,只要是Web Service,遵从Web Service的技术规范和实现架构,就能实现无障碍调用通信,如xfire框架实现的web服务发布后,只要告之服务地址及其他相关信息,通过axis框架实现的客户端也能正常调用访问。

猜你喜欢
服务端调用客户端
核电项目物项调用管理的应用研究
如何看待传统媒体新闻客户端的“断舍离”?
LabWindows/CVI下基于ActiveX技术的Excel调用
云存储中基于相似性的客户-服务端双端数据去重方法
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
基于系统调用的恶意软件检测技术研究
利用RFC技术实现SAP系统接口通信