




已阅读5页,还剩81页未读, 继续免费阅读
(计算机科学与技术专业论文)ext和web+services在vts管理信息系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 随着我国航运业的飞速发展,v t s ( v e s s e lt r a f f i cs e r v i c e ) 系统在减少船舶交通 事故、提高航运效率方面发挥了重大作用。然而,由于我国v t s 工程建设起步晚, 现有v t s 设备主要由国外引进,v t s 管理信息系统在运行过程中还存在一些问题。 首先,v t s 管理信息系统基本上采用c s 结构,升级难,维护成本高,只能安装 在局域网内,无法满足海事部门的实际需求。其次,v t s 管理信息系统基本上是 一个相对封闭的系统,缺乏与海事系统其他各部门间的信息共享与交换。 本论文针对这两个问题,主要做了如下工作: 第一,研究c s 和b s 结构各自的优势和弊端,提出采用e x t 框架实现同时具 有这两种结构优点的r i a ( 富客户端,r i c hi n t e r n e ta p p l i c a t i o n ) 应用;研究数据交换 技术的现状,提出采用w e bs e r v i c e s 技术实现跨平台的数据交换。 第二,深入研究本课题相关的技术:e x t 框架,w e bs e r v i c e s 技术。研究了e x t 框架的组成、工作原理,以及w e bs e r v i c e s 的定义、体系结构和相关的协议。 第三,引入e x t 框架,运用u m l 建模,对v t s 管理信息系统进行设计,并 以船舶动态管理子系统为例,阐述了e x t 框架在系统中的具体使用过程。 第四,根据v t s 项目数据交换的实际需求,采用w e bs e r v i c e s 技术设计数据 交换平台,描述了平台整体架构和v t s 数据交换流程,并对各模块进行了详细设 计。 第五,描述了e x t 框架和数据交换平台在系统中的实现,对实际应用中遇到的 问题给出了具体的解决方案,最后通过与原系统比较得出本文所研究方案的优越 性。 基于以上所做的实际工作,本论文为v t s 管理信息系统的建设提供了有效的 解决方案。最后,针对这两种方案存在的问题提出下步进行的工作。 关键词: e x t ;w e bs e r v i c e s ;v t s ;数据交换 英文摘要 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to ft h es h i p p i n gi n d u s t r y ,v t s ( v e s s e lt r a f f i cs e r v i c e ) s y s t e mh a sp l a y e da l li m p o r t a n tr o l e i nr e d u c i n gs h i pt r a f f i c sa n di m p r o v i n gs h i p p i n g e f f i c i e n c y h o w e v e r ,d u et ot h el a t e s t a r to fo u rc o u n t r y sv t sp r o j e c t sa n dt h e i n t r o d u c t i o no fe x i s t i n gv t se q u i p m e n tb e i n gm a i n l yf r o mf o r e i g nc o u n t r i e s ,t h e r ea r e s t i l ls o m ep r o b l e m si nv t s m a n a g e m e n ti n f o r m a t i o ns y s t e mi no p e r a t i o n o no n eh a n d , v t sm a n a g e m e n ti n f o r m a t i o ns y s t e mi sb a s i c a l l yv i ac ss t r u c t u r e ,w h i c hi sd i f f i c u l t , 谢t hl l i g hm a i n t e n a n c ec o s t s ,t ob eu p g r a d e da n di tc a no n l yb ei n s t a l l e do nt h el a n , n o tm e e t i n gt h ea c t u a ln e e d so ft h em a r i t i m es e c t o r s o nt h eo t h e rh a n d , v t s m a n a g e m e n ti n f o r m a t i o ns y s t e mi sb a s i c a l l ys t i l lar e l a t i v e l yc l o s e ds y s t e m ,l a c k i n gt h e s h a r i n ga n dt h ee x c h a n g eo fi n f o r m a t i o nf r o md i f f e r e n td e p a r t m e n t sa m o n gm a r i t i m e m a n a g e m e n ti n f o r m a t i o ns y s t e m s f o rt h e s et w oi s s u e s ,t h ef o l l o w i n gc o n t e n t sa r em a i n l yp u tf o r w a r di nt h ep a p e r : f i r s t ,t h es t u d ya b o u tt h er e s p e c t i v ea d v a n t a g e sa n dd i s a d v a n t a g e so fc sa n db s s t r u c t u r ei sm a d e ,a n dt h er i a ( 础c hi n t e m e ta p p l i c a t i o n ) 谢t l le x tf i a m e w o r ki s p r o p o s e d ,i n t e g r a t i n gt h ea d v a n t a g e so fb sa n dc ss t r u c t u r e t h e n ,a f t e rt h es t u d yo f p r e s e n ts i t u a t i o no fd a t ae x c h a n g et e c h n o l o g y ,ad a t ae x c h a n g ep l a t f o r mi na c c o r d a n c e 、析t hv t sw i t ht h ea p p l i c a t i o no fw e bs e r v i c e st e c h n o l o g yi sb r o u g h tf o r t h s e c o n d ,d e e ps t u d ya b o u tr e l a t e dt e c h n o l o g i e s ,e x tf r a m e w o r ka n dw e bs e r v i c e s , i sm a d e ,i n c l u d i n gt h ec o m p o s i t i o n , w o r k i n gp r i n c i p l eo fe x tf r a m e w o r ka n dt h e d e f i n i t i o n ,t h ea r c h i t e c t u r ea n dr e l a t e dp r o t o c o l so fw e bs e r v i c e s t h i r d ,a f t e rt h ei n t r o d u c t i o no fe x tf r a m e w o r k , u s eu m li nm o d e l i n g ,d e s i g nv t s m a n a g e m e n ti n f o r m a t i o ns y s t e m t h e n , t h ec o n c r e t er e a l i z a t i o no ft h ee x tf r a m e w o r k p r o c e s si si n t r o d u c e d ,t a k i n gt h ed e t a i l e dd e s i g no ft h es u b s y s t e mo ft h ed y n a m i c m a n a g e m e n tf o rs h i p sa se x a m p l e f o u r t h ,a c c o r d i n gt oa c t u a l n e e d so fd a t a e x c h a n g ei nv t sp r o j e c t ,t a k i n g a d v a n t a g eo fw e bs e r v i c e st e c h n o l o g y ,t h ed e s c r i p t i o nf o rt h eo v e r a l ls t r u c t u r eo ft h e p l a t f o r ma n dt h ep r o c e s so fv t sd a t ae x c h a n g ei sg i v e n a n dt h e ne v e r ym o d u l eo ft h e v t sd a t ae x c h a n g ep l a t f o r mi sd e s i g n e d 英文摘要 f i f t h ,t h ei m p l e m e n t a t i o no fe x tf r a m e w o r ka n dt h ed a t ae x c h a n g ep l a t f o r mi nt h e s y s t e mi si n t r o d u c e d ,c o n c r e t es o l u t i o n sa leg i v e nt op r o b l e m sw h e ne n c o u n t e r e di n p r a t i c a la i ;p l i c a t i o n ,f i n a l l y t h es u p e r i o r i t yo ft h er e s u l t sr e s e a r c h e di nt h et h e s i si s d e m o n s t r a t e dt h r o u g ht h ec o m p a r i s o n 、丽t l lo r i g i n a ls y s t e m b a s e do nt h ea c t u a lw o r ka b o v e ,t h i sp a p e rp r o v i d e sa ne f f e c t i v es o l u t i o nf o rt h e c o n s t r u c t i o no fv t sm a n a g e m e n ti n f o r m a t i o ns y s t e m s f i n a l l y ,f o rt h ep r o b l e m si nt h e t w op r o g r a m s ,ir a i s e dt h ep r o p o s ew o r ki nt h en e x ts t e p k e yw o r d s :e x t ;w e bs e r v i c e s ;v t s ;d a t a e x c h a n g e 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文= = 量堑塑盥盐s 型i 曼笪在y 至曼筐理筐:垦丕统生鲍廛旦:。除 论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已 在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已 经公开发表或未公开发表的成果。本声明的法律责任由本人承担。 学位论文作者签名:j 渺 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 不保密q 储在以上方框内打“) :芹榕夏名:氓访碘 日期:砷年占月力日 e x t 和w e bs e i c 嚣在v t s 管理信息系统中的应用 第1 章绪论 1 1 课题背景 随着我国航运业的飞速发展,s 系统在各港口获得了广泛的应用。v t s 系 统,一般也叫船舶交通管理信息系统,至今还没有明确的定义。s 系统是由国 家海事主管机关对海上交通进行管理的手段之一,可以实现对港口及沿海船舶交 通的实时监控【。目前,很多港口都建立了雷达系统,船岸通信系统以及各种监控 设备,同时也建立了海事各种业务有关的信息管理系统,这些设备和系统的完善 对保证船舶交通秩序,减少船舶交通事故,加强船舶交通管理,提高管理船舶的 效率有很大的促进作用。然而,目前v t s 系统在运行过程中还存在一些问题,主 要体现在两个方面: ( 1 ) s 管理信息系统基本上采用c s 结构,升级难,维护成本高,只能安装 在局域网内,无法满足海事部门的实际需求。 ( 2 ) v t s 管理信息系统基本上还是一个独立,相对封闭的系统,缺乏与海事管 理信息系统、港航企业和船舶调度各部门之间信息共享和交换。 本文主要从这两个问题出发,以新的开发模式代替c s 模式实现s 管理信 息系统,并设计一个适合海事系统的数据交换平台。 1 2 研究现状 c s 架构( c l i e n t s e r v e r ) 数据操作和处理能力强大,能够保证数据的完整 性和安全性。但是随着企业规模的不断扩大,应用程序复杂程度的不断提高,逐 渐暴露出一些问题,如开发成本高、移植困难、界面风格不统一、维护复杂、信 息内容和形式单一等等【2 j 。 由于c s 架构的种种弊端,而b s 架构的w e b 应用的逐渐流行,人们尝试将 w 曲应用部署到m i s 中。基于w e b 应用的m i s 简单而统一,软件更新仅涉及到 服务器端的软件更新,因此系统开发和维护费用少【3 1 。w e b 应用的m i s 比起基于 c s 架构的m i s 有很大的优越性,最大的优越性就是c s 架构的m i s 依赖于专门 第1 章绪论 的操作环境,这意味着操作者的活动空间受到极大限制;而基于w e b 应用m i s 的 则不需要专门的操作环境,只要能上网,就能够通过浏览器操作m i s 。 但是w e b 应用也有缺点,首先用户界面缺少c s 架构下胖客户端应用丰富的 交互性【4 1 ,w e b 的应用仅限于使用h t m l 提供的一组基本组件,而这些组件是很 有限的,与服务器交互需要完全刷新界面,用户提交数据后要经过一段等待时间; 其次由于业务处理层基本上都在服务器端,当业务量激增的时候,服务器同时要 处理这些数据,必然导致服务器的负担。 若基于w e b 应用的m i s 采用瘦客户端的模式,则它在交互性以及访问速度等 方面受到限制,这些不利的方面,促使我们寻找兼有c s 和b s 结构优点的开发 模式【5 1 。 r i a ( r i c hi n t e m e ta p p l i c a t i o n ) 的提出,为大家指明了一个方向。”砌c h ”代表功 能强大,高交互性,高用户体验。”i n t e m e t ”代表方便。应用程序部署方便,用户 使用方便,跨系统,跨语。言- t 6 1 。其实r i a 实际上一种基于w e b 的c s 架构。目前, 典型的r i a 的代表有以下几种技术:m sc l i c ko n c e 、s u nj a v aw e bs t a r t 、a d o b e f l a s h 和a j a x 。我们看到在众多改善w c b 应用的方法中,a j a x 得到了大家广泛的 认可。它是基于使用x m l h t t p r e q u e s t 对纠。7 】在浏览器和服务器之间完成异步通信 的方法。目前出现了很多基于a j a x 的开发框架,e x t j s 无论是在界面美观还是在 系统性能上都是首屈一指的a j a x 框架,本文引入e x t 框架实现v t s 管理信息系统。 近年来,出现了基于分布式对象模型的应用集成技术来解决企业的数据交换 问题,产生了许多分布式计算技术,目前主流的分布式对象模型有: j a v a r m i ( r e m o t em e t h o di n v o c a t i o n ,远程方法调用) 、d c o m ( d i s t r i b u t e dc o m p o n e n t o b j e c tm o d e l ,分布式组件对象模型) 和c o r a a ( c o m m o no b j e c tr e q u e s tb r o k e r a c h i t e c t u r e ,通用对象请求代理结构) 【8 9 】等,这些技术作为比较成熟的体系,已各 自占据了相当大的市场,但三者都有自身无法克服的缺点:j a v a r m i 实现需要通信 的两端都有j a v a 运行环境,这根本阻止了它的推广。传统上,都会认为d c o m 和 c o r b a 是合理的服务器到服务器端的通信协议。但是,二者在客户端到服务器端 的通信放面存在着明显的缺点,尤其是客户机被散布在i n t e m e t 上的时候。用 e x t 和w e bs e r v i c e s 在v r s 管理信息系统中的应用 d c o m 和c o r b a 来创建跨平台、跨i n t e r a c t 、适应i n t e r n e t 可伸缩性的应用时, 存在着以下几个问题: ( 1 ) 平台相关 d c o m 和c o r b a 都是平台相关的。基于d c o m 和c o r b a 创建的应用系统 无法扩展到互联网上,它们要求客户端与系统提供的服务本身之间必须进行紧密 耦合,即要求都在一个同类结构下。这意味着在d c o m 的情况下,每台机器都要 运行于w i n d o w s 平台;在c o r b a 情况下,每台机器都要运行o r b ( 对象请求 代理) 。这样的系统往往十分脆弱:如果一端的执行机制发生变化,那么另一端便 会崩溃。 ( 2 ) 不易集成 为了让两个基于不同技术的系统协同工作,必须把一个系统的消息格式翻译 成另一个系统的消息格式,从而另一个系统才能根据请求进行处理及响应,即要 创建这种桥,这些桥实际存在但是并不理想,因为要将所有的d c o m 功能、数据 结构类型等等映射到c o r b a 是很困难的,反之亦然。 ( 3 ) 防火墙问题 作为互联网上的一种安全策略,防火墙一般会根据协议的端口号对来访的数 据请求进行控制。d c o m 和c o r b a i i o p l l 0 1 ( i n t e r n e ti n t e r - o r bp r o t o c 0 1 ) 协议是基 于t c p i p 1 1 1 体系结构的,它们使用动态分配的端口号,而端口号的选择是随意的, 这样防火墙就会阻挡该协议的访问,使远程过程调用无法成功进行。解决这个问 题的一个办法是将防火墙配置为允许端口号在某个范围内的访问,然后将d c o m 或i i o p 协议所需的端口号限制在这个范围之内,则客户的请求就可以成功地到达 服务器,但是这样做同时会带来安全性方面的问题。另一个方法是m i c r o s o f t 的 c o mi n t e r n e t 服务,但这项技术只用于m i c r o s o f t 的i n t e m e ti n f o r m a t i o ns e r v e r 和 d c o m ,也还不是一个完全的解决方案,仍然需要一种更一般的方式。解决这些 问题的最好办法是使用一种统一的格式来定义对象的接口标志、在网络上传输的 格式等等。 第1 章绪论 w e bs e r v i c e s 是一种优秀的分布式计算技术,它的主要目标就是在现有的各种 异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,各种不同平 台之上的应用依靠这个技术层来实施彼此的连接和集成。w e bs e r v i c e s 在i n t e m e t 或者i n t r a n e t 上通过使用标准的x m l 协议和信息格式来展现商业应用服务。 1 3 论文研究内容 针对目前v t s 管理信息系统采用c s 结构的弊端,本文深入研究了e x t 框架, 用b s 结构实现了r i a 的应用,使v t s 管理信息系统具有b s 及c s 结构的优点。 针对目前v t s 系统缺乏与各部门的数据交换问题,采用w e bs e r v i c e s 技术, 设计一个适合海事信息交换的数据交换平台,实现了有关部门间的数据交换。 1 4 论文组织结构 第一章介绍了本论文的课题背景,研究现状,研究内容以及论文组织结构。 第二章深入研究本课题涉及的相关技术:e x t 框架和w e bs e r v i c e s 技术。 第三章对v t s 管理信息系统进行设计,包括功能模块、体系结构、数据库 的设计,并以船舶动态管理子系统详细设计为例,深入阐述了e x t 框架在系统中 的具体使用流程。 第四章在熟悉掌握w e bs e r v i c e s 技术的基础上,研究了基于w e bs e r v i c e s 的数据交换平台,对数据交换平台的整体架构和具体模块进行设计,详细阐述了 关系数据库与x m l 相互间的映射,并描述了v t s 数据交换的实现流程及数据传 输格式。 第五章介绍了e x t 框架以及数据交换平台在v t s 系统中的应用,对实际应 用中遇到的问题给出了具体的解决方案,最后将本文设计的系统与原系统比较, 得出本文研究成果的优越性。 第六章总结与展望。 e x t 和w e bs e r v i c e s 在v t s 管理信息系统中的应用 第2 章本课题相关技术 2 1a j a x 技术 2 1 1a j a x 简介 a j a x 不是一项新的技术,只是多种技术的综合,或是设计方式12 1 。a j a x 构建 于动态h t m l d h t m l 技术之上,包括如下常见技术: 基于h t m l 和c s s ( c a s c a d i n gs t y l es h e e t s ) 标准的表示。 使用d o m ( d o c u m e n to b j e c tm o d e l ) 进行动态显示和交互。 使用x m l h t t p r e q u e s t 通过异步方式获取数据。 使用j a v a s c r i p t 绑定一切。 c s s 主要用来设置h t m l 元素的内容表现形式,例如,字体的设置、颜色、 大小、位置和一些特技效果。 d o m l l 4 1 是一个应用程序编程接口,定义了j a v a s c r i p t 程序如何访问和操作当 前由浏览器显示的h t m l 文档。 x m l h t t p r e q u e s t 1 5 是x m lh t t p 组件的对象,它允许j a v a s c r i p t 、v b s c r i p t 等脚本语言与远程服务器建立h t t p 连接并交换数据。 在a j a x 中,客户端j a v a s c r i p t 通过动态修改d o m 树和c s s 来更新w e b 页面, 异步通信使用x m l h t t p r e q u e s t 对象动态地更新数据而无需重新加载整个w e b 页 面。 2 1 2a j a x 工作原理 与传统的w e b 应用模型( 如图2 1 ) 不同,a j a x 与服务器通信采用异步交互方式。 图2 2 说明了a j a x 应用程序的结构。a j a x 在用户与服务器之间引入一个中间层a j a x 引擎,消除了传统的w e b 交互过程中“请求等待请求等待”的缺点【1 d 1 7 1 。a j a x 引擎用j a v a s c r i p t 语言编写,主要负责编译用户界面及与服务器交互。a j a x 引擎使 客户端与服务器端响应异步化:并不是所有的用户请求都提交给服务器,些数据 验证和处理由a j a x 自己处理而不必提交给服务器,只有需要从服务器读取新数据 第2 章本课题相关技术 时才由a j a x 引擎代为向服务器提交请求【1 7 】。这样可以把一些服务器负责的任务交 给客户端,利用客户端闲置的能力来处理,从而减轻服务器和网络带宽的负担。使用 a j a x 引擎后,因为没有页面重载的等待,用户感觉所有的请求都会很快得到响应, 从而提高了用户体验。 厂、 用户界面 l ji h t t pr e q u e s t h t m 【l c s s 1 r 厂、 w e b ) ( m l 服务器 数据存储、后台处理 l 图2 1 传统的w e b 应用模型 f i g 2 1t r a d i t i o n a lw e ba p p l i c a t i o nm o d e l 图2 2a j a x 应用模型 f i g 2 2a p p l i c a t i o nm o d e lo f a j a x e x t 和w e bs e r v i c e s 在v t s 管理信息系统中的应用 2 1 3a j a x 的优势 a j a x 不是以种基于静态页面的方式来看待w e b 应用。从a j a x 的角度看来, w e b 应用仅由少量的页面组成,其中每个页面都是小型的a j a x 应用。而一些简单 的a j a x 应用,例如一个简单的r s s 阅读器,甚至只有一个页面。每个页面上都 包括有一些使用j a v a s c r i p t 开发的a j a x 组件。这些组件使用x m l h t t p r e q u e s t 对象 以异步的方式与服务器通信,从服务器获取需要的数据后使用d o ma p i 来更新 页面中的部分内容。 因此a j a ) 【应用的优势主要表现在以下几个方面: 1 减轻服务器的负担。a j a x 的原则是“按需取数据 ,可以最大程度的减少 冗余请求和响应,从而减少服务器负担。 2 无刷新更新页面,减少用户心理和实际的等待时间。尤其是需要读取大量 数据的时候,不会像重载整个页面那样出现白屏的情况,a j a ) 【使用x m lh t t p 对 象发送请求并得到服务器响应,在不重新载入整个页面的情况下用j a v a s c f i p t 操作 d o m 最终更新页面。所以在读取数据的过程中,用户面对的不是白屏,而是原来 的页面内容,当响应的数据处理完毕之后才更新相应页面。这种更新是瞬间的, 用户几乎感觉不到。 3 带来更好的用户体验。 4 可以把以前一些服务器负担的工作转到客户端,利用客户端闲置的能力来 处理,减轻服务器和带宽的负担,提高网站程序的带宽性能( 一个网页测试公司经 测试得出使用a j a x 比使用传统的w e b 总带宽节约6 1 ) 。 5 可以调用外部数据。 6 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。 7 a j a x 使w e b 中的界面与应用分离( 也可以说是页面呈现和数据的分离) 。 由此可见,a j a x 使得w e b 应用更加动态,带来了更高的智能,并且提供了表 现能力丰富的a j a xu i 组件。这样一类新型的w e b 应用叫做r i a ( r i c hi n t e m e t a p p l i c a t i o n ) 应用。 第2 章本课题相关技术 2 2e x t 框架 2 2 1e x t 概述 e x t 是一个a j a x 框架,用于在客户端创建丰富多彩的w e b 应用程序界面,是 在y a h o o ! u i 的基础上发展而来的,使w e b 层的开发具备了面向对象的特性。 e x t j s 可以用来开发r i a 也即富客户端的a j a ) ( 应用,是一个用j a v a s c r i p t 写的, 主要用于创建前端用户界面,是一个与后台技术无关的前端a i a x 框架【1 9 1 。因此, 可以把e x t j s 用在n e t 、j a v a 、p h p 等各种开发语言开发的应用中。e x t j s 最开始基 于y u i 技术,由开发人员j a c k s l o c u m 开发,通过参考j a v a s w i n g 等机制来组织可 视化组件,无论从u i 界面上c s s 样式的应用,到数据解析上的异常处理,都可算 是一款不可多得的j a v a s c r i p t 客户端技术的精品。 e x t 是一个创建丰富互联网应用程序的跨浏览器的j a v a s c r i p t 库。它包含:高 效率,可定制用户界面的小部件,设计漂亮的、可扩展的组成部件模型,容易使 用的、直观的应用程序接口。基于纯h t m l c s s + j s 技术,提供丰富的跨浏览器u i 组件,灵活采用j s o n x m l 为交换格式,使得服务端表示层的负荷真正减轻,从 而达到客户端的r i a 应用。 2 2 2e x t 框架的优势 j q u e r y 、p r o t o t y p e 和y u i 都属于非常核心的j s 库。虽然y u i ,还有最近的 j q u e r y ,都给自己构建了一系列的u i 器件( w i d g e t ) ,不过却没有一个真正的整合 好的和完整的程序开发平台。哪怕是这些低层的核心库已经非常不错了,但当投 入到真正的开发环境中,依然需要开发者做大量的工作去完善很多缺失之处。而 e x t 就是要填补这些缺口。主流开源框架中只有d o j o l 2 0 1 像e x t 一样,尝试着提供整 合的开发平台。相比d o j o 这个出色的工具包,我们认为e x t 能提供一个粘合度更 高的应用程序框架。e x t 的各个组件在设计之时就要求和其它e x t 组件组合一起工 作是无缝合作的。这种流畅的互通性,离不开一个紧密合作的团队,还必须时刻 强调设计和开发这两方面目标上的统一,而这点是很多开源项目未能做到的。从 e x t 和w e bs e r v i c e s 在v t s 管理信息系统中的应用 构建每一个组件开始,我们始终都强调组件的外观、性能、互通性和可扩展 性,而我们认为组件已经达到了这几点要求。 e x t 绝对可以单独使用。实际上;除了有特定的要求,推荐单独使用e x t ,这 样的话文件占位更小,支持和整合也更紧密。e x t 也支持与j q u e r y 、y u i 或p r o t o t y p e 整合使用,作为低层库的角色出现,以提供处理各种核心的服务,如d o m 和事件 处理,a j a x 连接和动画特效。使用整合方式的一个原因是它们已具备了一些特定 的器件而e x t 并没有支持,像y u i 的h i s t o r y 控件便是一个典型的例子。这时,e x t 需要依赖y u i 这个库的底层来实现h i s t o r y 控件,这样可免去e x t 自身底层库,从 而减少整个程序的内存占用。另一个使用整合方式的原因是,对于许多已在使用 其它底层库的程序,你可能希望逐步加入e x t 。总之,如果已经有了其它库,e x t 可以利用它们。e x t 的宗旨是为用户提供各种可能性和性能上的优化。而事实上只 要实现了相对应的底层库接口,为任意一个框架添加适配器是没有问题的,可以 轻松将d o j o 、m o o 、a j a x 。n e t ,或其它j s 库转变为e x t 的底层。 2 2 3e x t 组件 e x t 提供了庞大丰富的组件体系,学习e x t 主要就是学习各种组件的功能、特 性及使用方法。e x t 组件的基类是c o m p o n e n t ,组件的配置选项、属性、方法及事 件都是组件非常重要的特性,需要通过a p i 来熟悉他们的功能及用法。 组件就是指可以复用的应用程序组成部件。我们在开发的时候,只需要直接 使用这些组件及控件,就可以创建出丰富多彩的应用程序界面。窗口、树、表格、 选项板、工具栏、菜单等都是可以直接复用的组件及控件。包括: 1 e x t 核心库中的组件; 2 e x t 应用示例中的提供的扩展组件; 3 用户自定义的组件。 组件【2 1 1 的基本应用步骤: 1 通过一个x t y p e 来指定组件的类别唯一标识。 2 使用n e w 操作符来创建组件对象。 3 在容器中使用x t y p e 来使用组件。 第2 章本课题相关技术 4 给组件配置选项( o p t i o n s ) :配置选项是e x t 组件非常重要的特性,在大多数 e x t 组件中,都支持在构造函数中传递一个对象作为参数,在这个对象中包含组件 的详细参数描述,e x t 根据这些参数来创建组件。 5 组件渲染( r e n d e r ) 及显示( s h o w ) :组件只有在渲染后才能在页面中显示,可 以通过多种方法来渲染及显示一个组件。 组件的生命周期如图2 3 所示【2 2 1 。 初始化( i n i t i a l i z a t i o n )渲染( r e n d e r i n g )销毁( d e s t r u c t i o n ) 1 配置选项处理1 触发b e f o r e r e n d e r 事佴 1 触发b e f o r e d e s t o r y 事件 2 创建组件事件2 设置c o n t a i n e r 2 调用b e f o r e d e s t o r y 方法 3 注册组件3 调用o n r e n d e r 方法3 删除元素监听及对应d o m 4 调用i n i t c o m p o n e n t 方法 4 使用自定义样式 4 调用i n i t c o m p o n e n t 方法 5 状态初始化 5 触发r e n d e r 事件 5 状态初始化 6 加载组件插件 6 调用a f t e r r e n d e r6 加载组件插件 7 是否渲染 7 组件隐藏或禁用7 组件隐藏或禁用 图2 3 组件生命周期 f i g 2 3l i f e c y c l eo fa s s e m b l y 理解e x t 组件生命周期对于应用好e x t 组件以及扩展e x t 组件都非常重要。如 果要编写自定义的组件或控件,就需要对生命周期中的各个子流程和方法非常熟 悉,这样才能在类中通过适当的方法作组件的处理。 2 2 4 事件机制 事件及事件处理其实就是当用户执行某一个状态,或是对象执行某一个操作 时,会给哪些关心这个动作的对象发送一个通知,那些对象( 监听者) 接受到通知后, 会作具体的响应。 e x t 和w e bs e l v i o e 8 在s 管理信息系统中的应用 e x t 为用户提供了一批标准的组件,这些组件支持事件的机制,我们可以围绕 组件的事件编程【2 3 1 。e x t 框架中存在着大量的事件操作。那些事件所通知的对象不 仅仅是看得见的控件,还可以延伸到非可视的数据层面对象,针对数据操控行为 都可以被看为一个事件,并按照相同的方式来处理。典型的例子如e x t d a t a 命名空 间下的r e c o r d 类,数据实体一旦被改变了就会触发事件,调用相应的处理函数。 e x t 中的事件可以分为“两类”:d o m 事件与j a v a s c r i p t ( 或程序) 事件。 ( 1 ) d o m 事件 显示网页的浏览器已经有某种“无限循环 的机制以处理用户的动作,并根 据d o m 元素所发生的动作去触发事件。我们一般是这样设置d o m 元素事件侦听 器的: 你好 e x t e l e m e n t 对d o m 元素的事件进行打包,现在设置事件侦听器的方式变为这样: e x t g e t ( m y d i v ) o n ( c l i c k ,f u n c t i o n ( ) a l e r t ( ”h e l l o ”) ;) ) ; 可以说d o m 事件是d o m 元素通过e x t e l e m e n t 传递到侦听器的。 ( 2 ) j a v a s c r i p t 事件 事件源不但会是d o m 元素,而且可以是任意的j a v a s c r i p t 对象,轻松实现事 件源的逻辑和加入侦听器。如果一个复杂的组件如g r i d ,只对d o m 事件编程的话, 像列移动这样的用户动作处理起来变得极端复杂。你必须要侦听d o m 的元素,处 理鼠标的点击、移动、计算出列移动的距离等等。如果采用g r i d 组件,所有东西 完成好后,通知“用户已经移动列三到位置一 ,它触发j s 事件,通知预设好的侦 听者发生了什么事。其它的e x t 组件也是如此,如验证事件、树折叠。 e x t 的组件编程也极度依赖于事件模型。事件模型的最初底层不外乎是浏览器 开发商对网页的d o m 结构、d o m 模型预留的事件监听器接口的a p i ,使得每一 个元素( e l e m e n t ) 只要创建完毕之后,就已经有某种“无限循环( i n f i n i t el o o p ) 的 机制以等待用户的动作,并根据d o m 元素所发生的动作去触发事件。这一切皆以 e c m a s c r i p t 语言的a p i 形式暴露给开发人员调用。从语法的表面上,e x t 整套a p i 第2 章本课题相关技术 尝试以一种简约的编程风格涵盖主流浏览器的事件模型,好让开发者摆脱异种浏 览器代码适应的问题。 2 2 5e x t 和服务器端交互 e x t 是一个非常好的a j a x 框架,应用始终离不开服务器端,e x t 与服务器端的 交互应用可以归结为三种类型,如图2 4 所示,包含表单f o r m p a n e l 的处理r 提交、 加载) 、控件交互及用户发起的a j a x 请求【2 4 1 等三种。 图2 4 e x t 与服务器交互图。 f i g 2 4i n t e r a c t i o no f e x ta n ds e r v e r ( 1 ) 控件交互 一些需要从服务器加载数据的控件会自动与服务器交互,比如t r e e p a n e l 下面 的t r e e l o a d e r 、g r i d p a n e l 里面用到的s t o r e 等。这些控件其实都可以加载各种类型 的数据,也就是理论上服务器可以返回任意数据给e x t 客户端,然后由e x t 客户端 转化成这些控件可以识别的数据。这些控件都提供了默认的数据解析器,能解析 固定格式的数据供这些控件使用,在使用这些控件的时候,我们需要仔细查看这 些控件的a p i ,看他们具体能处理什么样格式的数据,这样就可以在服务器端返回 其默认的数据格式即可。 ( 2 ) 表单提交、加载 e x t 和w e bs e r v i c e s 在v t s 管理信息系统中的应用 表单提交后,默认情况下服务器端应用程序需要返回一个j s o n 数据对象,该 对象包含两个属性,s u c c e s s 的值是布尔值t r u e 或f a l s e ,如果s u c c e s s 的值为仃u e , 则表示服务器端处理成功,否则表示失败;而e r r o r s 的值是一个对象,对象中的每 一个属性表示错误的字段名称,而属性值为错误描述。 表单数据加载时,可以通过调用字段的s e t v a l u e 方法,也可以直接在初始化 字段的时候在配置参数中设置v a l u e 属性值,另外还有一种方法是通过a j a x 的方 式从服务器端加载表单中各个字段的值。e x t j s 的表单数据加载通过b a s i c f o r m 的 l o a d 方法来进行,表单数据加载动作由类e x t f o r m a c t i o n l o a d 定义,执行数据加 载动作从服务器端加载数据,默认情况下服务器端需要返回一个包含s u c c e s s 属性 及d a t a 属性的j s o n 对象。 ( 3 ) e x t a j a x r e q u e s t 方法 不管是f o r m p a n e l 的处理,还是控件的交互,他们在访问服务器端的时候,9 0 都是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟草咨询规划方案模板
- 探究2025年新能源行业技术创新投入与成果转化分析报告
- 新能源行业安全管理培训体系构建与2025年提升策略报告
- 线上视频评比活动方案策划
- 2025年地热能发电行业人才需求分析与培养策略报告
- 第一节 伽利略对落体运动的研究教学设计-2025-2026学年高中物理沪科版2020必修第一册-沪科版2020
- 小麦检验员考试题及答案
- 聪明的同学测试题及答案
- DB65T 4367-2021 水质 甲基汞和乙基汞的测定 液相色谱-原子荧光光谱法
- 1.2石油与国家安全教学设计-2024-2025学年高中地理鲁教版(2019)选择性必修3
- 校长讲法治课课件
- 2025至2030中国工业云平台行业发展研究与产业战略规划分析评估报告
- 2025餐饮合伙经营合同协议书
- 《国家机构有哪些》课件
- 履约保函标准文本与应用示例
- 五年级数学口算训练题库及解题技巧
- 催化原理教学课件
- 2025下半年新疆生产建设兵团事业单位招聘(2398人)考试参考试题及答案解析
- 经桡动脉脑血管造影护理课件
- 2025年海南省公务员录用考试《行测》真题及答案解析(记忆版)
- 2025年湖北省公务员公开遴选笔试试题及答案(综合类)
评论
0/150
提交评论