




已阅读5页,还剩80页未读, 继续免费阅读
(计算机应用技术专业论文)基于flex与j2ee集成的ria系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 在过去几年中,软件的构建、部署和运用发生了重大变化,r i c h i n t e r n e ta p p l i c a t i o n ( r i a ) 将桌面软件的丰富功能与w e b 应用程序的广 度结合在一起,提供良好的用户交互体验和更好的系统性能。与此同时,j 2 e e 发展迅猛,其s p r i n g 框架和h i b e r n a t e 框架具有容易使用和部署的特点, 在实践中得到了广泛应用。 本文首先说明了基于传统w e b 技术项目管理系统的局限性,详细分析了 项目管理系统对交互式数据、偶尔连接、视频等需求。在分析了f l e x 技术 的特点和功能后,着重分析了利用f l e x 构建系统的优点,可以无刷新页面、 降低系统带宽、客户端和服务器异步交互。并探讨了f l e x 的安全性以及权 限和会话的特殊性,并研究了如何提高客户端加载速度。 其次,在分析f l e x 需要与j 2 e e 集成才能构建系统的基础上,结合流行 而且成熟的w e b 开发技术- - j 2 e e 技术,在对j 2 e e 的s p r i n g 、h i b e r n a t e 框 架和f l e x 的c a i r g o r m 框架进行研究的基础上,以集成c a i r g o r m 、s p r i n g 和h i b e r n a t e 架构分层次设计了表示层、业务层和数据持久层。 然后,本文对某省科技厅面向中小企业科技计划项目管理系统进行需求 分析,利用u m l 建立活动图和用户功能模型图,结合对系统的需求分析与设 计,设计了该系统数据库和代表性功能。 最后,详细应用c a i r g o r m + s p r i n g + h i b e r n a t e 的集成架构实现了系统。 利用c a i r g o r m 框架实现了表示层m v c 处理,利用s p r i n g 框架的i o c 反转控 制实现了系统逻辑架构各层间和层内业务逻辑的松耦合,利用h i b e r n a t e 框架的实体关系映射实现了数据的持久化,利用l c d s 实现了f l e x 对象和 j a v a 对象转换和数据服务。本文着重探讨了基于f l e x 的r i a 系统的典型应 用,实现了可靠的、灵活的、松耦合的项目管理系统,验证了r i a 系统的可 行性和有效性。 关键词:f l e x :j 2 e e :r i a ;项目管理 西南交通大学硕士研究生学位论文第| i 页 a b s t r a c t i nt h e p a s ty e a r s ,g r e a tc h a n g e sh a v eo c c u r r e d i nt h ec o n s t r u c t i o n , d e p l o y m e n ta n du s eo fs o f t w a r e i u c hi n t e r n e ta p p l i c a t i o n ( m ) c o m b i n e dt h e r i c ha p p l i c a t i o n so fd e s k t o ps o f t w a r ea n dt h ew i d eu s eo fw e bt op r o v i d eaw e l l m u t u a le x p e r i e n c ef o rc u s t o m e r sa n dab e t t e rs y s t e mp e r f o r m a n c e i nt h em e a n t i m ej 2 e ei sd e v e l o p i n gf a s tw i t hs p r i n ga n dh i b e r n a t ew h i c hm a k e si te a s yt o u s e f i r s t l y , t h i sp a p e rd e s c r i b e sr i ac a nm a k eu pf o rt h el i m i t a t i o n so fp r o j e e t m a n a g e m e n tb a s e do nt h et r a d i t i o n a lw e b ,a n a l y s e st h ed e m a n d so ft h em u t u a l d a t a ,v i d e o sa n do c c a s i o n a l l yc o n n e c t i o n a f t e ra n a l y z i n gt h ec h a r a c t e r i s t i ca n d f u n c t i o no ff l e xt e c h n o l o g y , i tp u tm o r ee m p h a s i z es y s t e mb a s e do nf l e xc a n l o w e rs y s t e mb a n d w i d t h ,r e a l i z e st h ea s y n c h r o n o u si n t e r a c t i v eb e t w e e nt h e s e r v e ra n dc l i e n t ,a n da v o i d st h et r o u b l eo f r e f r e s h i n gw e bp a g e s t h e ni tf o c u s e s o nt h es p e c i a la s p e c t so fs e c u r i t y , s e s s i o na n da u t h o r i t y , a n di n c r e a s i n gl o a d s p e e di nt h ec l i e n tc a n b eu s e dt oi m p r o v et h es y s t e m p e r f o r m a n c e s e c o n d l y , i ta n a l y s e st h es y s t e mb a s e do nf l e xn e e di n t e g r a t i n gj 2 e e s t u d y i n ga n dc o m b i n i n gt h es p r i n ga n dh i b e r n a t eo fj 2 e e ,t h ec a i r n g o r mo f f l e xt o g e t h e r , i td e s i g n sp r e s e n tl a y e r , b u s i n e s sl a y e r , a n dd a t ap e r s i s t e n c el a y e r t h i r d l y , t h ea u t h o ra n a l y s e st h ed e m a n do ft h es c i e n c ea n dt e c h n o l o g yp l a n p r o j e c tm a n a g e m e n ts y s t e mt h a th a sc o n s t r u c t e df o rs m a l la n dm e d i u m s i z e d c o m p a n y , u s e su m le s t a b l i s ht h ea c t i v i t yd i a g r a ma n dl a s e rf e a t u r e sm o d e l d i a g r a m ,d e s i g n st h er e p r e s e n t a t i v ef u n c t i o no f t h i ss y s t e ma n dd a t a b a s e f i n a l l y , i t r e a l i z e st h es y s t e mb ya p p l y i n gt h ei n t e g r a t e da r c h i t e c t u r e , a c h i e v e st h ep r e s e n tl a y e ro fm v c p r o c e s su s i n gt h ec a i r g o r m ,a c h i e v e sl o o s e l y c o u p l e db e t w e e nl a y e r sa n di n t e r n a ll a y e ru s i n gt h es p r i n g si o c ,a c h i e v e sd a t a p e r s i s t e n c eu s i n gt h ee - rm a p p i n go fh i b e r n a t e ,a c h i e v e st h ec o n v e r s i o no ff l e x t oj a v aa n dd a t as e r v i c eu s i n gl c d s ,a c h i e v e st h et y p i c a la p p l i c a t i o no ft h er i a i tr e a l i z e sar e l i a b l e ,f l e x i b l e ,l o o s e l yc o u p l e dp r o j e c tm a n a g e m e n ts y s t e m ,a n d v e r i f i e st h ef e a s i b i l i t ya n de f f e c t i v e n e s so ft h er i a s y s t e m k e yw o r d s :f l e x ;j 2 e e ;r i a ;p r o j e c tm a n a g e m e n t 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许 论文被查阅和借阅。本人授权西南交通大学可以将本论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复印手段 保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密d 使用本授权书。 ( 请在以上方框内打“) 学位论文作者签名:& f 儆 指导老师签名: 日期:- 2 0 0 7 3日期: 了彳么 l 以q 一3 f 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承 担。 本学位论文的主要创新点如下:通过对f l e x 技术和j 2 e e 集成的r i a 系统的设计和实现,实现了r i a 在项目管理系统中的应用,并对传统的w e b 项目管理系统的改进,实现了偶尔连接,解除了用户工作必须依靠网络的限 制。实现了无缝安装,解决了用户自动更新和部署。 学位论文作者签名:邓锨 日期:砷1 3 西南交通大学硕士研究生学位论文第1 页 1 1 论文研究背景 第1 章绪论 传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络 程序的表示层建立于h t m l 页面之上,在这种模式下,作为默认用户界面的 网页,它的上下文自然地同时又是人为地进行流程分割,以便映射将业务处 理分解为步骤的机制【1 1 。随着时代的进步以及科学技术的发展,用户对w e b 技术产生了更具有交互性和响应性、更丰富的体验需要。基于页面模型的传 统w e b 技术尽管己经逐渐加入越来越多的动态特点进行改良,但由于其缺少 客户端智能机制以及操作的复杂性,在展示能力及与用户互动方面仍然后劲 乏力。 针对这种情况,一种可行的技术方案就是采用高度互动性和局部智能型 的客户端应用程序,这样就可以在无需刷新全页或增加带宽需求的情况之 下,迅速响应用户的输入并做出相应的处理,于是r i a ( r i c hi n t e r n e t a p p l i c a t i o n ) 便应运而生。r i a 是将桌面应用程序的交互用户体验与传统的 w e b 应用的部署灵活性和成本分析结合起来的网络应用程序。r i a 中提供可 承载已编译客户端应用程序( 以文件形式,用h t t p 传递) 的运行环境,客户 端应用程序使用异步客户服务器架构连接现有的后端应用服务器,这是一 种安全、可升级、具有良好适应性的新的面向服务模型【2 】。 在具体应用领域,比如项目管理系统,其需要及时、直观、有效的反映 项目各种信息到项目管理层,以方便做出决策,因此系统要快速的处理各种 数据,以直观和交互方式的展现数据。系统借助与项目相关的所有活动的单 一、准确的视图来支持整个项目管理生命周期,前瞻性地简化执行过程并通 过精确的预算、预测和开票退款来跟踪收益掣3 1 。r i a 结合了桌面应用程序 的反应快、交互性强的优点与传统的w e b 应用程序的传播范围广及容易传播 的特性,简化并改进了w e b 应用程序的用户交互,可以为项目管理系统的用 户提供更丰富、更便捷、更具有交互性和响应性的体验。 西南交通大学硕士研究生学位论文第2 页 1 2ria 系统发展现状 r i a ( r i c hi n t e r n e ta p p li c a t i o n s ) 概念于2 0 0 2 年3 月第一次正式出现 在a d o b e 公司白皮书上。自此以后,面向用户的应用程序开始慢慢兴起。微 软公司直将提高用户满意度作为软件设计的重点;企业软件巨头s a p 公 司,自2 0 0 6 年起将r i a 应用纳入产品开发要素以增强用户体验;a d o b e 公 司推出了基于f l e x 技术的r i a 企业级应用框架【4 1 。国内外很多公司也部分 地使用r i a 相关技术来构建互联网应用程序。然而,r i a 相关技术在项目管 理领域的研究与应用在国内外目前都尚处于起步阶段。 r i a 之所以丰富主要体现在三个方面:第一,数据模型的丰富,可以显 示和操作更为复杂的嵌入在客户端的模型,例如声音、视频、文字等数据模 型。第二,可以将客户端的界面分成几个模块,把原来的界面之间的响应变 为每个模块的响应,每个模块更多的是和用户之间交互而与服务器端交互很 少,降低了网络带宽,提高了页面打开的速度,创建了更高效和更强交互性 的应用程序。第三,用户界面的丰富,h t m l 技术提供有限的界面控制元素, 而r i a 提供了灵活多样的组件元素,这些元素可以很好的和数据模型相结 合,表示丰富的界面元素。 当今流行的几种主要r i a 技术有f l e x ,s i v e r l i g h t ,l a s z l o 技术。 f l e x 技术是a d o b e 公司于2 0 0 4 年3 月正式推出的基于组件的开发框 架,用于交付可由f l a s hp l a y e r 运行的丰富互联网应用程序。根据a d o b e 官方统计,f l a s hp l a y e r 目前的装机率高达9 8 7 ,无论任何操作系统和浏 览器都运行该软件,是人类有始以来最普遍的软件平台【5 】。f l e x 将基于标 准的语言和各种可扩展用户界面及数据访问组件结合起来,使开发人员能够 快速构建具有丰富数据演示、强大客户端逻辑和集成多媒体的应用程序。使 用f l e x 构建的应用程序能够在所有常见桌面平台上运行,支持对应用程序 外观进行完全自定义,并支持各种连接到后端数据和服务的方法。作为目前 最完善的r i a 开发技术,f l e x 目前已经发展到f l e x4 0 版本。 f l e x 的桌面技术英文名字为a i r 技术,目前这项技术属于前沿性研究, a i r 程序是运行在1 l m 的a d o b ea i r 虚拟器环境下的应用程序,虚拟器体积 非常小,安装非常快,可以在a d o b e 公司网站免费下载,因此取得、安装、 运行该虚拟环境不存在问题。并且该虚拟器环境能够在多种操作系统上安 装,这使得a i r 程序具有跨平台和消除浏览器测试等特性。 西南交通大学硕士研究生学位论文第3 页 s i l v e r l i g h t 是微软2 0 0 7 年推出的一种拥有内容丰富、视觉效果绚丽 的交互式体验r i a t 6 。以自定义的声明式扩展标记语言x a m l 为前台解释代码, 在服务器端运行的托管语言编写业务逻辑。根据用户发出的p o s t 请求,将 生成x a m l 在浏览器的s i l v e r l g h t 插件解释,把解释后的内容显示到浏览器 中,返回给用户。s i l v e r l i g h t 目前已经发展到3 0 版本,该版本具有更多 的控件支持、本地消息传递以及在浏览器外运行s il v e r li g h t 等多个新的功 能,从而使s i l v e r l i g h t 运行更为安全、更为便捷。s i l v e r l i g h t 基于安全 考虑,其插件和脚本都是不可以跨域,实现跨域操作开发步骤繁琐,必须通 过w e bs e r v i c e 来解决。而f l e x 可通过根域下的c r o s s m a i n x m l 文件轻松 实现跨域;安装s i l v e r l i g h t 插件需要管理员权限,这在一定程度上限制了 用户使用,没有该插件,相应的内容不能显示。 l a s z l o 是一个开源的r i c hi n t e r n e ta p p l i c a t i o n 开发环境。使用这 个平台开发只需要编写l z x 的描述语言,运行在j 2 e e 应用服务器上的 l a s z l o 平台会将其编译成f l a s h 传送给客户端展利7 1 。因f l a s h 可以在任何 支持f l a s hp l a y e r 浏览器展示,从而解决了浏览器之间的移植问题。但 l a s z o 有对中文支持不够和开发工具有限的缺点。 1 3 论文的主要工作 本文集成了f l e x 的c a i r g o r m 框架和j 2 e e 的s p r i n g 、h i b e r n a t e 框架, 利用f l e x 和j 2 e e 的特性,构建了r i a 系统。本文主要包括以下几个方面 的内容: ( 1 ) 在研究了传统w e b 的项目管理系统局限的基础上,探讨了f l e x 技 术在项目管理系统的应用。在对f l e x 技术分析的基础上,并研究了利用f l e x 技术降低系统带宽、客户端和服务器端异步交互、无刷新页面等优点构建 r i a 系统,然后对f l e x 特殊的权限认证、会话状态管理、安全性进行了探 讨。最后在对f l e x 缺点进行简单分析后,对提高客户端加载速度以及推迟 实例化改善基于f l e x 系统的性能进行了研究。 ( 2 ) 在对单独利用f l e x 技术构建项目管理系统的局限性分析的基础上, 提出了f l e x 与j 2 e e 集成的必要性。设计了f l e x 与j 2 e e 集成的构建r i a 项目管理系统的整体架构,并给出该架构详细的分层次设计,即利用f l e x 的c a i r g o r m 框架和j 2 e e 的s p r i n g 、h i b e r n a t e 框架的集成设计,在表示层 西南交通大学硕士研究生学位论文第4 页 利用c a i r n g o r m 设计了m v c 模式的控制,在业务层利用s p r i n g 设计了业务 逻辑,在数据持久层利用h i b e r n a t e 设计了域对象的持久化和数据库的访 问,并设计了f l e x 与s p r i n g 的集成和s p r i n g 与h i b e r n a t e 的集成。 ( 3 ) 分析了用f l e x 构建科技计划项目管理系统的意义以及系统的原则 和目标,分析了该系统的业务处理流程,利用u m l 建立了活动图和用户功能 模型图,并对该系统进行功能性设计和数据库设计。 ( 4 ) 集成c a i r g o r m 、s p r i n g 、h i b e r n a t e 三个框架构建了项目管理系 统,即实现了表示层、业务层、业务持久层,以及远程服务器l i v e c y c l ed a t a s e r v i c e s ,最后实现系统功能和基于f l e x 与j z e e 集成的关键技术和典型应 用。将桌面软件的丰富功能与w e b 应用程序的广度结合在一起,以此提高系 统的低耦合性、复用性、可扩展性以及交互性,三个框架的结合对r i a 系统 构建,具有一定的借鉴意义。 1 4 论文的组织结构 本论文的结构如下: 第1 章:主要介绍了论文的研究背景,r i a 技术的发展现状,论文的主 要工作和组织结构。 第2 章:在总结基于传统w e b 技术的项目管理系统局限的基础上,提出 了用f l e x 构建系统的需求,分析了r i a 技术的典型技术f l e x ,并在对f l e x 的特殊性进行研究和设计,以及对性能进行优化。 第3 章:在对f l e x 构建项目管理系统局限性和与j 2 e e 集成的必要性进 行分析后,对f l e x 的c a i r g o r m 框架和j 2 e e 的s p r i n g 、h i b e r n a t e 框架进 行分层次设计,对集成架构的表示层、业务层和持久层进行了设计。 第4 章:科技计划项目管理系统的需求分析和功能设计。 第5 章:实现了以c a i r g o r m + s p r i n g + h i b e r n a t e 框架的f l e x 和j 2 e e 集 成系统,详细介绍表示层、业务层和持久层以及l i v e c y c l ed a t as e r v i c e 的具体实,分析了f l e x 的关键技术在系统中的实现。 西南交通大学硕士研究生学位论文第5 页 第2 章基于f le x 的rla 系统的研究 2 1 基于传统w e b 的项目管理系统局限 项目管理系统,即是项目的管理者应用的专门管理项目的软件系统,它 是在有限的资源约束下,运用系统的观点、方法和理论,从项目的投资决策 开始到项目结束的全过程,进行计划、组织、指挥、协调、控制和评价,以 实现项目的目标【8 】【9 】【l0 】。 项目管理系统一般采用桌面版本,其部署和维护成本很高,在一个地域 广的项目管理中,问题尤为突出,因此当用户地域广的项目管理系统采用传 统的w e b 方式开发,解决了部署困难、升级困难、维护困难等问题。互联网 已经日益成为应用程序开发的默认平台,基于传统w e b 技术的系统也已广泛 应用于建设项目管理系统】。 但传统w e b 技术开发的项目管理系统基于h t m l 页面,在很多方面都有 其局限性。 第一、由于项目管理的数据都是通过h t t p 协议传输,但由于h t t p 的无 状态性,因此需要客户端和服务器不停地刷新,以维持连接性,如果使用的 人数很多,那么频繁的响应请求会给服务器造成高负载。基于传统w e b 技术 的项目管理系统,客户端没有或者很少有业务逻辑,因此几乎所有的处理都 由服务器端来处理,其服务器端承担着对数据库的访问和应用程序的执行任 务,随着项目管理系统中用户数量的增加,服务器端的处理及响应需求会急 剧增加,这样必然导致网络堵塞,用户的可用带宽下降。此外,由于表示层 或者客户端有很少的业务处理逻辑,随着用户计算机硬件的提高,客户机的 性能也得不到最全面的应用。 第二、频繁的刷新页面也会严重影响客户体验。在某些具体应用中,如 果涉及到用级联选择方式选择一个员工,需要先选择部门,然后选择科室, 再选择班组,最后选择具体人员。由于没有实现和服务器的异步通信,每次 选择都会导致整个页面的刷新,选择一个人员要进行多达三次的页面刷新, 对用户非常不友好【1 2 】。本来顺畅的项目管理业务被划分为反复跳转的刷新页 面,本来自然的互动操作被人为的切割为一个个的单个页面,完成一项任务, 西南交通大学硕士研究生学位论文第6 页 需要多次提取网页,而导致用户交互的低效率。 第三、基于传统w e b 的项目管理系统,是建立在h t m l 页上的,因此用 户的每一个动作产生的每一次请求,都必须提交到服务器端来执行计算,服 务器处理完成后再返回一个响应,用户再做进一步操作,客户端的事件没有 回到服务器之前,无法更新其它页,用户必须等待服务器处理完后再进行下 一步动作,效率很低。 第四、传统w e b 的项目管理系统的执行严重依靠网络,用户在网络不稳 定或者网络中断时无法使用系统的部份功能,要在网络完全连接的情况下才 能工作。 第五、项目管理系统的有一个特点是功能点很多,代码复用需求比较迫 切,需求变更频繁。而组件化编程、事件驱动编程可以很好地满足这些要求。 目前企业应用大都是用v b ,c # 这些支持组件化编程和事件驱动编程的工具 开发的,w e b 下面的项目管理系统成功的比较少,已经运行的客户怨言较多, 维护工作量较大。 第六、项目管理的应用中需要复杂人机界面和复杂交互功能,传统的 w e b 技术( 诸如j s p ,a s p ) 无法或者很难满足。比如,在桌面系统上,项目 管理的一些操作早已经实现了拖拽行为,但是在传统的w e b 系统上一直没有 得到很好的发展和应用。此外,桌面系统早己能用图形、动画、视频等表现 复杂的数据类型,但这些传统w e b 系统却显得力不从心。 第七、项目管理中的图表可以方便而且直观的分析和统计企业的数据, 传统的w e b 程序并不擅长绘制的图表,特别根据数据库的数据动态生成饼 图、甘特图、柱状图、曲线图等,并对其按照关键字段排序等操作。传统的 w e b 系统绘制图片是在服务器生成图片,然后嵌入到h t m l 中,返送给客户 端,例如j f r e e c h a r t 开源工具就是采用这种方式在传统的w e b 程序服务器 端生成图表的,这种方式存在着严重的弊端:生成和传输图片比较耗费服务 器和客户端的资源;很难做到动态化,即使用大量的代码开发出来也是在服 务器和客户端来回传送图片。 随着时代的发展、科技的进步、用户需求的不断提高,基于传统w e b 技术构建的项目管理系统已经越来越不能满足实际的需要,用户经常被迫忍 受令人失望、困惑甚至使人失去兴趣的体验,导致公司必须面对不满的客户, 遭受营业额损失、成本增加,同时也对互联网感到大失所望【1 3 1 。这时,需要 用一种新的技术来解决传统w e b 技术所带来的种种不便。 西南交通大学硕士研究生学位论文第7 页 2 2fie x 技术在项目管理系统中的应用 2 2 1fie x 技术在项目管理系统的应用综述 项目管理系统拥有复杂的业务逻辑,牵涉的部门比较多,它对工程资源 进行计划、组织、指导和控制,是一项复杂的系统工程【1 4 】【l5 1 。因此项目管理 系统要有强大表示层或者客户端,以便处理用户数据,处理复杂的业务流程, 显示用于分析、决策图表和展示多样的数据。此外,针对项目管理系统的用 户来说,如何在不同网络条件下满足用户的交互需求? 如何增强用户与项目 管理系统的互动性? 如何通过网络传递丰富的用户体验? 如何给与用户类 似桌面应用操作上的流畅感和丰富的功能? 针对这些问题,最好的解决途径就是运用丰富互联网技术r i a ( r i c h i n t e r n e ta p p l i c a t i o n ) 。其中目前最完善的r i a 系统开发技术就是f l e x 技术。基于f l e x 的r i a 系统是网络系统开发和部署的一种演变,它具有良 好的软件体系结构、更好的兼容性以及更富有吸引力的用户体验,可以提供 类似桌面应用风格的互动模型和性能,同时保留i n t e r n e t “一次部署、随 处使用”式的软件安装模型【1 6 】。 2 2 2 交互式数据 传统项目管理系统主要是着手解决对业务操作层的管理、部分工作的简 化和原始数据的记录,缺乏对管理层、决策层的有效和有益的信息支持,即 管理层、决策层往往和操作层一样陷入了日常工作所产生的大量数据之中, 不能在最短时间内获得有价值的数据,从而不能有效地利用软件来进行管理 和决策f l 习。项目管理系统中项目现状,项目进度等产生了大量的数据,需要 交互的方式实时地反映项目的变化,将执行情况与目标进行比较,以供项目 的管理者进行决策和分析。可视化的报表、数据是商务智能的一个很重要的 部分,其用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动 态模拟表现复杂数据及其相互关系【l7 1 。采用f l e x 的动态c h a r t 技术可以很 方便用矢量化图形展现可视化的报表、数据,f l e xc h a r t 采用全声明式的 语言,利用 、 、 、 、 等组件容易开发,f l e x 绘制图表在 西南交通大学硕士研究生学位论文第8 页 服务器端取得数据,根据数据在客户端动态地绘制图表,与传统的w e b 程序 相比,其服务器负载小、数据传输量小、能够动态的生成表。使数据展示和 分析更加直观具体。用户不需要专业的知识和技能就能对数据做出解读和分 析,提高了项目管理系统的易用性,实现项目全过程的动态管理,降低成本, 提高各种资源的利用率。 项目管理系统中参与方有图纸会审、设计洽商与变更等需求,为了适应 浏览器的有限能力,图档管理通常将图纸数据渲染成栅格图纸或者让浏览器 下载插件,增强浏览器的功能,以显示自定义的图纸矢量数据格式,然而插 件的能力是有限的,不能扩充,当数据是交互图纸、动态图纸,就要根据不 同的表达和交互方式设计不同的数据模型显示,f l e x 技术内置的数据模型 丰富,可以根据不同的应用,方便快捷的设计数据模型。f l e x 技术编译后 的程序将在f l a s hp l a y e r 中运行,f l a s hp l a y e r 不仅具有显示栅格格式 数据的能力,还具有显示简单矢量格式数据的能力以及强大的交互能力1 1 8 】。 在项目工期紧张、边设计边施工的情形下,可以快捷互动地处理图纸数据。 2 2 3 偶尔连接 项目管理系统中用户需要经常填写大量数据,如果网络条件差,网络带 宽有限,便会出现很多问题。一是用户在填报单据的时候,由于网络的不稳 定,突然出现断网,会造成灾难性的后果,用户的填写只能从头开始。二是 用户在填写严重依赖网络,即在无网连接时,不能进行单据的填写。为了解 决以上的问题,一般好的办法是使用传统c s 版本的系统,c s 版本的系统 能够部署在客户端上,执行复杂的业务逻辑,并把数据保存在本地,能够在 无网络的时候使用,并能实现离线操作等优点。但是若用户分布在各地,每 个用户安装单独的业务系统,传统的c s 版本系统将出现部署难、维护难, 是费时费钱的活动。基于f l e x 的桌面w e b 开发技术给出了很好的解决方案。 用户能够使用桌面w e b 程序,并由此进行填报单据等大数据量的业务,充分 利用本地资源,平衡网络负载和服务器负载,能够结合现有的j 2 e e 或者n e t 框架和技术,使得版本更新更简单,提高服务器对客户端的管理。 因为基于浏览器的系统只能与用户在本地系统进行有限的交互。为了确 保用户的计算机不会由于加载w e b 内容而被破坏,浏览器实施了严格安全性 策略,例如,通过f l a s hp l a y e r 在浏览器中运行的s w f 文件无法直接与用 户计算机中的文件进行交互。只能写入共享对象s h a r eo b j e c t 和c o o k i e 西南交通大学硕士研究生学位论文第9 页 到用户的计算机,使文件系统交互受到了严格限制,妨碍了浏览器中运行的 程序将用户业务数据自动保存到客户端计算机上。因此必须采用桌面w e b 程序。 基于f l e x 的桌面w e b 程序安装在本地,可以在本地文件系统间进行读 取和写入的功能【i9 】。在网路不稳定时,利用桌面w e b 技术,可以脱离浏览器 安全沙箱的限制,该系统能检测网络状态,当发现网络不连通时,将数据保 存在本地,如果再次网络连通,将保存到本地的数据加载,实现数据的同步 发送,还解决数据的冲突,实现了偶尔连接的功能。桌面w e b 技术因运行在 桌面,所以必须有自动更新的能力,以保证程序与服务器上的系统版本一致。 具有自动更新能力的f l e x 技术就满足了这个要求。例如e b a y 公司智能化的 在线拍卖系统e b a yd e s k t o p 应用程序,就是采用这项技术开发的,用户不 必启动w e b 浏览器,就能离线浏览新物品和随时关注e b a y 的订阅拍卖信息。 又如t w h i r l 可以离线写网络微博客,当想发布日志的时候,只需要连接一 下网络,实现了网络应用本地化的特点。 2 2 4 视频应用 项目管理系统需要直观和感性的了解项目的运行情况,以视频手段来进 行项目阶段性验收、施工现场监控、网络视频会议、项目成果发布等。因此 项目管理需要无缝的利用声音、图像、视频和文本建立r i a 系统,提高系统 的可用性。f l a s hv i d e o ( f l v ) 是a d o b e 运用f l e x 技术开发的一种全新的 流媒体格式,它形成的文件极小、加载速度极快、c p u 占有率低、视频质量 良好,清晰的1 分钟f l v 格式的视频在1 m b 左右,约是普通视频文件大小的 1 3 t 2 们。f l v 可以在f l a s hp l a y e r 中播放,无需特殊插件即可播放f i v 视频 【2 。f l v 的出现有效地解决了视频文件导入f l a s h 后,导出的s w f 文件体积 庞大,不能在网络上很好的使用等缺点,这种非嵌入视频具有更好的性能和 内存管理,同时f l e x 技术能够快速的开发视频的采集、播放、上传等。在 基于f l e x 的项目管理系统中应用f i v 视频,能够很好的对项目进行监理和 发布。 2 2 5 结构灵活 项目管理的方式各不相同,而且又同时管理多个项目,以及管理中有许 西南交通大学硕士研究生学位论文第10 页 多复杂流程,同时项目执行人员的工作流动性大、地域上又比较分散,因此 项目管理系统必须结构灵活、开放,以适应项目管理中的多种情况。基于 f l e x 的项目管理系统,有异步支持机制、一次加载、事件驱动编程,以及 f l e x 有很多开源框架和成熟的设计模式的支持,可以使项目管理系统的结 构更加灵活,提高项目管理系统的复用性和柔性。 2 3fie x 技术的研究和设计 2 3 1fie x 技术的概述 f l e x 作为最早出现和最成熟的r i a 开发平台,易于开发,开发周期短, 在各浏览器中表现一致【训3 2 1 。f l e x 技术提出了以脚本语言开发、支持页面 动态编译生成,在w e b 网页中引入交互式的图形界面,将f l e x 控件作为页 面内容的最小单位,f l e x 技术使传统w e b 客户端的交互体验大为改观【2 3 】。 f l e x 技术包括类x m l 自定义的说明性的语言m x m l 、编程语言 a c t i o n s c r i p t 和x m l 配置文伊2 4 1 。m ) ( m l 用来定义表示层页面控件,通过 s e r v l e t 容器解释m x m l 描述的界面组件并生成相应的s w f 文件。x m l 配置包 括自己的属性配置、服务配置和代理配置。a c t i o n s c r i p t 包括后台数据的 处理和发送服务器端数据到客户端,对其编译后生成s w f 文件,用户访问时, s w f 文件被下载到本地,在本地浏览器的f l a s hp l a y e r 上运行客户端和表 示层逻辑,处理用户请求,执行数据验证,发出h t t p 和a m f 数据请求,以 及这些请求之间的处理【2 5 1 。f l e x 服务器运行在j 2 e e 平台或者s e r v l e t 容器 中1 2 6 】,其包括f l e x 编译器、缓存机制、网络代理服务机制,可通过多种方 法与j 2 e e 组件的服务器交互获得其功能支持【2 7 】。通信的方法主要有h t t p 通信、w e bs e r v i c e 通信,以及由a d o b e 定义的a m f 网关通信。f l e x 技术 应用在表示层而不需要改动业务逻辑层和综合层,可以重用原来的业务逻辑 层和综合层。 m x m l 和a c t i o n s c r i p t 具有很强关联性,对编译器来说,解释这两种语 法后最终被编译成同一个对象,比如: m x :b u t t o ni d = b t n l a b e l = m yb u t t o n h e i g h t = 41 0 0 b 和v a rb t n :b u t t o n = n e wb u t t o n 0 :b t n 1 a b l e = ”m yb u t t o n : b t n h e i g h t = 1 0 0 : 西南交通大学硕士研究生学位论文第”页 当f l e xb u i l d e r 运行或调试f l e x 程序时调用编译器m x m l c ,编译器找 到与m x 命名空间中的m x m l 标签相对应的a c t i o n s c r i p t ,然后把 a c t i o n s c r i p t 编译为s w f 文件,以供f l a s hp l a y e r 运行。 上述代码产生同一个对象,但两者的功能有微小的不同,m x m l 描述应 用程序外观及其组件,而a c t i o n s c r i p t 则描述如何处理应用程序的事件和 自定义逻辑。a c t i o n s c r i p t 创建的对象除了b u t t o n 就没有别的了,而m ) ( m l 中创建的对象将b u t t o n 添加到包含m x m l 代码的任何组件上,即根据m x m l 上的描述来调用构造函数将b u t t o n 添加到父对象上f 2 蚋。在m x m l 文件中可用 标签包含a c t i o n s c r i p t 代码。一般最简单程序可能不需要 a c t i o n s c r i p t ,多数是用m x m l 和a c t i o n s c r i p t 来相互协作完成,在某些方 面,比如循环,函数定义,条件语句等都必须通过a c t i o n s c r i p t 实现。 f l e x 有很多优点:f l e x 有很多界面交互元素如树、菜单、网格等,能 建立窗体风格图形界面,同时也能创建图形化的f l a s h ,所以f l e x 如同本 地桌面系统上的程序界面,具有良好的用户交互性和友好性;其次,因为 f l e x 是基于f l a s h 的,所以得到了工业界的一致支持,具有跨平台兼容性; 再者,s w f 文件放到硬盘上的缓存文件夹里,浏览器只是向服务器询问这些 资源是否被修改,如果服务器回答没有被修改,那么浏览器会使用本地缓存 的文件,一次加载,多次使用;虽然用户向服务器端发送请求的次数很多, 但是所需要的数据量却相对较少,可以缓存大量的客户端数据,而且,客户 端与服务器端主要采取f l e x 特有的方式交互,仅仅传递必要的数据信息, 数据信息传输高效。此外,f l e x 还提供了一定程度的离线操作功能,降低 服务器的负载。 2 3 2fie x 构建rla 系统的优点 降低系统带宽 如果系统采用f l e x 技术页面,可以从以前的服务器响应影响整个界面, 转变为只有收到请求后,部分应用程序才会做出相应的变化。这本质上意味 着界面被分解成许多独立的模块,这些模块都会对收到的信息做出相应的反 应,有些会和服务器端进行交互,有些是这些模块之间的通信。这样可以减 轻服务器端的压力,提高用户可用的带宽。其r i a 技术的实现是s w f 文件进 行缓冲下载,缓存到本地,f l a s hp l a y e r 执行客户端接口的s w f 文件的程 序,就像一种单一的、不间断流的方式执行本地程序一样,而不是一系列的 西南交通大学硕士研究生学位论文第1 2 页 链接页面。当客户端从一个场景到另外一个场景时,不需要从服务器中加载 页面。一次加载s w f 文件,丰富的s w f 中的图形化组件不需要重新绘制,所 有后续程序都是使用a m f 格式的较小数据驱动客户端业务逻辑,从而减轻了 服务器端的负担。 无刷新页面 f l e x 应用程序作为一个包含了已编译的字节码的二进制文件进行部 署,这些文件做为一个整体下载到客户端,f l a s hp l a y e r 运行时来执行字 节码,一些模块可以采用延迟实例化技术延迟加载,因此不存在刷新页面的 问题。 宜 图2 - if l e x 应用程序一次编译后的下载到客户端 客户端与服务器端异步交互2 1 客户端与服务器端异步交互能够给用户带来良好的用户体验,避免系统 用户长时间等待服务器响应的烦恼,f 1 e x 客户端与服务器的通信模型为异 步交互提供了支持,其异步交互的示意图如图22 所示: - j ,二:! j ;一一乏,j 一 玳器i 二 图2 - 2f l e x 客户端和服务器端异步交互 西南交通大学硕士研究生学位论文第1 3 页 利用观察者模式,在系统的代码中向本地代理注册事件监听器,通过本 地代理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国移动东营市2025秋招心理测评常考题型与答题技巧
- 六盘水市中石化2025秋招写作申论万能模板直接套用
- 中国移动大兴安岭地区2025秋招面试无领导高频议题20例
- 安康市中石油2025秋招面试半结构化模拟题及答案机械与动力工程岗
- 邵阳市中石油2025秋招面试半结构化模拟题及答案法律与合规岗
- 新疆地区中石油2025秋招笔试模拟题含答案机械与动力工程岗
- 那曲市中石化2025秋招写作申论万能模板直接套用
- 中国联通甘孜自治州2025秋招技术岗专业追问清单及参考回答
- 汕尾市中储粮2025秋招面试专业追问题库安全环保岗
- 中国广电白银市2025秋招写作案例分析万能模板直接套用
- 地震逃生知识培训
- 《济南市城镇燃气领域重大隐患判定指导手册》
- 卢卡奇的《历史与阶级意识》
- JJG693-2011燃气泄漏检测仪器检定规程
- 三峡大学科技学院实习报告及实习成绩考核鉴定表模板
- 电缆电线技术标书
- 柔性压力传感器制备法
- 水稻高产栽培技术要点
- (免费分享)工商银行业务委托书打印版
- GB 5226.1-2008机械电气安全机械电气设备第1部分:通用技术条件
- 《毛泽东思想和中国特色社会主义理论体系概论》全套课件
评论
0/150
提交评论