Web服务技术及其应用模式

时间:2022-09-28 09:46:42

Web服务技术及其应用模式

摘要:介绍Web服务的基本概念、体系结构与主要标准,并通过具体的实例说明.NET平台下基于的Web服务的应用模式。

关键词:Web服务;SOA;XML;;

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2009)05-1224-02

Web Services Technology and Application Pattern

LU Shou-dong

(Department of Computer And Information Management, Guangxi University of Finance and Economics, Nanning 530003, China)

Abstract: This paper introduces the basic concept, architecture and main standard of Web Services, and explains its application pattern base on under .NET plat through the concrete example.

Key words: Web Services; SOA; XML; ;

Web服务是目前最为流行的应用于Web环境中的分布式组件开发技术,其实现平台与开发工具有很多,如.NET、J2EE等。本文简要介绍Web服务的基本概念、体系结构与主要标准,并通过具体的实例说明.NET平台下基于的Web服务的应用模式。

1 Web服务技术简介

1.1 Web服务的基本概念

Web服务(Web Services)是一种基于Internet标准协议或规范的可通过网络进行、发现、调用的自描述的服务器端软件组件,其目的主要是程序之间的交互,即主要由程序代码而非最终用户使用。

Web服务其实是一种部署在Web上的可编程访问的对象。与DCOM、CORBA、RMI等使用特定于对象模型的专用协议的传统组件技术不同,Web服务建立在HTTP、XML等普及、开放的标准协议之上,天生具有优异的跨平台特性,因此已成为在Web上构建语言无关、松散耦合、可互操作的分布式应用程序的理想平台。

1.2 Web服务的体系结构

Web服务基于面向服务架构(Service-Oriented Architecture,SOA),其体系结构如图1所示,包括服务提供者(Service Provider)、服务请求者(Service Requester)、服务(Service Broker)3个主要角色以及相关的(Publish)、查找(Find)、绑定(Bind)3种操作。

服务提供者是Web服务的拥有者,负责对Web服务进行描述并将其到服务处。服务请求者是Web服务的使用者,可到服务处查找所需要的Web服务并获取相应的描述文档,然后据此对Web服务进行绑定与调用。服务又称为服务注册中心,是一个逻辑上集中的目录服务,可在其中进行Web服务的、查找等操作。服务相当于服务提供者与服务请求者的中介,当服务请求者在服务处查找到所需要的Web服务后,后续的操作就只需在服务提供者与服务请求者之间进行。

1.3 Web服务的主要标准

Web服务基于一系列的标准协议或规范,其核心标准主要有3个,即SOAP、WSDL与UDDI。Web服务的基本协议栈如图2所示,分为网络传输、数据编码、消息传递、服务描述与服务发现5层。

Web服务对于底层的传输协议没有具体的限制,可使用各种Internet 传输协议,如HTTP、FTP、SMTP、MQ、BEEP等。其中,HTTP因其简单性、广泛性、稳定性以及易于穿越防火墙的优点,成为当前Web服务的最佳传输方式。

XML即可扩展标记语言(Extensible Markup Language),由W3C制定,是Web上的数据表示与交换标准,不受操作系统与编程语言的限制,且已获得广泛的支持与应用。因此,Web服务选用XML作为数据编码的格式,并使用与之相关的XML Schema作为数据类型的标准。

SOAP即简单对象访问协议(Simple Object Access Protocol),是一种基于XML的、简单的、轻量级的通信协议,用于在客户端与Web服务之间传递消息(包括请求消息与响应消息)。

WSDL即Web服务描述语言(Web Service Description Language),是一种基于XML的用于对Web服务进行全面描述的标准语言。一个Web服务的功能接口、驻留地址、绑定方式等相关信息,均包含在其WSDL文档中。客户端根据WSDL文档,即可实施对相应Web服务的绑定与调用。

UDDI即通用发现、描述与集成(Universal Discovery, Description and Integration),是Web服务与发现的工业标准,使用XML文档来描述服务提供者及其所提供的Web服务。借助于UDDI注册中心(公共的或私有的),服务提供者可通过注册来其开发的Web服务,服务请求者可通过查找来发现其需要的Web服务。

Web服务的上层标准都是基于XML的,因此具有与操作系统、编程语言无关的特性,从而为Web服务在异构平台上进行系统的集成与交互提供了充分的保证。由于XML是Web服务的基础,在Web服务中起着至关重要的作用,因此Web服务通常又称为XML Web服务(XML Web Services)。

2 Web服务应用实例

要在.NET平台下开发Web服务,须先配置好IIS,并安装好.NET Framework。为提高开发效率,可使用Visual Studio .NET集成开发环境(IDE)。至于编程语言,则有多种选择,如、C#、C++等,在此选用。

2.1 Web服务的创建

在站点根目录下新建一个Web服务文件Calculator.asmx,代码如下:

Imports System.Web.Services '引入Web服务所需要的命名空间

Public Class Calculator

'Web服务的Add方法

Public Function Add(ByVal x As Double,ByVal y As Double) As Double

Return x+y

End Function

'Web服务的Minus方法

Public Function Minus(ByVal x As Double,ByVal y As Double) As Double

Return x-y

End Function

End Class

在此所创建的Web服务Calculator较为简单,只有Add、Minus两个方法,分别实现加法、减法运算。其中,第1行代码说明该程序是一个Web服务,编程语言为,类名为Calculator。在Web服务中,要提供给客户端使用的方法,均应附带WebMethod属性,且声明为Public。

Web服务创建完毕后,可在浏览器中输入其URL地址localhost/Calculator.asmx进行测试。若在地址中的文件名后加上“?WSDL”,可直接查看其WSDL文档。

2.2 Web服务的使用

Web服务的客户端可以是任何类型的应用程序,如Windows应用程序、Web应用程序、控制台应用程序、类库以及其他Web服务等。客户端程序对Web服务的访问,其实是通过在客户端生成的Web服务类进行的。在类中,包含有影射到Web服务所公开的功能的方法。下面,以创建 Web应用程序为例说明Web服务的使用方法。

1)使用Wsdl.exe(Visual Studio .NET中的一个命令行工具)生成Web服务Calculator的类源文件Calculator.vb,并指定其命名空间为LsdServices。命令如下:

wsdl localhost/Calculator.asmx?wsdl /l:VB /n:LsdServices

2)使用Vbc.exe(.NET Framework所提供的用于的编译器)将Calculator.vb编译为动态链接库Calculator.dll。命令如下:

vbc /out:Calculator.dll /t:library /r:system.xml.dll /r:system.data.dll /r:system.web.services.dll /r:system.dll Calculator.vb

3)将Calculator.dll置于站点根目录下bin文件夹中,并在站点根目录下创建Web程序WebCalculator.aspx,代码如下。

Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Dim o_calculator As Calculator = New Calculator() '创建Web服务实例

Dim x As Double = System.Convert.ToDouble(TextBox_x.Text)

Dim y As Double = System.Convert.ToDouble(TextBox_y.Text)

Dim z As Double

z = o_calculator.Add(x, y) '调用Web服务方法

TextBox_add.Text = System.Convert.ToString(z)

z = o_calculator.Minus(x, y) '调用Web服务方法

TextBox_minus.Text = System.Convert.ToString(z)

End Sub

WebCalculator

x=

y=

x+y=

x-y=

var _userid = '';var _siteid =2230;var _istoken = 1;var _model = 'Model03'; WebPageSpeed =234; UrchinTrack();

创建好程序后,即可在浏览器中输入其URL地址localhost/WebCalculator.aspx运行之,并实现对Web服务的调用(如图3所示)。

3 结束语

与其他分布式计算技术相比,Web服务具有极大的优越性,其应用前景是十分广阔的,也是业界公认的未来计算机技术发展中的一个关键部分。微软的.NET平台为Web服务的开发与应用提供了强大的支持。若使用Visual Studio .NET,还可进一步简化Web服务的创建与使用步骤。例如,在客户端程序的设计过程中,通过添加Web引用,即可自动完成Web服务类的创建过程。

参考文献:

[1] 石国志 Web服务实用案例教程[M].北京:清华大学出版社,2004.

[2] 佛里曼,琼斯.Microsoft .NET XML Web服务程序设计[M].向璐,向祚铁,译.北京:清华大学出版社,2003.

上一篇:校园网安全管理策略综述 下一篇:电子文件安全管理浅论