分享
 
 
 

利用Web服务实现气象资料共享

王朝asp·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

利用Web服务实现气象资料共享

吴嘉豪

(中山市气象台,广东中山 528401)

摘 要:本文主要介绍在Internet网络应用中,为方便与合作网站之间进行数据交换,利用新兴的应用通信和集成技术XML Web Service搭建Web服务平台,从而实现协作的网络天气预报和气象资料的共享服务,现通过我局与中山农业信息网(http://agri.21cn.com/)合作的开发实例,介绍该技术在资料共享中的应用。

关键词:Web Service;asp.net;资料共享

1.引言

现阶段,许多部门之间实现资料共享都是通过Ftp或拨号连接等方式进行资料传输的,但随着气象业务的不断发展,这种以Ftp或拨号连接进行资料传输的方式根本满足不了气象部门之间快速准确互通资料的要求,更有海量的传输数据,给部门中有限的存储空间以及网络传输带来了巨大的压力。在这种情况下,如何利用Internet网络的新兴技术,实现数据传输以及资料共享是迫不及待的。

2.XML Web Service技术特点

XML(eXtensible Markup Language,可扩展标记语言)是Internet上数据表示和数据交换的新标准。它是ISO的SGML(Standard for General Markup Language,通用标记语言标准)的一个简化子集。XML关注信息本身,是Web上表示结构化信息的一种标准文本格式。与传统的注重页面信息显示的HTML相比,关注于内容的XML具有以下诸多优点:

(1)良好的可扩展性,语言简单有效,可自行定义标记;

(2)内容与形式的分离,主要刻画数据内容,不考虑显示效果;

(3)有严格的语法要求,便于分析统一和与数据库信息转换;

(4)便于传输,为纯文本形式,可通过Http协议直接传输,可跨越防火墙。

因此,XML的出现和发展对于Internet和Intranet产生了巨大的影响。

Web Service是一种新的Web应用程序分支,它是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。XML Web Service就是在XML基础上发展起来的Web服务(Web Service),它使用基于XML 的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使异类系统能够作为单个计算网络协同运行。开发人员可以用像过去在创建分布式应用程序时使用组件一样的方式创建将来自各种源的Web服务组合在一起的应用程序。又因为Web服务是在一些通用协议(比如HTTP、XML、SOAP、WSDL和UDDI)的基础上建立的,这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此它们允许在不同平台上、以不同语言编写的各种程序以基于标准的方式进行通信。这就是XML Web Service 体系结构的主要优点。

3.XML Web Service工作方式

XML Web Service通常定义为:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

l SOAP(Simple Object Access Protocol)

Web Service本身就是在实现应用程序间的通信,其通信协议是简单对象访问协议SOAP,这是一种基于XML的信息格式协议标准,用来在两个终端之间传递信息。使用SOAP可以进行远程过程调用(RPC),客户端将发出一条SOAP消息(包含可调用函数,以及要传送到该函数的参数),然后服务器将返回包含函数执行结果的消息。

l WSDL(Web Services Description Language)

WSDL表示Web Service描述语言,就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。

l UDDI(Universal Description, Discovery, and Integration)

UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

4.XML Web Service技术在资料共享中的应用

在我局与中山农业信息网的合作应用中,以我局为信息源,根据中山农业信息网所需的气象数据(如本地天气预报、天气预警信号、台风信息、全国各城市和世界各大城市的天气预报等资料),制作提供气象数据的接口,而中山农业信息网无需采用与我们一样的Web开发技术,只需通过调用本局提供的数据接口,就可以获取气象资料并可进行美化加工,其具体过程如下图:

中山气象台

Web服务器

中山农业信息网

用 户

用 户

用 户

SQL

数据库

Web服务平台

网站Web平台

代理DLL

图一 我局与中山农业信息网的合作应用

4.1 本地创建Xml Web Service

XML Web Service返回的数据类型最常用的有字符串、整数、日期、布尔值、小数等基本数据类型,但还可以返回一个数组或数组列表,返回DataSet对象,甚至返回一个类。下面将以本地天气预报的接口为例,在此实例中是以DateSet对象为返回类型,以下是文件Day5Service.asmx代码部分:

... ‘定义Day5Service类

<WebMethod(description:="未来五天天气预测(DataSet)")> Public Function GetDay5(aname as string, apwd as string) as DataSet ‘定义函数并声明返回类型为DataSet类

... ‘通过调用数据库获取数据,进行捆绑并返回

cmdSET.fill(dst,"Day5")

return dst

end function

...

应用文件(.asmx)创建后,则可用Internet Services Manager对Xml Web Service进行部署,然后利用Internet Explorer浏览器对此应用进行测试。待一切正常,则可对外发布此Web Service应用,完成本地Xml Web Service的创建。

4.2 远程调用Xml Web Service

调用Xml Web Service的过程主要是在客户端完成,其主要任务有:

(1)在客户端应用程序中添加对XML Web Service的Web引用,方法是发现您想要使用的XML Web Service

(2)为XML Web Service生成代理类

(3)在客户端应用程序中创建XML Web Service代理类的对象

(4)使用代理类对象来访问XML Web Service

其中,生成代理类的方法是从命令行提示符执行WSDL工具,语法是:

wsdl [options]{URL|Path}

创建代理类的源码后,把它编译到当前项目的程序集(独立的程序集),或者是编译到代理类自己的程序集,并在全局程序缓存中安装以供全局使用。

5.结束语

通过利用Xml Web Service技术,我局很好地为中山农业信息网远程提供气象数据,从而实现了在Internet网络中的资料共享。此外,作为新兴的Web应用的实现方式,Web Service会有很好的发展前景,在网络资料共享的应用中将会发挥更多更重要的作用。

参考文献:

1. Alex Ferrara & Mattbew MacDonald著,天宏工作室译,《.NET Web服务编程》,清华大学出版社。

2. (美)Stephen Walther著,马朝晖等译,《ASP.NET技术内幕》,机械工业出版社

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有