基于XML接口数据报文设计与实现

时间:2022-07-13 04:41:58

基于XML接口数据报文设计与实现

摘要:当前电子商务高度发展,信息孤岛是远远满足不了现代的发展,各个系统需要进行整合、银行、移动、电信等系统在进行整合设计不断的服务于人民群众。系统与系统之间的整合就需要提供接口、接口的数据报文设计与实现是接口的一个比较关键的部分,它的设计安全性、人性化直接影响着系统的使用和维护。该文主要研究一个基于XML下的话费充值接口的数据报文的设计与实现。

关键词:XML;数据交换;充值报文设计

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012) 04-0764-03

XML-based Interface Design and Implementation of Data Packets

ZHENG Xiao

(Xi’an Institute of Foreign Affairs, Xi’an 710082, China)

Abstract: Highly developed current e-commerce, information silos is far from meeting modern development, the need for integration of various systems, banks, mobile, telecommunications and other systems during the integration of services designed to keep the masses. Inte? gration between systems need to provide an interface, interface design and implementation of data packets is the interface to a more critical part of its design security, user-friendly system directly affects the use and maintenance. The main research an XML-based prepaid re? charge under packet data interface design and implementation.

Key words: XML; data exchange; recharge packet design

随着计算机技术的日益普及和信息高度发展、网络通讯技术的迅猛发展,XML技术也在逐渐形成与发展,XML使得Web在In? ternet革命浪潮中更适合作商务,XML将成为电子商务的首选平台。在现代信息化办公和电子商务高度普及的潮流下,系统与系统之间的通信已经是刻不容缓,如何来设计系统接口的报文格式这是系统接口必须考虑的课题。

1XML数据交换特点

信息的高度发展,使得越来越多的信息进入了互联网,信息的交换、检索、保存以及再利用的等等的需求,使得孤岛的信息越来越日不从心了。例如在人民想做在家里足不出户享受网购,这需要银行提供支付接口,接口的报文格式遵守各大银行的服务标准。我们希望在家进行手机充值,这个同样需要移动提供话费充值接口。尽管接口千差万别、级别也不一样。但是我们去除一些细节资料,接口的设计主要在报文格式的定义上面,报文格式定义好,接口也就定义好。在报文格式的定义上接口的复杂程度各不相同,有的是基于SOCKET的字节报文定义,我们这主要研究并讨论一套基于xml的报文设计与实现。

1.1 XML介绍

XML是eXtensible Markup Language的缩写,意为可扩展的标记语言,是由World Wide Web联盟组织(W3C)定义的元语言[1]。XML是标准通用标记语言SGML(Standard Generalized Markup Language的)一个子集,与超文本标记语言HTML也有相类似的地方,但实际上它是针对SGML和HTML的局限性而创立的[2]。简单地说,XML是一组规则和准则的集合,用于以无格式文本(而不是机器专用的二进制表达)来描述数据。技术上,它是一种语言,用于创建其他基于插入标记的语言以帮助描述数据。然而,XML实际上不只是标记。XML是标记和内容的组合,其中的标记将含义添加给内容。XML突破了HTML的固定标记集合的约束,用户可以根据需要定义任何一种标签来描述文档中的数据元素。它的基本思想是利用数据标识表示数据的含意,利用简单的嵌套和引用来实现数据元素之间的关系。

XML作为描述数据组织结构的标记语言[3]主要包含三个要素:DTD(Document Type Definition,文档类型定义)或XML Sche ma(XML模式)、XSL(eXtensible Stylesheet Language,可扩展样式语言)和Xlink (eXtensible Link Language,可扩展链接语言)。DTD和XML模式规定了XML文件的逻辑结构,定义了XML文件中的元素、元素的属性以及元素和元素属性之间的关系;XSL是用于规定XML文档呈现样式的语言,它使得数据与其表现形式相互独立;而XLink进一步扩展了Web上已有的简单链接。

2移动话费充值接口

2.1充值流程

如图1所示移动拓扑图,这里只讨论二级,一级拥有一级的客户、二级拥有二级客户,移动拥有自己 的客户群。在二级在做移动充值业务的流程如图2所示,是通过自身与一级的网关接口发送充值请求,一级在接收到充值请求后向移动发送充值请求。二级接收充值结果流程是从移动充值结果是移动发出充值结果通知一级,一级在接收到充值结果后通知二级。N级情况雷同,现实生活中是存在多级的。

图1移动拓扑图

移动在发送充值请求以后进过多级路由,这里只采用二级示意,终止到达底层网关,在移动进行充值操作以后给出相应的回执报文包,这个回执报文包是冲移动网关一直向外层进行一个路由的过程,其过程如图2所示。

图2充值请求与通知流程

2.2充值报文设计

移动电话的发展打破了通信与地点的之间的固定限制。今年来数字通信在全球取得了突破性的发展,如何与移动系统进行整合也是现在必须面对的一个课题。实现移动话费充值中XML接口,有重要的作用:

实现移动系统和其他相关系统的整合经常需要和其他的系统进行数据上的相互对账、通信。例如,移动提供在线充值时需要把充值请求数据发送到上一级,所请求的系统在收到请求数据之后做出相应的动作相应,然后给请求者发出相应的动作回执,请求者根据被请求的系统给出的回执进行移动的动作相应,也就是通常说的业务逻辑。例如进行对帐,扣款等等。在移动系统和其他系统的交互过程中,可以用XML接口来实现移动系统和其他系统(如、银行、第三方充值平台等系统)间交换以XML文档形式交换、存储的数据。该方式可以有效地避免以直接数据库进行数据交换可能带来的格式不一致的问题。话费充值接口设计:主要是向商接口提交移动手机充值业务,接口根据提交订单给予回执。我们在这里首先介绍向商提供充值请求的报文格式:在这里我们来讨论移动话费充值请求的一个案例,在第三方充值平台也就是移动话费充值点我们定义为A1,收到客户C1充值请求以后,A1做出相应的动作,这里A1可能有必要进行一些其他一些业务逻辑,我们这里别开一些无关的动作,单纯来看A1需要发出充值请求,这个充值请求时通过A1的充值网关向上一层发送充值请求,现在比较常用的也是比较简单的在企业级接口中是发送HTTP请求这样可以加快开发速度并且稳定性比较好。在A1发送充值请求以后,这里是通过HTTP协议,A1必须等待A1上一级的发送一个回执数据包,这个数据包我们这里用XML定义,这个用XML定的优势主要有下几点:

1)XML是一个跨数据库平台,对数据库异构利器。

2)XML可扩展性和维护性相当好。XML是一种人性的配置格式和数据存储格式,扩展起来相当的方便。它不像SOCKET通信中那样,虽然他底层走的是一种字节流是计算机界的鼻祖流形式,这种接口有一个弊端是,协议定义的是通过字节来定义,这样进行协议的扩展和维护性相对XML是比较逊色。

我们设计A1收到的回执的报文格式如下XML所示。

xxx

xxx

xxx

xxx

xxx

在这里定义Status表示充值请求状况它是回执可能出现的情况,A1可以根据XML报文进行解包,解包出来的Status专题编码的含义如表1。

在DOT NET环境下回执相应实现相应逻辑:

接口服务端设计(受理充值操作为服务端):

1)验证客户端请求过来的充值参数,参数不合格给出相应提示,请求终止,错误状态编码参考表1.

2)记录请求充值请求日志。

3)进行充值操作,并且记录相应的信息并且进行相关业务逻辑,例如扣款等动作。

表1充值请求回执数据库包状态编码解释

4)根据结果给出相应的回执报文通知请求者,回执报文如上XML定义。

接口客户端设计(发起充值请求者认为客户端):

1)验证相应充值数据

2)发起充值请求

3)等待充值回执并做出相应的操作。

3结束语

系统主要是讨论了XML在系统接口方面的应用,从业务流程上分析接口的参数到报文格式的定义,然后定义XML格式来满足报文格式,并且在DOT NET开发环境下得以实现,系统的实践性强,具有一定的应用价值,在接口方面比较方便,在安全方面也要进一步加强。

参考文献:

[1]范永全,张俊兰.基于ASP.N ET和XML的网络考试系统[J].计算机工程与设计,2006,4(8):1472.

[2]罗翎,石纯一.Agent协作求解中形成联盟的行为策略[J].计算机学报,1997,20(11):961-9 65.

[3]周杭霞,夏荣钊,何利力.基于XML数据安全交换的方法[J].计算机应用研究,2006(4):126.

[4]韩立毛.基于web的网络在线考试系统的设计与实现[J].计算机与网络,2007(18):55.

[5]田分,徐向红.在线考试系统中的考试计划流程设计[J].计算机工程,2006,12(23):281.

上一篇:AHP在高校师生信息素养评价体系中的应用 下一篇:无线传感器网络系统的设计