基于XML消息中间件在一卡通缴费系统中应用研究.docVIP

基于XML消息中间件在一卡通缴费系统中应用研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于XML消息中间件在一卡通缴费系统中应用研究

基于XML消息中间件在一卡通缴费系统中应用研究   摘 要   从XML诞生以来已经应用到了各个领域,同时其安全性也更多地受到人们的关注。本文以中间件的结构建立了一个面向XML的安全中间件系统,并应用在高校的一卡通服务中,实现了跨平台的信息交换,同时保证交易信息的机密性、完整性、真实性和抗否认性。   【关键词】中间件技术 一卡通 XML技术 密钥体制   1 基于XML消息中间件的安全应用   校园一卡通对于学校来讲,要求大部分的数据都具有较高的安全性,在这样复杂的应用环境下使用,就对证数据的保密性要求更高。在多系统中利用消息中间件进行数据传输时,为了保证数据在网络中存储和传输的保密性、完整性、发送方身份认证、不可否认性和存取控制等操作,就要采用一些加密技术。XML数字签名是公开密钥加密技术的一种应用,是用于保证XML数据内容没有被恶意篡改,为使XML数字签名可以适应任何平台,所以对XML进行标准化签名,这样可以让其数据内的信息和标识能够生成唯一的数字签名,同时对非重要信息进行忽略处理。用户端接收文件时就同步验证XML签名,同时通过对比运算和信息内的数字签名来确认数据是否完整。   2 XML消息中间件的安全模型建立   根据XML在数据交换中的安全性质,并将MOM模型与XML加密技术、数字签名技术相结合,提出关于XML消息中间件的安全模型结构,它是由数据接入层、安全层和控制层组成。   数据接入层是对应用程序数据及接口进行转换处理,用来提供适合XML文档要求的数据。安全层是本设计模型的核心层,它是由加密模块、签名模块和XKMS注册密钥服务组成,此模块实现对数据的加密安全转换。其中加密模块严格遵照XML加密规范要求进行加密,数字签名与加密操作是无序的,也是可以选择的,在发送的信息中会包含操作和顺序的数据,用户端可以根据信息来反向处理数据信息,并最后得到所请求的信息。控制层是对消息数据队列管理和存储功能,以此确保消息数据准确的传送到用户端。   3 XML消息中间件在一卡通缴费系统的应用   3.1系统设计   目前校园一卡通数据中心服务器的OS为UNIX,采用Oracle9I的 数据库管理系统,缴费系统应用OS为Windows2008系统,采用微软的SQL Server2008数据库管理系统。即如何对跨平台实现不同数据库连接问题和如何对数据传输准确、安全、高效等问题是该系统重点需要解决的问题。为了有效解决跨平台数据传输等问题,本系统采用了分步式服务器设计方案,后台由两台服务器构成,分别是校园一卡通核心服务器和学生缴费系统服务器组成,终端为在学校各教学楼宇的刷卡POS。   考试报名缴费系统中的核心是数据处理模块,该模块的设计要求必须安全、准确的获取和处理传输的数据,如图1所示。   设置XML安全模块:进行XML文档封装后的数据实现数据加密、数据解密、数字签名和验证功能。   消息队列模块:根据多任务的需要,通过Windows管理所有的资源,以便于进行统一处理。Windows为每个线程(包括主、辅、UI线程)维护一个消息队列,我们再从线程所属的消息队列中读取消息。设置消息队列模块步骤如下:   (1)消息队列的读取。Windows为我们提供了两个从当前线程的消息队列中读取消息的API:GetMessage、PeekMessage,两者通过指定hWnd读取指定窗口消息,hWnd=0读取所有消息,区别是GetMessage会一直等到消息出现,而PeekMessage在没有消息的情况下会直接返回0。这两个API的区别有点像以前Basic的Input和Inkey。   (2)消息队列的写入。大多数消息由Windows维护,不过Windows提供了两个向消息队列写入的API:PostMessage、PostThreadMessage,PostMessage向hWnd指定的窗口发信息,即向窗口所在的线程的消息队列写入消息。当hWnd=HWND_BROADCAST时向所有顶层窗体发信息,hWnd=NULL时向当前线程的消息队列写消息PostThreadMessage:向指定的线程的消息队列写入消息,这些消息可以用GetMessage、PeekMessage读取(指定hWnd参数=NULL可以读取所有消息包括线程消息,PeekMessage还可以用hWnd=-1读取线程消息)。   (3)其它设置。SendMessage:向窗口发信息,调用指定窗口过程并等待返回。窗口过程是Win32下的东西,大概是因为不能面向对象,所以为各个窗体各写一个消息处理函数达到代码隔离。简单的说就是一堆case语句;   DispatchMessage:自动分发消息。将当前信息(用GetMessage、PeekMessage读取的)分发到各个窗口过程;   Tr

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档