文章编号:1009-2269(2010)01-0020-03
基于Web Service的智能交通系统研究与设计3
李驰新1,马宏锋1,徐 瑾2
(1.兰州工业高等专科学校电子信息工程系,甘肃兰州 730050;
2.兰州工业高等专科学校软件工程系,甘肃兰州 730050)
摘要:Web Service技术是一种支持分布式系统的应用程序,其最大的特点就是平台无关性.在探讨Web Service技术优势的基础上,提出了一种使用Web Service技术的智能交通系统框架方案,该方案利用已有的交通服务项目,通过网络注册对外提供调用接口,使用远程网络调用实现交通信息的共享.
关 键 词:Web Service;智能交通;XML;UDDI;SOA P
中图分类号:TP271+.61文献标志码:A
典型的智能交通系统(ITS)包括7个子系统:交通信息服务系统,交通管理系统,公共交通系统,车辆控
制系统,货运管理系统,电子收费系统,紧急事件处理系统[1],每一部分都是一个由用户与计算机等信息设备组成的信息收集,存储,发布的系统.随着城市的不断扩展,相应的智能交通系统的规模也不断增长,子系统之间的联系也不断增强,子系统之间不但需要共享数据,更需要共享服务,如何基于现有的网络体系架构,实现远程服务调用,是当前智能交通系统的发展需要亟待解决的问题,本文中以交通信息服务系统为例,说明如何使用Web Service设计智能交通系统.
1 基于Web Service的智能交通框架
当前很多城市都部署了各自的智能交通系统,目前存在的一个问题是,这些智能交通系统在开始规划和部署的时候,只考虑到在一些特定的部门和领域内使用,没有充分考虑未来的信息共享,具体表现在2个方面:信息格式不统一,很少提供对外接口.另外一方面,这些智能交通系统,目前大都处于初级阶段,主要以C/S和B/S为主,采用不同的开发平台,不同的通信协议,存在大量的信息孤立区域,这对于系统的全面集成造成了不小的困难.由此可以看出,系统最大程度的集成化,把运行在不同操作系统之上,使用不同编程语言开发的程序变成易于使用的的网络程序,是未来智能交通系统的发展方向.建立在象H T2 TP和XML之类开放的网络标准之上的Web Service则可以很好解决集成问题,实现消息和服务的共享[223]
.
图1 Web Service架构
一个典型的Web Service框架如图1所示.服务提供者使用WSDL(Web Service Description Language,Web服务描述语言)在UDDI(U niver2 al Descripition,Discovery and Integration,统一,描述和集成)的服务列表上公布其服务接口,服务用户通过H T TP使用SOA P(Simple Object Ac2
3收稿日期:2008212209
作者简介:李驰新(19782),男,湖南汩罗人,硕士,讲师.
cess Protocol,简单对象访问协议)消息调用远程服务,服务的定位可以在UDDI上通过检索来完成.Web Service为在网络上绑定应用程序提供了简单,灵活和基于多标准的模型,最大可能地重用现存体系架构和应用程序[425].
在以上的描述中,SOA P是执行RPC(Re2 mote Procedure Call,远程过程调用)的关键, SOA P是基于XML协议的,而且是平台无关的,每一个方法的调用和响应都要打包成SOA P消息,它包含了远程客户希望执行的方法,以及传递给方法的参数.Web收到消息后,对其进行解析,然后调用方法.响应也是以SOA P消息的形式返回给客户.SOA P可以构建在多种协议之上,例如:TCP,SM TP和H T TPS等,在实际应中以H T TPS居多[2].WSDL可以被认为是一个XML 文档,它定义了Web服务支持的一些方法及客户端使用这些方法的格式,也可以认为WSDL说明了一组SOA P消息.UDDI相当于Web Service的黄页,用户可以搜索所需的服务,了解服务的内容,在一个项目开发中的相关处理动作可以动态链接到外部合作者提供的服务上,其实也可以把它想像成应用程序中的DNS服务.
基于Web Service的智能交通系统如图2所示,将已有的智能交通服务功能进行封装,构造成为可以在Web服务器上发布的服务,然后在UD2 DI上注册,提供对外接口.这种改造充分利用了Web Service的优势,可以最大限度的保留原有的资源,包括原有服务的数据结构和数据库逻辑结构等,只需要改造
一些中间件,因为在UDDI上提供的接口可以是任何形式,它本身并不需要数据库,只是一个查询的接口,真正的内部服务对于普通用户是接触不到的[5].
本文中使用.N ET提供Web Service,服务由两部分组成,一个ASMX文件和代码隐藏文件. ASMX文件中包含Web Service方法的描述,以及如何测试等主要信息.代码隐藏文件具体实现了Web Service封装的方法.在生成Web Service 之后,类似于一般的网络服务,Web服务存在于服务器的wwwroot目录下.远程客户端中需要添加“Web引用”,生成一个代理类,代理类负责调用Web Service方法的一切作业
.
图2 基于Web Service的智能交通框架
[WebMet hod(Description="查询需要的交通信息")]
p ublic XmlDataDocument SearchRoadInfo (Int RoadID)
{XmlDataDocument t b=new XmlDataDocu2 ment();
CstoreProc cp=new CstoreProc("Search");
cp.AddPar In("@keywords",SqlDb Type. Int,RoadID);
cp.AddParOut("@res",SqlDb Type.Int);
cp.Select Proc();//执行存储过程
if((int)cp.Get Ret urnValue("@res")==-1)
{st ring xml="<NewSet></NewSet>";
t b.LoadXml(xml);
ret urn t b;}
ret urn(t b=new 2 Data));}
2 代码实现
本文中利用Visual St udio.N ET2003为编译平台,C#为开发语言,SQL Server2000作为后台数据库,实现道路交通信息的查询一例.
路况基本信息的查询服务属于交通信息服务系统,下面是从交通信息数据库中查询某段道路在某时刻流量,车速,车辆占有率等参数的接口函数实现代码.
这个函数从数据库中查询道路交通信息,以
・
1
2
・
第1期 李驰新等:基于Web Service的智能交通系统研究与设计
XML 的形式返回查询结果,“WebMet hod ”关键字说明这是一个web 服务方法,区别于其他的普通类中的方法.假设提供道路信息查询的网站记为Roadinfosite ,Visual St udio .N ET 2003生成的标
准Web Service 文件记为service.asmx ,服务的类名记为serviceR ,下面给出另外一段远程调用的代码,实现该服务的远程实例化.
p ublic void RemoteCall (Int RoadID ){IAsyncResult ar ;
serviceR =new roadinfosite.service ();DataSet t b =new DataSet ();XmlNode xmlnodeR ;StringBuilder str ;
XmlDataDocument xd =new XmlDataDocu 2ment ();//异步调用
ar =serviceR.Begin SearchRoadInfo (Road 2ID );
xmlnodeR =serviceR.End SearchRoadInfo (ar );
if (xmlnodeR ==null )ret urn ;//执行失败则返回
如何生成webservice客户端st r =new St ringBuilder (xmlnodeR.Out 2erXml );
xd.LoadXml (st r.To St ring ());
t b.ReadXml (new XmlNodeReader (xd ));}
上述web service 接口函数中返回的xml 文档示例如下:
<?xml versio n ="1.0"?>
<!--XML file for road information -->
<info xmlns :"x -schema :road.xdr"><road id ="001"><flow >500</flow ><speed >50</speed >
<occupation >0.7</occupation ></road ></info >
3 结语
与传统的缺少远程技术支持的软件复用方法,例如COM 技术相比,Web Service 真正实现了开发语言
和平台的无关性,为现有的智能交通系统实现在Internet 绑定应用程序提供了简单灵活并且是多标准的方法.在实际的系统设计过程中,可以最大限度的利用已有的交通信息数据,不必构建本地数据库,节省了开发成本,缩短了开发周期.参考文献:
[1] 刘卫宁,宋 伟.智能交通虚拟共用信息平台研究
[J ].中国公路学报,2004(17):79280.
[2] 王 海,王志强.基于Web Services 的城市规划信
息系统集成框架研究[J ].重庆建筑大学学报,2006,
4:24226.
[3] Harvey M.Deitel .VC ++.N ET 高级编程[M ].北
京:清华大学出版社,2004.
[4] 卫 伟,王 臻,童锡鹏.基于的模板管理系统设计
和实现[J ].计算机应用,2007(27):3222424.
[5] 顾九春,石建军,于 泉.基于XML 的开放式交通
控制系统数据共享的结构探讨[J ].交通与计算机,
2004(22):37240.
R esearch and Design of Intelligent T ransport System B ased on Web Service
L I Chi 2xin 1,MA Hong 2feng 1,XU Jin 2
(1.Department of Electronic &Information Engineering ,Lanzhou Polytechnic College ,Lanzhou 730050,China ;
2.Department of Software Engineering ,Lanzhou Polytechnic College ,Lanzhou 730050,China )
Abstract :Web Service is a kind of technology supporting dist ributed system ,and it s highlighting feat ure is independent of p rogramming language.A scheme of ITS frame based on web service is p ut forward.By using current t ransporting services and p roviding interfaces registered on network ,t his scheme can real 2ize sharing of t ransporting information wit h t he help of remote network call.K ey w ords :Web Service ;ITS ;XML ;UDDI ;SOA P
・22・ 兰州工业高等专科学校学报 第17卷
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论