设为首页 | 成都一卡通
当前位置: 首页 > 一 卡 通 > 校园一卡通 >
校园一卡通
基于Web Service技术的校园一卡通中的第三方系统应用集成研究
发布时间:2013-05-27 来源:未知
1 引言随着信息高度集中化的发展,校园一卡通系统越来越需要集成第三方系统,以达到信息高度集中化管理。而传统的接入方案一般有两种:一种是由一卡通系统专业人员开发一个API标准,由API来控制第三方系统的接入。另一种是开发一个动态链接库DLL给第三方系统,由第三方系统开发人员自己根据所提供标准接口自行开发并接入到一卡通系统中。无论是哪种方案,都会浪费大量的人力和物力,并且系统之间又存在着异构的问题,这使得开发人员在开发应用程序的接口时负担特别的重。本文将讨论用Web Service技术来对一卡通中第三方系统的集成研究。2 Web Service2.1 什么是Web ServiceInternet发展非常迅速,Web站点从仅仅能提交单一的用户界面的页面,到现在已经转变为能够将多种应用、服务等组织在一起的Web站点。它也由还不错初的被动的地位变成了现在的可进行设计的智能化Web Service,即Web服务。Web服务(Web Service)是一种新型的分布式应用程序,是下一代的www,它以一种独立的、自描述的和模块化的方式,通过Web来发布、查找和访问:一个Web服务就是一个应用程序,它的接口和绑定可以用XML描述与发现,并且可以通过基XML、SOAP、WSDL、UDDI等Internet标准直接支持,由XML通过HTTP协议来调度的远过程调用(RPC),与其他基于XML消息的软件应用进行交互。当一个Web服务部署以后,其它应用(以及其他Web服务)就可以发现和访问这个服务。2.2 Web Service的关键技术Web Service完全基于XML技术,利用XML语言建立起一整套协议栈,解决了从Service的封装到接口的描述、及Service的注册和发行的一系列问题。Web Service服务提供者和服务请求者均使用XML传递消息和数据流。SOAP构建于XML之上,与HTTP协议绑定,解决跨平台的传输问题。Web Service通过SOAP建立跨平台的远程调用。除了SOAP之外,WSDL也是Web Service架构的组成部分。WSDL也是使用XML语言,用来描述Web Service所提供的信端口和服务。UDDI用来定位和发行Web Service。SOAP、WSDL、UDDI构成了Web Service技术的核心。(1)SOAP(Simple 0bject Acces Protoco1)简单对象访问协议。SOAP是一种基于XML的表示层协议,它定议了分布式环境中应用软件之间相一调用的方法和传递数据的标准方式,采用XML作为数据传送的格式,RPC作为一致性的调用途径,以HTTP作为底层通信协议通过防火墙使服务提供者和服务使用者在Internet上进行交互,用来在应用程序之间以对象的形式对等地、方便地交换数据。(2 ) UDDI (Universal Discovery DescriptionIntergration)-通用发现、描述和集成协议,是一套面向WEB务服的信息注册中心的现标准和规范。它提供一个基于Web的、分布式的注册、发布和发现Web Service的标准机制。UDDI的核心组件是UDDI商业注册中心,它使用一个XML文档来描述企业及其提供的Web Service。创建UDDI注册中心的目的就是发布和发现Web Service。(3)WSDL(Web Service Description Language)-Web服务描述语言。WSDL定义了一个基于XML的组件描述标准机制。它将Web Service描述为能够进消息交换的服务访问点的集合。2.3 Web Service关键技术之间的关系。服务提供者向服务客户提供服务前,先使用WSDL描述其服务,并在UDDI注册中心注册。UDDI注册中心保存有指向WSDL描述和指向服务的指针。一旦服务客户需要使用服务,则先查询UDDI注册中心找到相应的服务并获取相应的WSDL描述和指向服务的指针。服务客户使用所得到的WDL描述构造一条SOAP消息,服务客户与Web Service之间使用此消息进行通信。三者的关系如图1所示:550)this.style.width=550;" border=0>3 Web Service的架构Web Service是基于服务的体系架构。其体系结构关心3个方面的问题:服务的描述,服务的注册发布和服务级的通信。Web服务体系结构提供了3个协议WSDL(Web Services Description Language)和UDDI(Universal Discovery Description Integration)以及SOAP协议。其中WSDL和UDDI用来描述和发布Web服务,SOAP 协议于具体的网络传输协议,应用程序可以通过它调用Web服务,访问UDDI节点,以及相互通信,其技术实现如图2:550)this.style.width=550;" border=0>该模型涉及到3个实体即Web服务提供者、Web服务请求者、Web服务代理者和3个操作即Web服务的发布、发现、绑定。服务提供者(Service Provider),也叫服务提供商,它为处理一系列特定任务的软件资源提供服务接口,是Web服务的制作者和拥有者,它在Web服务注册中心通过发布操作将其Web服务提供给互联网用户。服务请求者(Service Requester),也叫服务使用者,它向Web服务提供者发送SOAP消息,发现并调用其它企业提供的服务,在某些情况下,提供者节点就在本地的企业内部网上,它也可能存在于远的端的因特网上。服务代理者(Service Requester),也叫服务使用者,它向Web服务提供者发送SOAP消息,发现并调用其它企业提供的服务,在某些情况下,提供者节点就在本地的企业内部网上,它也可能存在于远端的因特网上。服务代理者(Service Broker)作为服务的中介者,Web服务提供者和Web服务使用者之间的桥梁,通过它服务提供者可以发布或注册他们的服务,服务请求者通过它能够发现和定位所申请的服务并获得用来绑定服务的信息,从而完成所要的服务。Web Service的3种操作。其中发布/撤消:服务提供者在一个或多个注册处登记他们已有的服务,或者撤消已经注册的服务;查找:服务请求者与一个或多个注册处建立连接,查询能满足他们需求的服务信息;绑定:服务请求者和服务提供者之间建立服务路径。4 用Web Service技术实现一卡通系统集成4.1 Web Service技术集成的体系架构综上所述,我们可以利用Web Service良好的封装性,跨平台性及以简单灵活性在校园一卡通中得到很好的应用。在传统应用集成模型中,为了能使第三方系统能顺利接人,需要在本系统与第三方系统之间加一个代理服务器,用于提供给第三方客户端应用程序以及企业本身系统的接口程序,由于系统本身复杂以及第三方系统的需求使得代理服务器变得很“胖”。并且由于系统之间本身存在着异构问题,这就使代理服务器的设计变得复杂起来。为此,我们提出Web Service技术就解决了异构系统的集成问题。可以通达Web Service技术进行整合,对服务进行定义,从而隐藏旧应用接口的一些复杂性,异构系统之间的交互难题可以得到很好的解决。550)this.style.width=550;" border=0>例如,如图3所示,校园一卡通系统中现存的各个子系统应该被看作Web服务体系结构中的服务提供者的角色,而中间层看作是Web服务体系结构中的服务请求者的角色,它们对上层子繁提供的服务发出了调用请求。由于上层子系统各自的功能服务已经由WSDL进行了统一的抽象描述,以统一的接口形式暴露给下层,中间服务层氢对各个子系统的服务调用请求按照SOAP规范进行封装,就可以顺利实现相关的调用。一般来讲,在WEB服务体系结构中,在两者之间增加服务注册中心,上层服务经过统一格式化的接口服务描述信息通过它注册,上层的服务提供者通过它的服务发布UDDI数据模型的形式信息发布到服务注册中心(该注册中心在校园局域网上),并以UDDI数据模型的形式储存起来。而下层的服务请求者则通过UDDI的查询PI对服务注册中心的信息进行检索,找到需要的内容,获得服务的WSDL描述信息,形成服务调用。4.2 上机系统的集成框架下面我们以某高校为例,看看其实现过程。上机管理系统是负责学校机房内的微机管理和对上机用户的上机安排及收费管理。作为校园一卡通应用服务中心的主要功能之一是要集成第三方上机管理系统,并且提供给第三方以电子银行服务接口,它通过检索内部私有的UDDI注册中心来获得内部系统发布的Web Service入口,并且调用这些Web Service,将调用结果返回给使用者。如图4所示。550)this.style.width=550;" border=0>其实现过程如下:1.帐户下载:上机系统服务器(机房服务器)通过WEB服务器上的TA—Read CardSimple通过memset(am);和nRet=TA-ReadCardSimple(am)dA后台据用户的帐户信息下载到本地数据库,(其中am是卡身份信息,包括姓名Name、性别、SexNo、学工号StudentCode、身份证号1DCard、身份PID、余额Balance、过期时间ExpireDate、消费密码Password、补助序号SubSeq。);同时用户上机产生的流水也是通过WEB服务器传回后台数据库。2.刷卡上机:当用户在出入验证机上刷卡上机时,出入验证机到本地数据库用nRet—TA—checkwL(AccountNo,CardNo,CheckID);验证用户身份,验证通过则显示帐户信息并将卡余额和已刷卡标志计入本地数据库,否则提示出错。3.登录注册,当用户在用户机上输入帐号登录时,用户机到服务器上验证此用户是否刷过卡,如果刷过卡且卡余额正常则允许登录;服务器微机号、帐户信息和上机时间登记下来。4.下机结算:用户下机时用户机发消息通知服务器,服务器便根据上下机时间生成一条消遇流水,用户出门刷卡时,消费流水经出入验证软件计算后,通过出入验证机上的应用程序服务器上的ThirdC传给WEB服务器,再由WEB服务器上传后台,本地库中的消费记录显示在出入验证机上,并把用户卡余额写到卡上。4.3 Web Service架构的基本流程我们可以简略地用下图5来描述使用web Service架构的基本流程。(1)用户通过第三方系统客户端登录,这个客户端可以是门户网站,也可以是客户端程序。(2)应用集成服务完成处理之后将格式化好的结果信息以HTML的形式返回给用户。(3)查询请求,应用集成服务通过检索私有UDDI注册中心获得用户需要调用的内部系统Web Service的描述信息,然后将查询和修改信息写入WEB数据库。(4)通过TA-CheckWL查询相关辅助信息(如帐号,卡号,开通状态),并返回结果。(5)用户通过应用集成服务TA-DownControlFile提供的Web Service信息,从后台数据库中下载黑白名单,确认自己帐号和身份信息;通过WEB服务器处理,作出相应的交易操作,并通过应用集成服务器上传给后台相应的交易流水。550)this.style.width=550;" border=0>6 结束语由于现代企业需要对信息化的高度集成管理,校园一卡通也会集成更多的第三方系统。本文给出了用Web Service技术,可以在校园一卡通与其异构系统之间实现无缝的连接和集成。Web Service体系结构以Web服务本身的松散耦合性、完好封装性以及跨平台的集成应用而备受广大专业人员的青睐。同时,Web服务技术是一个针对应用集成而发展起来的一门新技术,它可以简化系统集成,方便快捷的实现系统连接和交易处理,并且这种实现不需要考虑应用环境是什么平台,相信在以后的技术发展历程中会得到更多的应用和更快的发展。