(计算机应用技术专业论文)基于web服务的民航数据交换和共享平台的研究.pdf_第1页
(计算机应用技术专业论文)基于web服务的民航数据交换和共享平台的研究.pdf_第2页
(计算机应用技术专业论文)基于web服务的民航数据交换和共享平台的研究.pdf_第3页
(计算机应用技术专业论文)基于web服务的民航数据交换和共享平台的研究.pdf_第4页
(计算机应用技术专业论文)基于web服务的民航数据交换和共享平台的研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)基于web服务的民航数据交换和共享平台的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中田民用航空学院硕士学位论文 摘要 在民航企业信息化建设迅速发展的今天,如何为公众提供一站式服务和实现民航企 业间协同工作时的数据交换和共享,已经提出了多种解决方案。但已有方案运用于松散 耦合,跨地域的民航各系统中会出现耦合度大、成本高、实施复杂等问题。集完好封装 性、松散耦合性、协议标准性和高度可集成能力为一身的w e b 服务技术的出现带来了新 的解决思路。 本文分析、比较了当前已有的数据交换与共享解决方案,针对这些方案缺乏统一标 准、平台依赖性强、可移植性差、系统耦合度大等缺陷,提出了采用w e b 服务技术和j 2 e e 开发领域中流行的s t r u t s 和h i b e r n a t e 应用框架,由应用服务节点、中心节点、子节 点三部分组成的民航数据交换与共享平台的实现方案。把w e b 服务技术作为各节点间统 一的、标准的数据交换技术标准,从而实现各节点间跨网络、跨操作系统、跨数据库的 和透明的数据交换。利用s t r u t s 应用框架把应用服务节点w e b 应用程序的输入、处理 和输出进行了很好的分离。通过h i b e r n a t e 持久层框架解决了各节点异构数据库之间由 于数据格式不同造成的数据不能共享的问题。 本文针对民航企业中实际存在的问题,从分析需求出发,详细的阐明了平台开发和 部署的关键环节,并给出了平台的原型系统和原型系统的性能测试,从实际角度证明了 方案的可行性。 关键词:数据交换和共享,w e b 服务,瑚l j 2 髓 中国民用航空学院硕士学位论文 a b s t r a c t a s l ec i v i la v i a t i o ne n t e r p r i s ei n f o m a t i o nc o n s t 九l c t i o nd e v e l o p i n gr a p i d l v ,m o r ea n d m o r es o l u t i o n sh a v eb e e r a i s c do u ta b o u th o wt oi m p l e m e n tt h ed a t ae xc :h a n g ea n ds h a r e b e t w e e nt h ec o o 口e r a t i o n 醐吣n gc i v 主la v i a t i o n 锄t e f p r i s e s b u tw h e n 也o s es o l u t i o n su s e do n t h ec o u p l i n 舀r e 百o n c m s s i i l gc i v i la v i a t i o ns y s t e m s ,m a n yp m b l 锄sw i l la p p e a rs u c h 勰t i g h t c o u p l i n g ,h i g t l s t ,c o m p l i c a t c di m p i e m e n t 卸ds oo n t h ea p p e 蝴m c eo fw e bs e r v i c e t e c h n o l o g yt h a l i sm t a c te n c 印s u l a t i o n ,1 0 0 s e l yc o u p l i n g ,p m t o c o ls t a n d a r da n dh i 曲 i n t e g r a t i o nb r i n g su st h en e wp a t h t br e s o l v et l l el i m i t a t i ss uc :ha ss h o no fu n j 丘e ds t a n d a r d l l i g t l l yr e l y i n 窟o np l a t f o n n , l o w 仃a n s p l a n to ft h ee x i s t i gs o l u t i o so nd a t ae x c h a n e e ,m i sd i s s c n a t i o np s e n t san e w s 0 1 u t i o n u s i n gt l l ew 曲s e n ,i c ct c c h n o l o g y 硒w e ua st h cs t n l t s 扎dh i b c m a t c 印p l i c a t i o n 丘a m e w o r k st l l a ta r cv e r yp o p u l a ri nj 2 i ! ea p p l i c a t i o n s ,t h es o l u t i o ni sc o m p o s e do ft h em f e e p a r t s :s e r v i c cn o d e ,m i d m en o d ea n dc h i l dn o d e w b bs e r v i c ei n l p i 锄e n t st l l ed a t ae x c h a n g e o ft h e 盯e en o d e s t l 他s t m t s 缸m e w o r ki su s c dt op 加c e s st h ei i i p u t ,o u t p u ta n dt r a n s a c t i o n o fm es e 妣n o d e t h eh i b 啪a t ef r 啦c w o r ki su 墨鲥t os o l v et h ep r o b k mt h a tt h ct h r c e n o d e sc 蛐o ts h a r et h ed a t ab e c a u s eo ft h ei n c o m d a t i b l ed a t a 如i n n a t t br e s o 王v et h ee x i s t i n gp r o b l e mi c l l i n a sd v i la v i a t i o nc n 帅r i s e ,t h ed i s s e r t a t i o a n a l v z e st h er e q u i r 哪e n t s ,觚dt 1 1 i l l u s 仃a t e st b ek e yp o i m so fp l a t f o md e v e l o p m 吼ta n d d e p l o y m e t t h ed i s s e r t a t i o na l s op r e s e n t st h ep r o t o t y p es y s t e m 髓di t sp e r f o r m a n c et e s t i n g w h i c hp r o v t h ef e a s i b i l i t yo ft h e l u t i o ni nap r a c t i c a lp o i n t k e y w o r d s :d a t ae x c h 柚g e 卸ds h 盯c ,w 曲s c r v i c e ,x m lj 2 髓 i i 中国民用航空学院学位论文独创性声明 本人声明所里交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得中国民用航空学院或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 研究生签名:缝日期研究生签名:11 :l ! : 日期 2 e ? 中国民用航空学院学位论文使用授权声明 中国民用航空学院、中国科学技术信息研究所、国家圈书馆有权保留本人所送交学位论 文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公 布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权中国民用航空学院研 究生部办理。 研究生签名:垃导师签名研究生签名:f ! ! 导师签名日期 2 ,。6 ,届 中国民用航空学院硕士学位论文 第一章绪论 1 1 民航数据交换和共享平台的目的和意义 随着网络建设的发展,特别是i n t e r n e t 网络的普及,企业信息化的进程正 在改变着企业传统的运作方式。越来越多的企业、部门都在逐步依靠计算机网络、 应用系统来开展业务。网络越来越成为机关、单位、个人之间进行信息交流的一 条重要途径,成为信息交换的一条重要纽带。 在网络环境下,如何在使用不同技术、具有不同功能、遵从不同标准的异构 系统之间,实现平滑和安全的数据交换与茫享,是当前面临着的一大难题。特别 是当交换问题涉及到跨地域、跨部门、跨业务对,如何能建立一个面向信息资源 整合的平台,在横跨多个地域、多个业务部门或同部门的多个机构的业务系统之 问进行数据交换和共享,成为实施企业信息资源共享必须解决的问题。 1 1 1 数据交换和共享平台的目的 民航经过多年的信息化建设,已经取得了十分显著的成果:建成了相当规模 的物理网络并建设了众多的信息系统。但上述高额投入、工程浩大的建设是在民 航旧有体制框架下展开的,由于信息化基础相对较弱,特别是应用水平普遍偏低, 因此带有比较明显的彼此分割、各自分散的特色。其结果,便形成了众多分敬的、 异构的和相互封闭的信息资源系统。在并构的航空集团内各航空公司之间这个现 象尤为明显,各航空公司之间的信息标准不统一,信息系统间不能进行互通。 民航现有的各信息系统缺乏统一的标准和规范,相应的支撑配套环境尚未形 成。民航企业运营所需要的关键信息并不能由当前正在运行的多个独立信息系统 提供,由此产生的多个“信息孤岛”。并构的航空公司之间也因企业信息化发展的 规划不同而面临同样的问题。如何避免“信息孤岛”,如何更好地向民航企业和 公众提供信息服务,是民航企业领导、信息主管和民航行业主管部门所关注的问 题。如何充分保护、利用民航企业在信息化上的已有投资,并保证新建信息系统 可以和原有系统进行资源共享,是现代民航企业信息化发展所面临的重大问题。 大量的数据以不同的格式分散存在于民航各个部门的数据库和应用系统中, 由于没有统一的电子平台对这些分散异构的数据资源集中起来分析和展现,数据 互不共享,无法为航空公司人员提供有效的市场分析和决策支持等服务 在这种情况下,有必要对分散于各个部门的数据进行整合,目的就是对种类 繁多,结构复杂的信息资源整合并进行统一管理。进行规范化的封装处理后,再 统一进行授权、发布等后续管理。 统一进行授权、发布等后续管理。 中国民用航空学院硕士学位论文 1 1 2 数据交换和共享平台的意义 为了解决民航各业务系统互通、互联、数据共享等问题,研制基于w e b 服务 的民航数据交换和共享平台系统。该数据交换和共享平台将多种不同结构、物理 位置分散的数据源组合在起,共同组成一个松耦合连接的数据系统。该平台不 仅成为企业级应用开发的数据来源,也为民航企业之间、企业与政府职能部门之 闻提供数据交换和共享的功能。 研制的民航数据交换和共享平台可以做到跨硬件平台,跨操作系统,实现多 平台、多协议、多操作系统之间的通信,对应用系统彻底保持透明,确保系统之 间的无缝连接。 民航数据交换和共事平台从不同的应用程序和数据结构提取数据源,完成在 线转换和分析。数据交换和共享平台整合了各种外部数据和内部应用系统数据, 综合利用信息系统的各种数据资源,提供灵活的数据访问和展现方式。通过民航 数据交换和共享平台系统,可以在一个异构环境下,用一种统一的方式组织来自 不同系统的数据,实现民航企业之间、政企之间相互的数据交流和资源共享。这 样即避免了重新开发系统的重复投资。又充分利用了现有的各种数据资源。 民航数据交换和共享平台系统将为民航企业、管理部门的应用系统提供一条 更为通用、廉价和高效的信息交换通道,解决了企业应用集成( e a i ) 和电子政 务中数据的平滑、自动、实时数据交互需求,增强了民航各企业及企业集团内部、 航空公司、机场、空管部门之间的信息交流,从而提高了整个民航企业的市场竞 争力,提高了民航职能部门的管理水平和协调能力。所以,民航数据交换和共享 平台对于民航系统的信息化建设有着极其深远的意义。 1 2 国内外研究现状 数据交换和共享是一个复杂的、系统的工程,它已经成为世界共同关注的问 题,其涉及到的技术也成为i t 领域研究的一个主攻方向。2 0 世纪9 0 年代,基 于i n t e r n e t 的集成技术成为研究的热点。该技术可以把传统的应用软件移植到 i n t e r n e t 上,从而摆脱硬件平台、操作时间、操作地点等方面的限制,达至q 信 息共享的目的。目前,这种集成技术迅速发展到以支持应用互操作的需求为核心, 以面向对象技术为主要特征的分布对象技术,在分布对象环境中实现信息资源的 重用、重构与共享,实现面向协同应用的信息共享与应用互操作i l 】。为此,国际 上出现了以对象管理集团( 0 m g ) 的c o r b a 、m i c r o s o f t 的c 洲d c 0 m 以及s u n 的j a v a 跳i 为代表的应用互操作技术规范标准,这些标准为研究企业各部门 间的信息资源的动态柔性集成与应用互操作,实现这些部门的信息集成系统提供 了有力的支持。 2 中圈民用航空学院硕士学位论文 近几年来,由于 ( m l 技术的兴起使大家注意到:可以利用自定义标准的数 据格式达到跨平台的数据交换和共享。) 【m l 提供了功能强堡藜鼋属羹蓊黉娑季基 嘉篓;鬟餮霆鏊型翼鹾鑫鬻搿凛蠢美霪戮萋嚣瑟骗鐾;荭墨筛设疆鬟荔即简纠 招黝钝驰她甄津鋈意篷犟;理r 霉嚣帮彝醵p 酣i 可嘤;烈蚪i 雾瓣i 青氖两斟 副氡确引s 淄晦瓣爨;稿“戡戟掣盈二 墅鬈鹱 e s sp r o t o c 0 1 ) ,它是一个 用于交换) ( m l 编码信息的轻量级协议。s o a p 采用x m l 作为编码方式。l 作为一 种标准语言,使消息非常易读,而且很容易为它编写编码器和译码器例。 随着异种计算机环境的不断增加,各种系统间的互操作性就愈显得必要。系 统之间要求能够无缝的进行通信和共享数据,从而在i n t e r n e t 环境下消除巨大 的信息孤岛,实现信息共享、数据交换,从而达到信息的一致性。s o a p 是实现 基于w e b 的无缝集成的一种可行技术【1 0 ,1 1 】。s 0 a p 可以运行在任何其它传输协议 上,例如可以使用s m t p ( 因特网电子邮件协议) 来传递s o a p 消息。 s o a p 是数据转化平台应用中的核心技术之一,是实现w e b 服务的核心协议 之一,几乎成为w e b 服务的同义词。使用w e b 服务的应用程序通常通过绑定到 s o a p 特定实现的a p i 上来完成工作。 s o a p 由以下几部分组成:s0 a p 消息、s o a p 信封、s o a p 条目、s 0 a p h e a d e r 、 s o a pb o d y 、s o a pf a u :7 x 中国民用航空学院硕士学位论文 s o a pe n v ;l 善莓 童冀蚕妻蠹鞫塑篓誓 雪誉篓喜翥i 毒垂 i 篷至季耋交;l l 系善主蠹母士 一墓叠蠹善;量j 萎 茹薹蘼塞錾i 量妻羹 墓h 一睛銎融唇壁蠢萋 季i l 醴p 洼姻列“瞧确黉韵螽聪i j | ;i l i 酗纠要l 感潴i 酝葡引蚓 强鼍测滏馐省慧型烈鼙o | 幼宁鼍;妻醴嚆灞鳃瑶灌嗑噬溥了孽i 盈臻t 端掣菖掣 蚕晕l 薪 点有: o 将w e b 服务作为各类应用系统统一的、标准的、可靠的数据交换技术标准, 实现了这些系统间跨网络、跨操作系统、跨数据库的数据交换。 o 设计了一个中心节点,去除了以往数据交换与共享解决方案中进行数据交 换和共享的数据节点间必须直接通信的问题。 o 引入基于o r 映射的h i be r n a t e 持久层框架,将各数据节点的异构数据库 的表映射成普通j a v a 类,解决了异构数据库之间由于数据格式不同造成的数据 不能共享的问题。 o 引入st r u t s 应用框架,把w e b 应用程序的输入,处理和输出进行了很好 的分离。 0 平台原型系统的具体实现采用了面向接口编程技术并结合多种j 2 e e 设计 模式,为系统的二次开发打下良好的基础。 中国民用航空学院硕士学位论文 2 4a ) 【i s 简介 图2 4 幅d l 文档在w e b 服务交互中的作用 a p a c h ea x i s 是一个为了构架例如客户端、服务器、网关等等之类的s 0 a p 处理机的框架。a x i s 总体上是一个s o a p 引擎,但又不仅仅是个引擎,它还是一个 简单的独立的服务器:一个可插入到s e r v l e t 引擎( 如t o m c a t ) 中的服务,它还 具有几个功能:可扩展的支持w s d l ;能根据w s d l 产生j a v a 文件类;可以监控 t c p i p 包【1 5 】。 a x i s 是最流行的w e b 服务工具包之一。a x i s 支持r p c 和文档方式服务因 此它是文档方式服务的真正开端。a x i s 提供了一个方便的工具来熟眈完戏此项 艰苦的工作,这个工具名为w s d l 2 j a v a 。w s d l 2 j a v a 不仅可以为方法生成客户端 和服务器端的代码存根,而且可以生成实际b e a n 来对用捌l c h e m a 定义的模型 中的数据进行建模,然后,w s d l 2 j a v a 将从) ( m l 中自动载入这些b e a n 。 a x i s 从传输协议( 如h t t p ) 中提取s o a p 消息并将其交给w 如服务,它也把 所有的响应格式转化为s o a p 消息,并发回请求者。a x i s 的部件包括以下几部分: o a x i s 引擎:s o a p 处理机的主要入口点 。处理器:8 x i s 内的基本构 牟块,将8 x i s 与现有的后端系统相连接 。链:有序的处理器集合 0 传输:s o a p 消息流入和流出a x i s 机制 0 部署设置:使得用户可以通过a x i s 调用w e b 服务的一些必要步骤 0 序列化器反亭列化器:代码负责将原始的( 如j a v a ) 数据类墅转变为 x m l 或反之 这几部分之间的关系如图2 5 所示: 9 中国民用航空学院硕士学位论文 2 5 本章小结 图2 5a x i s 的部件关系图 w e b 服务技术是平台最核心的技术之一。本章介绍了w e b 服务技术的基本概 念和体系结构以及w e b 服务技术中的s o a p ,w s d l 这两个核心协议,还介绍了本系 统使用的s o a p 弓l 擎a x i s 的概念衣基本组成。逶过以上介绍,达到对实现数据节 点间进行通信的w e b 服务技术的实质和涉及到的核心协议了解的目的。 中国民用航空学院硕士学位论文 3 1 j 2 e e 的体系介绍 第三章j 2 e e 技术 j 2 e e 是当前用于快速构建企业分布式系统的最新技术,它为使用j a v a 技术 来开发服务器端应用提供了个独立的、可移植的、多用户的、安全的和基于标 准的企业级平台,从而简化了企业应用的开发、管理和部署。 在j 2 髓架构中,一个应用程序可以被看作是一组彼此相关但又彼此独立的 组件的集合,它们通过容器( c o n t a i n e r ) 进行交互。容器的作用是为这些组件提 供运行环境以及所需通信服务。通过这些容器,j 2 髓体系结构就能分离应用程 序的开发和部署,并在不同类型的中间层服务器间提供可移植性【1 6 1 。 j 2 e e 总共有4 种不同类型的容器: 1 应用客户容器:客户端容器,包含的组件为a p p l i c a t i o nc l i e n t 。 a p p l i c a t i o nc 1 i e n t 相对a p p l e t 而言是一种较重量级的客户端,它是独立的 j a v a 应用,能够使用j 2 e e 的大多数a p i 。它在远程的独立j w 上运行。 2 。a p p l e t 容器;客户端容器,包含的组件为a p p l e t 。a p p l e t 是嵌在测览 器中的一种轻量级客户端。a p p l e t 容器为在浏览器内运行的j a v a 程序截取请求, 它不提供对任何其他资源( 比如j d b c 或j :m s ) 的访问。在a p p l e t 容器内运行的 a p p l e t 必须自己直按向应用服务器请求资源,而不是把请求发送给容器,然后由 容器发送给应用服务器。 3 w e b 容器:服务器端容器,包括两种组件;j s p 和s e r v l e t 。j s p 和s e r v l e t 都是w e b 服务器的功能扩展,接受通过盯t p ,f t p ,s m t p 或其他协议发送的w e b 请求,返回动态的w e b 页面。 4 企业级容器:服务器端容器,包含的组件为叮b ( e n t e r p r i s ej a v a b e a n s ) , e j b 是j 2 e e 的核心之一,主要用于服务器端的商业逻辑的实现。e j b 规范定义了 一个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易 地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等优点。 通过这四个容器,j 2 e e 能够灵活地实现企业级应用架构。j 2 e e 体系结构可 以分为3 层,如图3 1 所示: 中国民用航空学院硕士学位论文 巨卜 臣习圈 型 w 曲c n i m a p p i i c 毗i c “cj ( b 删m f i 噼l 蕊面订 。lb l 【一磊r e i bo ) n t a i n 日 c l i e n tm 矗c i l i n e 脏s 删 客户端中阿屠企删懈境屡 图3 1j 2 髓体系结构图 客户端层直接与用户交互,j 2 e e 使用的应用程序客户端容器,可以是a p p l e t 容器或是应用程序容器。 中间层由一个j 2 e e 应用程序服务器管理。这是一个基于j a v a 的w e b 服务器, 为w e b 应用程序提供一个w e b 容器。为了遵守j 2 e e 系统平台的约定,它还提供 了一个j 2 e ee j b 容器并提供对j d b c ,j n d i 和j a a s 等j 2 e ea p i 盼访问。 e i s ( e n t e r d r i s ei n f o r m a t i o ns y s t e m ,企业信息系统层) 包括企业已有系 统、数据库系统、文件系统等。j 2 e e 提供了多种技术来访闯这些系统,如利用 j d b c 技术来访问数据库。 j 2 e e 技术的几大特点是:面向对象的编程语言、平台的独立性、提供标准的 系统框架、适合团体开发、可控性好和与其它资源的集成性好。 3 2 框架技术 框架是一个可复用的、“半成品”的应用程序,通过对框架的定制可以产生 满足客户具体需求的应用程序。从用户使用的角度来看,用户通过定制框架形成 满足他们具体需求的软件。从设计复用的角度来看,框架完整地描述了一个领域 内的设计概念,可以适合该领域内用户不同的需求。从实现复用的角度来看,可 以通过继承或者代理的方法来使用框架中的抽象类以达到实现复用的目的。 框架概念并不是很新,伴随着软件开发的发展,在多层的软件开发项目中, 可重用、易扩展的,而且是经过良好测试的应用框架。越来越为人们所青睐。这 意味着人们可以将充裕的时间用来分析、构建业务逻辑,而非繁杂的代码工程。 1 2 中国民用航空学院硕士学位论文 3 2 1s t r u t s 框架 s t r u t s 最早是作为a p a c h ej a k a r t a 项目的组成部分问世。s t r u t s 改进和提 高了j s p ,s e r v l e t 、卷标库以及面相对象的技术水准。s t r u t s 是一个开放源代 码的w e b 的应用框架,基于m v c 设计模式,使用s e r v l e t 和j s p 的a p i 设计, 可以用来构建复杂的w e b 应用旧。它能分解一个应用程序的商业逻辑、控制逻 辑和表现逻辑的代码,使这些代码的重用性和维护性更好。 通过使用s t r u t s 框架,不需要花费大量的时间在整个应用上,可以集中精 力编写应用程序业务逻辑和表示层代码,其它事情都交给s t r u t s 框架解决。显 然这将大大加速项目的开发进程,并降低了学习与开发w e b 应用的难度。 s t r u t s 由一组相互协作的类( 组件) 、s e r l v e t 以及j s p 标签库组成。s t r u t s 有其自己的控制器( c o n t r 0 1 1 e r ) ,同时整合了其他的一些技术去实现模型层 ( m o d e l ) 和视图层( v i e w ) 。在模型层,s t r u t s 可以很容易的与数据访问技术 相结合,例如e j b ,j d b c 和0 b j e c tr e l a t i o nb r i d g e 。在视图层,s t r u t s 能够与 j s p ,v e l o c i t yt 鲫p l a t e s ,x s l 等等这些表示层组件相结合。 s t r u t s 的工作原理如图3 2 所示: 3 2 2h i b e r n a t e 框架 图3 2s t r u t s 的工作原理 s u n 公司从1 9 9 6 年就把j d b c 加入了j a v a 平台的1 1 版本中,将其作为r d b m s 资源管理和数据访问的标准低级抽象层。很快,众多开发者就意识到:直接使用 j d b c 胛i 是件相当麻烦的事情。众所周知,现在流行的各类数据库如o r a c l e , m y s q l ,s q ls e r v e r 都是关系型数据库,其数据之间的关联是通过关系的概念进 行结合的。j a v a 语言是一个根本的面向对象的编程语言,其设计思想是始终围 绕着对象这个概念来设计的,所以当使用j a v a 这样一种面向对象的语言访问关 系型数据时,就会遇到o r ( o b j e c t r e l a t i o n ,对象关系) 的阻抗不匹配问题。 这样的话就会存在一个关系型和对象型的鸿沟【1 8 】。如何将对关系型数据库的操 中图民用航空学院硕士学位论文 作转变为j a v a 程序员惯有的面向对象的操作就自然成为了许多j a v a 开发者一个 急待解决的问题。j a v a0 r 映射解决方案就是在这样的应用环境下诞生的。 2 0 0 2 年,一种新的0 r 映射解决方案受到了万众瞩目,它就是h i b e r n a t e 应用框架。它在j d b c 之上提供一层薄薄的封装,在提供完全透明的持久化机制 的同时又提供尽可能多的灵活性i l 。它把关系型数据库中的表映射成普通的 j a v a 对象,使程序员专注于在业务领域内如何和j a v a 对象进行交流,而且不必 担心如何保存它们或如何找到它们。而其h i b e r n a t e 查询语言( h q l ) 支持一些 重要的关系型概念,例如连接、统计函数、批嚣取出特定字段等。 在h i b e r n a t e 的全面解决方案体系中,对于应用程序来说,所有的底层 j d b c j t a 的a p i 都被抽象了,h i b e r n a t e 会照管所有的细节。其体系结构如图 3 3 所示: 3 3j 2 e e 设计模式 圈3 3 眦b e r n 8 t e 体系结构图 模式是一种以特别巧妙和敏锐的方式来解决某类特定问题的方法。模式体现 的是程序整体的构慝。模式基本的设计理念是:增加一个抽象层,无论什么时候, 当把某些东西抽象出来的时候,实际上是在分离特定的细节,这样就能把变化的 东西从那些不变的东西里分离出来。这就意味着最重要的是找出系统里变化的部 分,或者说是找到成本最高的部分。这样做使程序更容易维护和理解例j 。一旦 找出了这一系列变化,就可以以之为焦点来构造系统的设计。设计模式的目的就 中国民用航空学院硕士学位论文 是为了把代码里变化的那一部分分离出来。 j 2 e e 设计模式是j 2 e e 平台和设计模式相结合的产物,j 2 e e 中使用模式既 具有使用一般模式的所有好处又具有针对j 2 e e 开发的好处。因为这些模式是针 对j 2 e e 的,不像一般模式那么抽象,从而简化了特定系统和应用程序中的标识、 使用与适配。j 2 e e 发展至今,总结出的模式已较为丰富了,总的来说有下面三 大类: 1 表示层模式,用于w e b 组件层,主要有以下几个; i n t e r c e p t i n gf i l t e r ( 截获过滤) 、f r o n tc o n t r o l l e r ( 前端控制器) 、v i e w h e l p e r ( 视图帮助器) 、c o m p o s i t ev i e w ( 复合视图) 、s e r v i c e t o w o r k e r ( 服 务工人) 、d i s p a t c hv i e w ( 发派视图) 。 2 业务层模式,用于业务逻辑层,主要有以下几个: b u s i n e s sd e l e g a t e ( 业务代理) ,v a l u e0 b j e c t ( 数值对象) ,s e s s i o nf a c a d e ( 会话外观) ,c o m p o s i t ee n t i t y ( 复合实体) ,v a l u e0 b j e c ta s s e m b l e r ( 数值 对象汇编器) ,v a l u el i s th a n d l e r ( 数值清单处理器) ,s e r v i c el o c a t o r ( 服 务定位器) 。 3 集成层模式,连接e i s 层的系统,主要有以下几个: d a t aa c c e s so b j e c t ( 数据访问对象) ,s e r v i c ea c t i v a t o r ( 服务激活器) 。 下面熏点介绍一下设计本系统所使用的一些主要设计模式。 3 3 1 工厂模式 工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将 哪个类实例化,而不必事先知道每次要实例化的类。其主要有3 个形态:简单工 厂( s i m p l ef a c t o r y ) 模式、工厂方法( f a c t o r y m e t h o d ) 模式、抽象工厂( a b s t r a c t f a c t o r y ) 模式【2 ”。 工厂模式就相当于创建实例对象的“n e w ”,我们经常要根据类生成实例对象, 工厂模式也是用来创建实例对象的,但会给系统带来更大的可扩展性和尽量少的 修改量。因为对代码中所有接口具体实现类的初始化都放在工厂中来进行,这样 当接口的实现类的业务逻辑改变的时候,只要保证接口的形式不变,就不会将这 些改变扩散到使用了这个接口的地方。 3 3 2 数据访问对象模式 数据访问对象( d a t ea c c e s so b j e c t ) 模式是最为重要的j 2 e e 模式之, 也是本系统采用最多最广泛的模式。 数据访问对象模式用来抽象和封装所有对数据源的访问。使用数据访问对象 来管理数据源的连接和获得需要的数据。使用数据访问对象设计模式把底层的数 中国民用航空学院硕士学位论文 据访问逻辑和高层的业务逻辑分开。数据访问对象设计模式能够使程序员更加专 注于编写数据访问代码,并把系统中与持久化相关的代码从业务逻辑中分离出 来。数据访问对象模式需要一个数据访问对象接口,以便将特定的数据访问细节 隐藏起来。 数据访问对象模式的重要好处是可以将持久化操作归纳到数据访问对象接 口上,而这个接口可以磊任何持久化技术来实现。 数据访问对象模式通过对业务层提供数据抽象层接口,实现了以下目标:数 据存储逻辑的分离、数据访问底层实现的分离、资源管理和调度的分离和数据的 抽象。 3 3 3 数值对象模式 数值对象( v a l u e0 b j e c t ) 模式是j 2 e e 设计模式中的一种用于解决层之间 交换数据及远程传输开销的问题的模式。这个模式收集序列化对象中需要的所有 数据,用单个远程调用方法使数据在层之间传递。这个模式通常是层之间交换数 据和进行通信的最佳办法,可以成功地减少远程方法调用的次数,应用在分布式 系统中可以大幅度提高系统的性能【纠。 数值对象模式可以看作核心数据层模式,数值对象是该模式的具体实现,它 可以表示数据库中所包含数据的逻辑视图。可以用数值对象在表示层、业务逻辑 层和数据层之间传递数据。图3 4 中表示的是在典型的三层结构的系统中使用数 值对象迸行数据传递酌方式: 数值对tt 值对象返回螭簟 圈3 4数值对象模式数据传递的方式 3 辱设计模式与框架技术敢关系 框架与模式都是来自多个解决相关问题的应用,来自多个应用的实践经验, 但软件框架与设计模式是一组不同的概念,具有不同的含义。 软件框架是设计模式的特例化它总是针对一个特定的应用领域。软件框架 是用某种程序语言来书写的,而设计模式是用自然语言、图表来描述软件知识与 实践经验。面向对象的软件框架是一组具体类的集合,这些具体类之间相互协作 以完成一个绘定的、可参数他的任务。而设诗模式更具拽象性,是框架的迷一步 抽象。从这个意义讲,软件框架是软件系统的物理特性,而设计模式是逻辑特性。 1 6 中国民用航空学院硕士学位论文 软件框架是一个或多个设计模式解决方案的物理实现,而设计模式是指导如何实 现这些解决方案的工具。 软件框架一般只记录问题的解决方案,而设计模式除了要描述解决方案外, 还得记录环境、约束条件、效果等要素。设计模式和框架技术都成功地抓住了可 复用软件开发的本质。框架可以看作是一系列具体化了的设计模式的组合从而 解决了一个特定应用领域内的闻题。同样,设计模式也可以看作是框架内部结构 的高度抽象。当使用模式的方法来构造和记录框架时,那么这些模式就规定了框 架中的大部分类的职责,换句话说,在这样一个以模式为基础设计的框架中,理 解了这些模式,整个框架就基本理解了。 3 5 本章小结 本平台的整个体系是基于j 2 e e 擒建的。本章总体介绍了j 2 e e 的体系架构和 本平台使用到的两个应用框架:s t r u t s 和h i b e r n a t e 。本章还介绍了j 2 e e 设计 模式的概念和内容,其中重点介绍了工厂模式、数据访问对象模式和数值模式这 三个本平台使用比较频繁的设计模式。最后说明了设计模式与框架技术的关系。 中国民用航空学院硕士学位论文 第四章民航数据交换和共享平台的设计 4 1 数据交换和共享平台的方案选择 4 1 1 数据交换中心和传统的点对点互连方案 传统的数据交换方案多采用点对点互连方案来进行,就是说在每两个需要进 行数据交换的数据交换节点之间建立一个点对点的连接,接口标准因连线两端的 系统不同而异。其拓扑图如图3 1 所示: 图3 1 传统的点对点互连方案茹扑图 可以看到:为了实现4 个数据交换节点的数据交换,需要进行6 次点对点的 连接,并制定6 个接口标准。而且随着数据交换节点的增加,连接数和接口标准 数呈几何增长的趋势。这种结构的最大弊端是当某一数据交换节点的数据格式发 生改变的时候,要维持数据交换的正常进行,必须改变所有与它相关的接口标准, 这个改动量是非常巨大的弘1 。 而采用数据交换中心的数据交换和共享方案。只需要在每个数据交换节点和 数据交换中心之间建立制定一个接口标准。接日标准只因与数据中心连接的数据 交换节点的不同而异。其拓扑图如图3 2 所示; 中国民用航空学院硕士学位论文 图3 2 数据交换中心方案拓扑图 为了实现4 个数据交换节点的数据交换,只需要进行4 次点对点的连接,制 定4 个接口标准。随着数据交换节点的增加,连接数和接口标准数只需要随着数 据交换节点数的增加而阶梯增加。这种结构最大的优点是当某一数据交换节点的 数据格式发生改变时,要维持数据交换的正常进行,只要改变数据中心与这个改 变的数据交换节点的接口标准就可以,这个改动基是很小的。 4 1 2 基于w 曲s e r v i c e 与基于数据存储的数据交换中心 传统意义上的数据交换中心实质上是一个数据存储中心,或者是数据仓库。 数据交换节点所能够提供的数据服务先以某种形式转移到数据存储中心,其他数 据交换节点再从数据存储中心获得数据。数据存储中心存放了数据交换节点所需 要的所有数据。其拓扑图如图3 3 所示: 中国民用航空学院硕士学位论文 图3 3 基于数据存储中心的数据交换中心拓扑图 这样基于数据存储中心的系统存在着实时性差、数据交换节点与数据中心之 间及数据交换节点之间的耦合程度比较严重、系统安全性较低等问题。 数据交换中心采用w e bs e r v i c e 技术进行组件和应用系统的包装,将系统的 数据展示和需求都看作一种服务,通过服务的请求和调用实现系统间的数据交换 和共享。这些请求和讽用通过x m l 来实现,最大眼度的降低了由于数据交抉节点 操作系统的不同而导致的服务请求和调用格式的不同【2 5 - 2 6 加。其拓扑图如图3 4 所示: 图3 4 基于 bs e r v i c e 的鼗器交换中心拓扑图 数据交换节点所能提供的数据并不需要先复制到数据交换中心的中心数据 库( 事实上也不存在这样一个数据库) ,而只是以w e bs e r v i c e 的形式发布出来, 只有当其他数据交换节点发出服务请求的时候,数据才从数据交换节点经过数据 交换中心直接传递到请求数据的数据交换节点i 硼。这样,数据交换节点所得到 的永远是最新的信息。 当数据交换节点中的数据格式变更或增加了新的数据,数据交换节点只需要 以赣的礴e bs e r v i c e 钓形式发布出来,其锉数据交换节基蚀然通过数据交换中心 使用服务并获得相应数据。数据交换中心和其他数据交换节点。都不需要做任何 中国民用航空学院硕士学位论文 改动,大大降低了系统之间的耦合性。 4 1 3 民航数据交换和共享平台的设计方案 根据对以上几种数据交换方案的对比,为了达到降低系统的复杂度、增加系 统的可移植性,封装实现细节和降低各个系统之间耦合性的目的。采用基于w e b s e r v i c e 的数据交抉中心的方案来设计并实现民航通用数据交换和共享平台。 4 2 数据交换和共享平台整体概述 4 2 1 平台整体拓扑结构描述 根据系统采用的方案并结合民航实际情况,民航通用数据交换和共享平台的 基本拓扑凰如图3 5 所示: 数据交换节点2 圈3 5 数据变换和共事平台基本拓扑图 中国民用航空学院硕士学位论文 整个体系结构是一个星型结构,数据交换中心处于中心位置,它是实现数据 共享和交换的中心,通过标准化的w e bs e r v i c e 接口为每个数据交换节点提供服 务。每个数据交换节点只需要与数据交换中心通过w e bs e r v i c e 进行交互并通过 x m l 进行数据交换,而不需要数据交换节点之间相互直接连接访问就可获得所需 要的数据。数据交换中心的整体行为既是一个虚拟的中心数据库,同时又是一个 交换机。整个数据交换的底层实现和存储机青j 对各数据交抉节点来说是透明的。 该结构耦合性低,并且很容易扩展为分层次的雪花型结构,构建出多级的数据交 换中心结构,以支持更大范围的广域方案。 数据交换和共享平台通过采用w e bs e r v i c e 技术,将各种w e b 服务构件化。 在开放的互操作规范基础上创建各种应用系统,并且实现了以下功能: 1 传统应用可以作为服务部件进行处理和共享。 2 新型业务流程可以利用先行服务部件实现平滑加载与互联。 3 部件化服务可以宣我定义其功能,并便挝务流程实现苜动化,或自动执行 工作流。 4 各服务部件之间实现松散耦台交互和事务应用处理。 4 2 ,z 数据交换中心主要功能 数据交换中心在这个系统中起着至关重要的功能,其主要功能有: 一数据中心:数据的存储、格式转换和交换。它由一系列中间件、服务、 w e bs e r v i c e 接口以及中心数据仓库组成。其核心组件包括数据交换引 肇、系统管理、w e 堋瞪务管理以及w e bs e r v i c e 接口。 一数据交换引擎:数据交换的核心功能。提供模式管理、数据变换和交换 等服务。 一系统管理服务:系统的配置管理和状态监控。通过系统管理服务配置数 据中心各部分的运行参数,服务的启停控制,监控整个系统的运行状态。 _ w e b 服务管理:w e b 服务的注册管理和发布功能。通过w e b 服务管理各 数据交抉节点代理囱数据中心注髓自己的数据交棼瞪e b 鼹务,数据中心根 据注册的信息进行w e b 服务的路由,主动调用数据交换节点的数据访问服 务向数据交换节点传送数据或从数据交抉节点获取数据。 _ w e b s e r y i c e 接口:向外部应用程序和数据交换节点展示数据交抉的相关 w e b 服务。w e b 服务的实现可以基于m p 、邮件s m t p 以及j m s 等各种协议, 也可以采用异步或同步方式。w e bs e r v i c e 接口通过安全管理服务实现可 信的w e b 服务调用。 按照数据交换中心的功能和民航实际| 立用特点,憋民航数据交换中心划分先 三个等级节点: 中国民用航空学院硕士学位论文 一级,行业数据交换中心:这是一个行业级的数据交换中心,它实现了民航 和其他行业之间的数据交换,实现了民航企业能够方便的访问其他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论