维普资讯 http://www.cqvip.com T技术 Science and Technology 浅谈HTTP协议与XML技术的信息交换 廖旭金 (天津企业管理培训中心 天津 300074) 摘要:本文讨论了在基于HTTP协议与XML技术的信息交换过程中,对其从数据获取、传输以及外部处理的应用进行分析,介绍了 如何在无状态的基于HTTP协议的交互中实现数据库访问的事务处理,对XML在企业间信息交换中的工作机理和应用模式进行了探讨。 最后结合电厂网络培训系统说明了其具体的实现过程。 关键词:HTTP协议XML Base64 信息交换 中图分类号:TP391 文献标识码:A 文章编号:1673~O534(2OO7)O9(a)一0015一O1 6Bit组按以下方式转换成ASCII码,6Bit的二 (1)HTTP与XML 进制代码共有64种不同的值,从0到63,用A 1基于H1_rP与XML的解决方案 如果AD0执行后有结果数据需要返回 (Recordset或其它),则把结果数据以XML格 HTTP是一个属于应用层的面向对象的 协议,由于其简捷、快速的方式,适用于分布 式超媒体信息系统。HTTP协议的主要特点 可概括如下: ①支持客户服务器模式; ⑦简单快速:客户向服务器请求服务时, 只需传送请求方法和路径, ③灵活:HTTP允许传输任意类型的数据 对象; ④无连接:限制每次连接只处理一个请 求; ⑤无状态;HTTP协议是无状态协议。 XML是SGML(standardgeneralize— dmarkuplanguage,标准通用标记语言)的子 集,其目标是允许普通的SGML在web上以 目前HTML(hypertextmarkuplanguage)的方 式被服务,接收和处理,XML被设计成易于实 现,且可在SGML和HTML之间互相操作_2_。 相对于HTML而言,XML有与平台无 关、XML自描述性的、严格的语法和逻辑、保 值性等优点。可以看到,基于HTTP协议传输 的异源与异构的数据可以用XML描述,而且 通过制定置标语言来统一现有数据。 (2)基于XML的网络信息描述 直接采用XML文件来存储数据,具有良 好的开放性,可以对其直接进行管理,这样开 放性好,并且数据是动态变化的,可以跨平台 运行、允许不同来源的数据无缝集成。同时, 所有XML文档都是良构的,即所有的构造在 语法上都是正确的;只有一个顶层元素,即根 元素,所有的起始标记都有对应的终止标记, 或者使用空元素速记语法;所有的标记都正确 嵌套,每个元素的所有属性都是不同名的。 XML文档传输过程中,无论是无线网络, 还是有线网络,都是以统一的格式在网络上传 输的。以在传输过程中全部是字符串的格式 为例:如果需要传输的信息是整型、浮点型等 数据类型时,通过编程语言的类型转换功能转 换成字符串类型的数据;当传输的文件含有图 片时,需要将文件的图片通过Base64编码成 字符串格式,再将数据存储到XML文档的节 点。 Base64编码本来是一种基于网络传输的 加密算法。它的特点是:①速度非常快;②能 够将字符串A转换成字符串B。XML的网络 信息描述过程中正是利用Base64编码的字符 串转换的特点实现将二进制文件转换成字符 串形式。Base64要求把每三个8Bit的字节转 换为四个6Bit的字节(38=4 6-24),每一个 表示0,用B表示1,等等。26个大写字母排列 式存储在D0MDOCument对象中,通过 完毕后,接下去再排26个小写字母,再后面是 DOMDocument.LoadXML从数据服务器中获 10个数字,最后用+表示62,用~表示63。 得XML格式的数据,使得ASP可通过Object. 然后把6Bit再添两位高位0,组成四个8Bit的 xml属性获得XML格式的结果数据,最后通 字节,也就是说,转换后的字符串将要比原来 过Response.Write的方法把数据以XML文 的长1 3。例如: 档的方式发给远端调用者。 转换前:1 1010101 1 10001O1 001 1001 1 (3)数据源处理 转换后:0011O1O1 00011100 00010100 当接收到Web服务器上的数据访问请求 00110011 后,通过ADO执行SQL进行查询、添加 删 二进制图像经过Base64编码后转换成字 除、更新等操作修改数据库中表的数据。如果 符流,通过XML封装成文档的一个节点。一 有结果数据返回则把结果数据返回给Web服 幅黑色的背景图通过Base64编码后即为下边 务器。 的字符串:Qk0WAgAAAAAAADYAAAAo (4)异常处理 AAAADQAAAA 信息在交换过程中采用HTTP协议和 AAA。所有的非字符信息经过转换编码后变 ASP机制作为信息的传递者并以XML格式作 成字符串封装成一XML文件,便于信息传输。 为信息的标准封装格式 因此,当有错误发 生时,就必须告诉客户程序是什么原因引发了 2分布式体系结构及数据传输过程 错误,以便远程客户程序能够进行正确的处 (1)客户端处理过程 理。在基于xML的三层分布式模型的设计 远程客户由于运行客户应用程序的数据 中,可以把错误大致分成如下4类:客户方本 访问请求,其请求可以是任意个SQL命令,或 地的数据访问组件出错,直接采用On Error 者是复杂的存储过程命令。然后客户应用程 Go to O和Error.Raise直接引发出错事 序的各种命令以xM L格式打包到D0M 件;远程网络连接出错,即访问不到Web服务 Document组件,如果数据是非字符串格式的 器;ASP页运行出错,包括调用服务器端组件 其他类型格式的数据先通过格式转换和编码 失败;服务器端数据访问服务器组件运行错 成字符串格式,同时把打包好的XML文档通 误,该错误内容均放入XML文件,由ASP转 过HTTP协议发送给Web服务器,等待远程 交给客户方组件上报。 数据库的处理结果。最后把接收到的XML数 据放入DOMDocument组件,进行XML解析, 3结语 并把解析后的数据返回给客户应用程序。如 在基于HTTP协议与XML技术实现信息 果是记录集,则返回Recordset,由客户应用程 交换的过程中,采用分层的体系结构,使得远 序进行使用。 程客户端通过web服务器访问数据库时,可以 (2)web服务器上的处理程序 避免通过网络传输数据库的登录口令,提高了 Web服务器上的处理程序是由脚本语言 系统安全性。同时,基于HTTP协议的传输, 写的ASP页,其主要完成如下任务:对来自客 能够方便地穿过Intranet的防火墙,保证整个 户端的请求进行身份校验,身份校验正确后接 系统的可靠性。另外,基于XML的Web应用, 收客户端的XML数据,同时把接收到的数据 由于系统xML本身是传输的数据,因而方便 传给数据访问服务器组件;接收由数据库服务 程序对传输数据的处理和传输。这种方法已 器组件返回的XML数据;把接收到的xML数 在电厂网络培训系统中得到了较好的应用。 据发给客户端。 当ASP页被一个客户端请求激活时,首 参考文献 先进行身份校验,如果不正确,则返回一个校 [1】肖延松,孟波,熊德林,杨子晨.基于xML 验出错处理。校验通过后,ASP页将创建一个 的数据交换在分布式Web系统中的应用 DOM Document对象,并通过D0M Docu ….电脑与信息技术,2002(1):57—6O. ment.1oad方法接收来自客户端的XML数据, [2】ExtensibleMarkupLanguage(XML)1.0, 同时对来自客户端的XML数据进行解析,将 http:www.w3.orgTRREC—xm1. 它转化成数据访问请求(包括查询、添加、删 除、更新和存储过程的调用等),并通过ADO 来执行解析结果。 科技咨询导报Science and Technology Consulting Herald 1 5