Web Service是一套标准、一种应用程序。它定义了应用程序如何在Web上实现交互性操作,可以用任何语言、在任何平台上编写。只要通过Web Service标准对这些服务进行查询和调用即可,本文阐述了基于Microsoft.NET平台的Web Service网络开发技术。
Web Service是近年来发展起来的新一代网络开发技术,Microsoft.NET平台给用户提供了一种运行环境,即公共语言运行环境(Common Lanauage Runtime CLR)。它使用了一种内置机制来创建一个可编程的站点,对于Web开发人员来说,这种模式是可重复使用可扩展的。它包含了开放的Internet标准,如HTTP、XML、SOAP、SDL等。
一、Web Service技术概述
Web Service可以看作互联网上可访问、可编程的应用程序逻辑,具有完好的封装性,Web Service之间使用工业标准的协议通过互联网相互通信。是Internet中可复用的应用程序部件。所有应用只需要能够连入Internet,就可以使用和集成Web Service。因此,如果在构建电子商务网站中使用了Web Service,则不再需要为使用一个商务应用而购买这个商务应用所承载的所有应用软件。
Web Service本身可以由任何的技术实现,其使用者可以是任何客户端,不同的客户端只要使用一种开放的标准便能够顺利地和由各种不同技术实施的Web Service互通。目前最广泛、最具潜力的互通标准是简单对象访问协议SOAP。SOAP协议是让客户端调用远程服务的一种机制,它以XML标准封装来调用远程服务,因此它可以使用任何的传输层来传送,例如HTTP,TCP或SMTP等,这就使得Web Service技术在网站开发中得以广泛的应用。
二、Web Service主要特性
(1)互访性。Web Service通过SOAP实现相互间的访问,任何Web Service间都可以进行交互。它可以用任何语言编写,同时还可以在新的Web Service中使用已有的服务,而不必考虑它的实现语言、运行环境等具体实现细节。
(2)普遍性。Web Service使用HTTP和XML进行通信,任何支持这些技术的设备都可以使用和访问它。
(3)低进入屏障。Web Service供应商提供的免费工具箱能够让开发者快速创建和部署自己的Web服务,其中某些工具箱还可以让已有的组件方便地成为Web 服务,这样就降低了Web Service的开发费用,同时也加快了开发速度。
三、Web Service技术体系结构
Web Service由三个参与者与三个基本操作构成。三个参与者分别是服务提供者、服务请求者和服务中介者;三个基本操作分别为发布、查找和绑定。因此,实现一个完整的Web Service包括以下步骤:(1)服务提供者设计实现Web Service,并将正确的Web Service通过服务中介者发布,并在UDDI(统一描述、发现和集成协议)注册中心注册;(2)服务请求者向服务中介者请求特定的服务,服务中介者根据请求查询UDDI注册中心,为请求者寻找满足请求的服务;(3)服务中介者向服务请求者返回满足条件的Web Service描述信息,该描述信息用WSDL(Web服务描述语言)写成,是用XML格式来描述Web服务的标准;(4)利用从服务中介者返回的描述信息生成相应的SOAP消息,发送给服务提供者,以实现Web Service的调用;(5)服务提供者按SOAP消息执行相应的服务,并将服务结果返回给服务请求者。
四、基于Web service的应用程序结构
Web Service体系结构最重要的优点之一就是允许在不同平台上使用不同编程语言以一种基于标准的技术开发程序,来与其它应用程序通讯。基于Web service的应用程序结构表现为客户端、中间件、服务器的三层模型。客户端一般是用户进行业务操作的网站;中间件是使用Web Service技术开发的网络服务,主要包含数据库访问的定义和业务规则的定义;后端是数据库。客户端和中间件之间是XML形式的SOAP消息的请求和响应。客户端向中间层的Web Service发送SOAP消息请求,中间层接受请求后,访问服务器的数据库获取数据或做一些逻辑的处理,最后把数据或处理后结果以XML的形式封装并返回给客户端。
五、Web Service的实例模型
目前,在面向电子商务模式开发过程中,Web Service网络开发技术提供一个很好的解决方案,其所具有的代码及数据复用的特性,使得企业仅仅通过填加相应的WEB服务就可以使用平台提供相关业务功能。一般一个典型的电子商务应用平台的主要业务流程如下:
(1)用户在平台上注册相关信息,获取登录帐号和密码;
(2)用户通过帐号和密码登录系统,发布采购信息和供应信息;
(3)供货商通过搜索采购信息,与用户洽谈;
(4)用户通过搜索供应信息,与供货洽谈;
(5)双方针对业务信息,达成协议。
根据上面的业务流程,可以抽象出以下几个WEB服务:
(1)用户注册及登录的Web服务;
(2)向电子商务平台发布信息的web服务;
(3)搜索信息的web服务;
(4)用户和供货商处理信息的Web服务;
六、Web service的调用过程
在调用Web服务的时候,首先由客户端的应用程序发出服务调用请求,取得服务端的服务描述文件WSDL,解析该文件的内容,了解服务端的服务信息,以及调用方式。根据需要生成恰当的SOAP请求消息,将调用方法,调用参数发往服务端。等待服务端返回的SOAP回应消息,解析得到返回值。服务端将生成服务描述文件,以供客户端获取。并接收客户端发来的SOAP请求消息,解析其中的调用方法和参数格式。根据WSDL和WSML的描述,调用相应的COM对象来完成指定功能,并把返回值放入SOAP回应消息返回给客户端。
除此而外,还可以使用高层接口和低层接口的方式来调用Web Service。当使用高层接口时,不需要知道SOAP和XML的任何信息,通过COM对象就可以生成和使用一个WebService。在使用低层接口时,可以对SOAP的处理过程进行控制,特别是要做特殊处理的时候,这种调用方法将会更加实用。