摘要:本文首先介绍了Web Service技术和SOAP协议,然后在C++Builder6.0编程环境下利用系统提供的Web Service控件实现了一个实用的Web Service应用
当前,Web Service技术发展迅速,它将互联网上分布的、跨平台的各种应用有效地集成起来,充分利用了网络上的数据资源和计算资源,提高了网络应用开发的效率,实现了软件的复用,掀起了又一轮技术变革的浪潮。
一、Web Service技术简介
以往的应用系统常常是一个各自为阵、自成体系的封闭系统,偶尔有些系统也提供对外开发的二次接口,但大多数开发使用起来较困难,且对网络环境和配置有一定的要求,实现起来较为复杂。随着网络的快速发展和各种网络应用的兴起,应用系统从以前纯粹的以单机数据处理为中心过渡到了在网络条件下的信息交换。在这样的大趋势下,软件应用变成了软件服务,即我们定义一种机制,让各种由不同技术实现的应用都遵守这一机制,使这些应用可以对外提供自身所实现的各种功能。
Web Service的概念就是使用一个标准的输出接口来定义程序代码所提供的功能,以便让外界通过这个标准的输出接口来调用。实现Web Service的技术可以不同,平台可以不同,只要它们都遵循相同的一个标准和协议,就可以实现互相的调用。这样的一个标准和协议就是SOAP、WSDL和UDDI。
二、SOAP简介
SOAP( Simple Object Aclearcase/" target="_blank" >ccess Protocol),简单对象访问协议,该协议是以XML的标准格式封装的沟通机制,而且其中封装的沟通信息是以文本的形式来表达的,并且使用标准的规则封装所有的沟通信息。它能应用于各种消息收发系统,并能通过各种传输协议进行传递。Web Services的协议中,XML消息接发层主要采用SOAP。
由于SOAP选择了以HTTP协议为第一个传送通信协议,而HTTP协议是一个被所有平台和操作系统广泛接受的标准通信协议,因此,开发人员通过使用SOAP和HTTP协议,可以在不同的组件模型、应用系统间轻易地实现信息交换。
在C++Builder6.0提供的Web Services控件已经封装了对SOAP协议的处理过程,使开发人员可以在不了解SOAP协议以及底层处理细节的情况下,开发高层应用。
三、C++Builder6.0的Web Service控件
各个Web Services控件的说明如下:
● THTTPRIO:通过HTTP和SOAP数据包调用远程Web Services;
● TOPToSoapDomConvert:将请求参数打包成SOAP,并且解析SOAP响应数据包;
● THTTPeqResp:通过Win.net.dll传送HTTP请求或接收HTTP响应;
● THTTPSoapDispatcher:拦截HTTP请求,并把请求分派给THTTPSoapCppInvoker;
● THTTPSoapCppInvoker:根据请求调用正确的Web Services;
● TWSDLHTMLPublish:自动产生描述Web Servicse的服务信息以及WSDL内容。
四、基于Web Service技术的远程屏幕图像截取
为了说明开发Web Service应用的过程,我们完成一个实例,在该范例中,由客户端动态指定一个服务器(已安装部署了Web Service Server),并截取该服务器当前的屏幕回传至客户端显示,用于对别人的计算机(已获准授权的)进行监视。该应用由两部分组成,一是Web Service Server应用程序;另一个是Web Service Client应用程序。
1、建立Web Service Server应用程序
图1 SOAP Server Application向导对话框