基于REST的WebService在CDM中的应用

更新时间:2024-03-30 作者:用户投稿原创标记本站原创 点赞:4354 浏览:12949

摘 要:深圳机场协同决策系统(CDM)是在采集、整合机场终端运行系统中各单位的运行和业务信息的基础上,实现信息的发布和共享,使各单位获得机场运行相同的情景意识,提供协同决策的基础平台.本文对实现该系统数据交换的Web Service进行了介绍,并重点探讨了基于REST实现方式的应用.

关 键 词 :协同决策 Web Service REST

中图分类号:TP39 文献标识码:A 文章编号:1672-3791(2014)02(a)-0005-02

协同决策制定CDM(Collaborative Decision Making)是指能够采集、整合和共享航班保障运行系统中各单位的运行和业务信息并在此基础上提供各种决策工具的平台[1].CDM的核心理念是联合所有空中交通活动参与者与管理者,共同提高空中交通管理水平、机场运行效率和怎么写作水平.

深圳空管站从2007年开始,经过多年努力,主导研发了深圳航班运行协同决策系统(包括空管航班排序系统和协同决策系统两部分,以下简称CDM),于2011年9月29日完成在深圳空管站、深圳监管局、珠海空管站、澳门塔台、珠海进近、深圳机场和深圳驻场各航空公司的部署工作,开始试验运行;并于2012年5月10日通过了民航局人事科教司组织的项目成果鉴定.鉴定委员会一致认为:该系统开创了航班运行保障新模式,填补了国内的空白,达到了国内领先水平,具有显著的社会和经济效益[2].

CDM主要采用Web Service技术在异构系统间进行数据交换.过去,Web Service在CDM中的实现方式普遍基于XML的SOAP.本文在CDM系统中进行了基于REST实现方式的研究和应用尝试.

1.Web Service在CDM中的应用

Web Service是部署在Web上的软件组件或应用程序,提供了某种特定的功能怎么写作,可在Web上发布、发现和使用.Web怎么写作的最大特点是:具有Inter层面上的标准描述和接口,Web Service以一种平台和编程语言无关的方式解耦合了怎么写作提供者和怎么写作消费者,这一重要的特征把Web Service和其他一些绑定特定平台和编程语言的解决方案区分开来.通过以一种标准的方式暴露接口,Web Service提高了应用的重用性和可适配性.

CDM数据交换定义了多种报文格式,这些报文使用现在业界流行的XML文件格式(SOAP规范),便于扩展和应用,每种报文用于不同的航班信息交换,如用于航班计划交换的报文、用于气象信息交换的报文、用于航行情报交换的报文等.

CDM系统对外公布Web Service接口供各个系统调用.Web Service接口接收各方发送的报文,并将结果返回给各个调用方.CDM数据交换接口的内部具体处理流程分为:XML文件解析接口、数据策略接口、业务数据保存接口及XML日志处理接口.

CDM的网络连接示意图如图1所示,使用基于SWIM技术的概念,CDM为中心节点,接收和提供其他系统所需要的信息,避免了以往蜘蛛网的网络结构,使得系统在简单的架构下实现强大的信息交换能力.

2.REST技术标准

在当前的Web Service领域存在着不少技术标准,其中最主要的两个是WS-*(SOAP)和REST.WS-*基于通讯双方的互操作流程定义操作方法来实现Web Service;而REST则采用了和获取网页类似的架构,通过定义资源采用标准HTTP来实现通讯双方的互操作.

SOAP是一个基于XML定义的消息架构和消息格式以及一套基本的处理协议.整个WS-*是由很多相关的技术规范组成的,由于这些成熟度各异的规范是由不同的标准组织来维护和支持的,因此规范之间可能是互为补充、部分重叠、甚至是相互竞争的关系.这种各模块独立的发展方式导致了WS-*变成了一个庞大并复杂的技术规范集.WS-*规范包含了很多用来支持高级功能的子规范,但了解这些规范并且真正使用的人并不在多数[3].


REST并不是一种具体的实现技术,而是一种软件架构风格,主要有以下特点:从资源的角度来考察整个网络,每个资源有唯一标识;使用通用的连接器接口操作资源;对资源的操作不会改变资源标识;连接协议具有无状态性;能够使用Cache机制来增进性能.REST风格几乎是为HTTP协议量身的,在HTTP协议中用URI来标识唯一的资源,用GET、PUT、POST、DELETE等动词来操作资源,HTTP协议是无状态协议,可以通过Cache来提高性能.基于REST的架构风格,人们把它使用到了Web怎么写作中.在目前主流的三种Web怎么写作实现方案中,REST的Web怎么写作比基于SOAP和XML-RPC方式的Web怎么写作更加简洁高效.它直接使用HTTP协议就可以实现Web怎么写作,不需要额外的封装协议和远程进程的调用[4].

由于REST直接利用了现有成熟的W3C/IETF标准,使得人们使用它的学习成本很低.正如图2所示那样近几年人们对REST的使用程度已远超SOAP.

3.REST在CDM中的应用

目前CDM中的Web Service主要以满足SOAP规范的XML交互数据为主,采用了JSON格式交互的REST Web Service在部分产品上做了尝试.实际使用中发现,无论是开发的便捷程度,还是运行的效率,REST方式都要略胜一筹.由于没有数据格式的限制,可以基于应用需要选择轻量级的消息格式,REST给了CDM平台更大的自由度来对怎么写作性能进行按需优化.

如图3为CDM中图形化航班查询界面,该模块前台使用基于Flex实现的GIS技术,将机场气象信息与出港航班动态进行了初步融合[5].在Flex获取CDM后台数据(包括航班动态信息、主要机场和目的地相关机场的天气情况)的选用方案中,XML显得臃肿复杂,Flex拆包解析XML的效率没有JSON高效.更进一步,该模块部分功能调用了浏览器的JaScript容器运行,JaScript对JSON的直接支持更是XML方式望尘莫及的.

4.结语

CDM需要在各种异构系统间交换数据,因此Web Service的应用场景最为普遍.SOAP/XML和REST/JSON是主要的两种实现标准和数据格式.相对于SOAP方式的臃肿,REST方式实现的Web Service在深圳CDM系统中的应用是简洁有效的.根据应用的不同需求,在目前SOAP之外再暴露一套定义良好的REST Web Service接口是一个可行的并且合理的解决方案,来使得CDM的更多应用成为具有可交互性的怎么写作.