毕业设计(论文)-基于RIA的网络监控系统的设计与研究.doc_第1页
毕业设计(论文)-基于RIA的网络监控系统的设计与研究.doc_第2页
毕业设计(论文)-基于RIA的网络监控系统的设计与研究.doc_第3页
毕业设计(论文)-基于RIA的网络监控系统的设计与研究.doc_第4页
毕业设计(论文)-基于RIA的网络监控系统的设计与研究.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

毕 业 设 计 (论 文) 专 业: 电子信息工程 班 级: 07电子一班 学生姓名: 学 号: 课题名称: 基于ria的网络监控系统的设计与研究 子课题: 交换机端口查询模块 指导教师: 2011年 6月 5日摘要为了能处理更复杂的多媒体应用,改善用户的交互体验,出现了一种新的internet应用程序,即丰富互联网应用程序(ria:rich internet application)。ria是一种基于web的c/s架构,综合了c/s架构和b/s架构的优点,是b/s技术在客户端的突破发展,它是集桌面应用程序的最佳用户界面功能与web应用程序的普遍采用和快速、低成本部署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。ria中的flex是同类产品中最领先和成熟的产品。论文结合应用系统多层次体系结构发展的现状,对flex和mvc框架进行深入分析。flex提供了一种高效的开发模型,能够很容易地与过去很多年积累下来的标准及最佳实践相集成。本文以j2ee体系的web开发方法为探讨的基线。根据web应用的经典分层理论,应用flex作为表示层实现,进行框架整合,从而设计出了一套足够灵活、松散耦合、可扩展且高效的web开发框架。本课题以flex语言开发基于ria技术的网络监控系统,解决了传统的web方式或c/s架构下网络监控的一些缺点,提供更丰富、更具有交互性和响应性的用户体验。本人主要任务是实现ria技术在查询模块的作用,主要完成的工作是交换机的查询模块,用以完成查询功能。关键词:ria flex 用户体验 cairngorm mvcabstractin order to deal with more complex multimedia applications, improve the user interaction experience, comes a new internet application, namely rich internet applications(ria). ria is a web of based on c/s structure, integrated with c/s architecture and the advantages of b/s structure. it is b/s technology in client breakthrough development, it is the collection desktop applications with the best user interface functions of the web application program widely used and fast, low cost deployment and interactive multimedia communication real-time fast in the integration of new generation network applications. the ria flex is similar products in the most advanced and mature products,the thesis combines application system multi-layer system structure of the present situation of the development of flex and mvc framework, in-depth analysis. provides an efficient flex the development model, can easily and accumulated over the many years of standard and best practice combined. based on the j2ee system to explore the web development method of the baseline. according to the theory of classical web application, application layer as flex framework representation layer, integration, achieve thereby designed a flexible enough, loose coupling, can be expanded and effective web development framework. this topic to flex language development based on ria technology network monitor system, solved the traditional web form or c/s structure of network monitoring under some shortcomings, provide richer and more interactive and responsiveness user experience. keywords:ria,flex,user experience 目录第一章 绪论11.1选题背景11.2研究内容和意义11.2.1研究内容:11.2.2研究意义21.3论文的结构组织2第二章 flex与java技术的分析32.1 ria介绍32.1.1 ria简介32.1.2 ria的优势42.1.3 ria的技术特点42.1.4 ria技术解决方案52.2 flex概述62.2.1 flex简介62.2.2 flex运行机制62.3 cairngorm和mvc模式介绍72.3.1 cairngorm框架介绍72.3.2 cairngorm框架的组成部分82.3.5 mvc设计模式112.4 dao与bean以及dbpool132.5 flex与java的集成应用lcds通信14第三章 网络管理系统的分析与设计153.1 项目概述与分析153.2系统可行性分析163.3 系统架构设计173.4 系统模块功能设计183.5 数据库设计193.6持久层设计213.7基于cairngorm框架的flex的表示层设计223.8软件界面设计原则22第四章 网络设备基础数据管理系统的实现244.1 开发环境的搭建244.1.1开发使用的工具244.1.2 lcds环境搭建244.1.3 cairngorm开发包加载244.2 数据库实现254.3 持久层实现254.3 cairngorm框架部分实现294.3.1 services实现294.3.2 delegate实现294.3.3 event实现304.3.4 controller实现304.3.5 command实现304.3.6 view部分实现31第五章 总结与展望335.1 回顾与总结335.2 展望33参考文献:34致 谢35iv安徽建筑工业学院毕业设计(论文)基于ria的网络监控系统的设计与研究电子与信息工程学院 电子信息工程专业 2007级1班 周浩指导老师 张庆第一章 绪论1.1选题背景随着网络技术的高度发展,internet已经日益成为应用程序部署运行的默认平台。传统的b/s、c/s模式系统逐渐暴露出功能单一、接口专用、不易部署、不易升级、安全性低等特点,制约了internet技术的发展。目前,提高网络资源的利用率,改善用户的操作体验成为网络领域最新发展趋势和研究热点。为了提高用户体验出现了一种新类型的internet应用程序。那就是ria。ria将桌面型计算机软件应用的最佳用户界面功能性与web应用程序的普遍采纳和低成本部署以及多媒体通信的长处集于一体,最终实现一种可以提供更直观、响应性和有效的用户体验应用程序。adobe flex就是一套完整的综合性ria技术解决方案。ria具有桌面应用程序的特点,包括:在消息确认和格式编排方面提供互动用户界面;在局部刷新页面情况下提供快速的界面响应时间;提供通用的用户界面特性,如拖动式以及在线和离线操作能力。作为一种成熟的ria技术,flex已经越来越受到人们的关注,本课题就是研究如何运用flex技术,编写一个基于web方式的图形化建模视图,可以绘制简单的网络拓扑结构图,使用户可以再浏览器上完成以往只能在桌面程序中才能完成的工作。1.2研究内容和意义1.2.1研究内容:本课题分析了当前web开发领域中flex技术的优势及特点,并对使用cairngorm框架辅助flex程序开发所需要的技术背景进行了研究。本课题以flex语言开发基于ria技术的网络监控系统,解决了传统的web方式或c/s架构下网络监控的一些缺点,提供更丰富、更具有交互性和响应性的用户体验。课题以flex和java语言展现ria技术在低数据量通信和用户体验方面的优势。本人主要任务是实现ria技术在查询模块的作用,主要完成的工作是交换机的查询模块,用以完成查询功能。1.2.2研究意义目前网络监控采用的主流技术有传统的web方式和c/s架构以及ria技术,而采用ria技术所带来的优势有:1.立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。ria具有通信的特点,包括实时互动的声音和图像。2.客户机在ria中的作用不仅是展示页面,它可以在后台与用户所要求的进行异步计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。3. ria可以继续使用现有的应用程序模型(包括j2ee和.net),因而无需大规模替换现有的web应用程序。通过rich client技术,可以构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。1.3论文的结构组织第一章 介绍了论文课题的研究背景,研究现状,研究内容及组织结构。第二章 简要分析了flex和java技术的特点,系统介绍本课题所使用的一些技术与框架的构成,使读者本课题研究的内容有一个详细的认识。第三章 网络监控管理平台的分析与设计,通过分析设计出一个详细的方案。第四章 网络监控管理平台的实现,通过实践使本课题做出的管理平台得到实际应用。第五章 总结与展望 总结本文内容和课题研究中的不足之处。第二章 flex与java技术的分析2.1 ria介绍2.1.1 ria简介ria是集桌面应用程序的最佳用户界面功能与web应用程序的普遍采用和快速、低成本布署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。ria中的rich client(丰富客户端)提供可承载已编译客户端应用程序(以文件形式,用http传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的web服务所驱动。结合了声音、视频和实时对话的综合通信技术使ria具有前所未有的网上用户体验。ria中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用http传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的web服务所驱动。结合了声音、视频和实时对话的综合通信技术使富因特网应用程序(ria)具有前所未有的网上用户体验。“富”的概念包含两方面,分别是数据模型的丰富和用户界面的丰富。数据中的“富”意思是用户界面可以显示和操作更为复杂的嵌入在客户端的数据模型,它可以操作客户端的计算和非同步的发送接收数据。这种模式相对于传统的html页面的优点是程序运行于客户端并且程序更多的是和用户进行交互,同时更少的和服务器进行交互。平衡客户端和服务器端的复杂的数据模型可以让你有更大的空间去创建更高效和更具有交互性的网络应用程序。“富”同样也描述了全面提升的用界面,html只给用户提供了非常有限的界面控制元素,而富因特网应用(ria)的用户界面提供了灵活多样的界面控制元素,这些控制元素可以很好的与数据模型相结合。传统的因特网模型使用线性的设计,提供给用户一些选择,然后用户发送选择结果给服务器,这种单一的模式不符合应用程序的灵活交互的要求和用户的意愿。频繁的服务器请求和页面刷新有很多的缺点包括页面打开缓慢和降低网络带宽。如果采用富客户界面,可以从以前的服务器响应影响整个界面,转移到只有收到请求的应用程序部分才会做出相应的变化。这本质上意味着界面被分解成许多独立的模块,这些模块都会对收到的信息做出相应的反应,有些会和服务器端进行交互,有些是这些模块之间的通信。2.1.2 ria的优势ria具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。ria具有的web应用程序的特点包括如:立即布署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。ria具有通信的特点则包括实时互动的声音和图像。客户机在ria中的作用不仅是展示页面,它可以在幕后与用户请求异步进行计算、传送和检索数据、显示集成的户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。对于企业来说,部署ria的好处在于:1)ria可以继续使用现有的应用程序模型(包括j2ee和.net),因而无需大规模替换现有的web应用程序。通过rich client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序2。2)ria可以帮助企业提供多元化的重要业务效益,包括产提高销量、提高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、少支持求助以及增强客户关系等。2.1.3 ria的技术特点ria利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响应速度快和图形丰富的用户界面。除了提供一个具有各种控件(滑标、日期选择器、窗口、选项卡、微调控制器和标尺等)的界面之外,ria一般还允许使用svg(scalable vector graphics,可伸缩向量图)或其他技术来随时构建图形。一些ria技术甚至能够提供全活动的动画来对数据变化作出响应。此外,利用ria技术,数据能够被缓存在客户端,从而可以实现一个比基于html的响应速度更快且数据往返于服务器的次数更少的用户界面。对于无线设备和需要偶尔连接的设备来说,将来的趋势肯定是向富客户端的方向发展,并且会逐渐远离基于文本的web客户端。那些运行在膝上设备上的应用系统,可以被设计成以离线方式工作,或者至少当连接丢失的时候能基本上以离线的方式工作。不像传统j2ee程序那样,客户端的请求会导致系统生成一个页面再返回客户端,一个ria可以支持更小的单元或组件,这些组件从小到一个投票问题到一个完整的视图或界面,富客户模型将界面分解成许多的既可以和用户直接交互又可以和服务器进行通信的小单元模块。这种将应用程序的设计从以一个个相对独立的页面为中心转移到以组件为中心的转变将会使客户层的设计提升到一个新的层次,并且会使客户层变得更加灵活。富客户层不再成为服务器响应的最终端,这同时也使程序的性能得以提高,用户使用的感觉就好像程序不需要和服务器进行通信或者只是偶尔才需要进行通信。最后一个ria模型的特点是事件模型。不像传统的模型那样,服务器收到请求后由上至下的创建客户端界面,不用预测事件的顺序。既然每个组件都是独立的,就没有必要因为一个请求而做出影响整个视图的反应。要使每个组件都具有向服务器传送信息的能力需要每个组件知道如何处理服务器传递回来的信息。在ria中,客户端和服务器端交互数据是不同步的,这样就可以控制组件创建信息发送给服务器和处理服务器的响应,可以为更零散的控制去藕合分离程序功能并且组建面向服务的程序结构。2.1.4 ria技术解决方案当前,有不少ria的产品和方案可供我们选择,使用adobe flex可以创建被广泛支持的丰富互联网应用程序,由flashplayer的虚拟机解释执行,actionscript代码被编译成字节码以swf格式存在,为了获得更高的执行性能,flash player的jit编译器再将swf字节码转化为本地的机器码。flex 3于2007年发布,尽管更早的flex版本于2004年就有了,但那时的版本不支持jit编译。java程序员则可以创建java applets,这种解决方案在1995年出现。wpf(windows presentation foundation)是在2006年11月作为.net 3.0其中的一部分发布,wpf可用来创建internet和桌面应用程序。还有ajax,随着主流浏览器对xmlhttprequest api的支持,ajax发展得很快,也是目前创建ria的解决方案之一。2.2 flex概述2.2.1 flex简介adobeflex是专注于ria开发和部署一系列技术和产品的解决方案,包括the flexframewo政, flexbuilder, flexente印 riseserviees等。flex技术是表现层解决方案,像所有其它类似技术一样,表现层技术要解决三个基本问题:表现层界面展示和人机交互、客户端数据操作、客户端同服务器端数据交互和整合。flex针对这三个根本问题提供了卓越的解决方案。flex开发环境基于eclipse的 flexbuilder集成开发环境,这使得使用eclipse的传统web开发者很快的熟悉开发坏境,学习速度更快。flex将基于标准的语言和各种可扩展用户界面及数据访问组件结合起来,使开发人员能够快速构建具有丰富数据演示、强大客户端逻辑和集成多媒体功能的应用程序。使用flex构建的应用程序能够在桌面平台上运行,支持对应用程序外观进行完全自定义,并支持各种连接到后端数据和服务的方法。在服务器支持方面flex整合了livecycle data services,coldfusion等功能强大的服务器产品。flex应用开发程序最终会被编译成swf类型的nash文件格式,该程序既可以被嵌入在html网页中呈现也可以在桌面中独立显示。类似于java的虚拟机环境,flex程序的客户端也需要flashplayer容器来运行swf执行文件。因为flashplayer容器在个人电脑领域的大量普及,使得 flexria拥有了与java应用程序同样的多平台运行能力。开发者可以使用mxml页面或acitonscript3脚本语言来编写flex页面及逻辑。mxml页面在代码风格上与xml文件相一致,但是mxml最终会被转换为actionscirpt3脚本代码,这就像之前的jsp脚本最终会转换为javaservtet代码一样。凭借着灵活、强大的开发方式,个性丰富的多媒体应用程序,极强的用户的体验,flex彻底革新之前认尾b应用的客户与服务器的交互模式,被越来越广泛的应用于企业级开发领域中。2.2.2 flex运行机制如图2.1所示,在设计阶段,开发人员将通过开发工具(如eclipse或flex builder)进行表现页面mxml与actionscript代码的编写,其中mxml主要负责页面的显示功能,actionscript负责部分业务和数据服务的交互功能。在编译阶段,所有与flex应用程序有关的组件,包括mxml,actionscript,css样式表,以及图像资源,最终被编译并合并成swf文件,使之能运行于flash player中。在运行阶段,flex应用程序将根据需要同外部的资源,服务及数据源进行交互4。flex应用程序以一种及时模型进行编译,不会产生任何用户体验的中断。flex应用程序在首次引用时进行编译,然后缓存起来供以后调用;如果任何有关文件进行了更新,flex应用程序也会随之自动重新编译7。标准的flex应用程序并不要求服务器端的flex服务,可以在本地编译它们并直接部署在web服务器的hmtl页面上。flex应用程序还可以部署在应用服务器,使用adobe公司的flex data services,coldfusion flash远程服务或者是j2ee服务。2.3 cairngorm和mvc模式介绍2.3.1 cairngorm框架介绍cairngorm是一个架构式框架(architectural framework),以mvc模式为主体设计思想,将flex应用程序分为视图(view)、模型(model)和控制(controller)三个组成部分。view负责展示用户界面;model关注于数据的保存,维护flex客户端和服务器端之间数据一致性和flex不同视图对同一数据引用的一致性;而controller负责将模型中的数据展示到视图中,还为事件处理和服务调用提供了一套封装机制。在异步通信、事件驱动的flex平台上,cairngorm为构建的商业应用程序提供快速而可靠的方法。为了减轻flex程序员的开发负担,cairngorm使用了mvc分层设计模式,并且提供了多个有助于开发的组件,如模型定位器、服务定位器与前台控制器等。当然cairngorm本身也有其优缺点。使用cairngorm框架带来的好处具体如下:1.基于mvc模式的cairngorm框架将开发过程分离为状态处理、界面表现、业务逻辑、服务端通信。这使得开发flex应用程序变得流程清晰,有利于平行开发。2.对于数值的传递方面,专门设置valueobject统一封装数据。这样使得程序能使用粗粒度的数据对象传输来提高远程传输效率。3.cairngorm框架提供了多个loeator组件,如serviee,view,model的资源获取都是通过locator定位的。这样对于资源使用只需知道其id,其内部实现等待细节都是不需要知道的。尽管使用cairngorm框架在一定程度上提高了flex程序开发的效率,但cairngorm还是有一定的不足,具体如下:1.使用上比较繁琐,对于大型项目,需要维护的类也很多2.程序流的控制存在问题。对于控制层,cairngorm框架提供了frontcontroller,正如其名frontcontroller仅能够提供对前台事件流的控制导向,在将事件映射到command后便失去作用,即之后的程序流交由command来控制。这种作法实则超出command自身职责。3.command必须实现ic0mmand接口规范,这使得command类不符合pojo思想,而且仅能够实现execute方法,开发者不能自定义多动作处理方法。2.3.2 cairngorm框架的组成部分cairngorm框架由许多部分组成,主要对flex中数据传输和绑定、事件机制和服务调用进行了规范,并设计一个统一的模式,且专注于解决三个方面的关键问题:在客户端处理用户的行为、封装业务逻辑和服务交互、管理客户端信息状态并将它们实时显示在用户界面上。其组成部分如下表所示:mvc分类特征cairngorm组成部分模型(model)数据传输和绑定value objectmodel locate视图视图view控制器事件机制front controllercairngorm dispatchercommandcairngorm event服务调用service表2-1 cairngorm框架下面将详细介绍cairngorm框架的各个组成部分:(1)modellocator(数据模型部分):存储flex程序中所有的值对象(value objects)并共享变量。modellocator类中所有属性都是静态属性,保证可使用单例模式,可确保在flex应用程序的任何地方都可以定位到,为开发团队提供一致的空间以值对象实例的形式暴露和共享应用程序级的状态,并且通过flex强大的数据绑定功能保证在模型改变时视图会被通知,即当modellocator中的模型有更新时,所有与此模型绑定的视图组件都会及时收到通知并更新视图以展示新的模型。(2)view(界面视图):由多个flex组件(button、panel、canvas、tile等)组合到一起形成一个特定的个体,使用flex的绑定(binding)功能来显示modellocator中包含的数据,并针对用户的交互动作如点击、拖拽等产生自定义的cairngormevent事件。在设计时,需利用flex的事件机制实现组件间的松耦合。cairngorm框架把“用户操作”和“系统级别事件”都映射为cairngormevent事件,从基于html的请求应答模式中解脱出来,用户请求不再需要与http请求同步。(3)command(命令部分):处理业务逻辑,调用cairngorm delegate和(或)其他的command,以及更新modellocator中存储的值对象和变量。为了响应事件,必须为每个事件增加command类来完成与这个事件相关的工作,还必须实现carirngorm中的command接口。command接口实现类必须实现execute()的方法且作为入口来执行,这使得cairngorm可执行每一个command而不考虑这个command实际上做什么。(4)frontcontroller(前端控制器):接收cairngormevent并将它们映射到相应的command类,且作为cairngorm的唯一入口点。扩展frontcontroller类,通过addcommand()方法注册与command类对应的事件,底层的cairngorm构架完成其他的工作,这样很容易地在应用程序的任何地方广播合适的事件,并且cairngorm保证相关的command可以被调用。当frontcontroller类与cairngorm提供的cairngormeventdispatcher类进行协作时,可任何时候派发cairngormevent事件。(5)service(服务):定义连接到远程数据库的远程过程调用(http service、webervice、remotobject)。cairngorm使用servicelocator类封装服务的实现细节,让开发者只是简单地向servicelocator请求一个service,调用其服务方法,并处理服务调用的结果,而不必关心这些结果是否可以从网络传输过来。(6)delegate(委派):由command创建,delegate类将远程过程调用实例化并且将结果返回给command。一般来说,特定的服务调用会被应用的不同地方多次调用,甚至根据服务被调用的上下文的不同,服务调用结果也会不同,故使用业务委派类(business delegate)来定位服务并且调用服务中的方法,用作服务器端和客户端之间的唯一接口点。(7)value objects(值对象):用于保存数据。它可确保用有含义的对象模型来描述客户端数据,在客户端和服务器保持一致的对象模型。图2-2 cairngorm框架流程2.3.5 mvc设计模式mvc(model-view-controller)架构是比较流行的开发模式,很多程序语言中都有应用,同样可以用在flex程序中。mvc模式是由三个子系统组成的,它们分别是:model、view、controller。model部件,负责装载数据和数据的行为;view部件,定义用户界面;controller组件,处理程序中的数据。把这三点组合起来,就构成了mvc组合。model是在mvc组合中用于存储数据的要素,它可以存储很简单的数据,也可以存储极端复杂的数据。对于model的定义,比较通用的说法是:它扮演数据库的角色,并且不依赖view和controller而存在。model与view或controller之间没有必然的联系,这是mvc模式的一大要点,正是因为model的独立性导致了mvc组件的巨大弹性。如果一个model与一个view或controller有某种对应关系,那它就被紧紧地绑定了,就只对某种特殊类型的controller或view生效,但是,当一个model与某种特殊类型的controller或view没有对应关系时,它就能被用于各种类型的controller和view之间的交流了。view是程序的界面显示部分。view把model里的数据呈现出来。一个view也就是flex中的一个可视化组件,可能是一个list控件、一个datagrid控件,也可能是一个panel面板,里面包括了按钮、输入新的表单,或其他任何种类的组件,所有这些可视化的界面部分都被归于view部件中。在view中,有部分控件用来显示数据,都是通过读取model数据来完成的。controller是负责处理用户的动作(例如,输入文本、点击按钮),必要时更新model和view系统。比如,用户点击按钮,向数据端发送请求,重新加载数据,当数据加载结束,model需要更新数据。这些都由controller来完成。在mvc组合中,每个部件与其他部件都保持着一种特定的关系,如图2-2示。图2-3 flex mvc模式model部件必须始终保持独立。这意味着model不可能了解任何其他要素,也不需要了解其他要素。但这并不意味着model与其他要素毫无联系。当model中的数据改变时model能通报消息,但重要的是,model仅仅只是通报消息,而不负责谁获取消息。这种功能使model与其他子系统的联系减弱,从而保证了其更大的弹性。view需要单方面了解model,见图2-6中view和model之间的虚线,它们之间的联系是单方面的,没有约束关系。view通过两种途径与model相互影响:它监听model的更新消息。view和model之间从来不进行信息交流,它只是使用model的数据。每个view都与它相应的model保持一种联系。model从来不知道谁在使用自己的数据,它的数据可能被许多个view使用。和view不同,controller需要控制model。controller处理用户的交互,捕捉特定的事件,更新model中的数据。controller也与view紧密地联系在一起。虽然一个controller可能对应多个view,但更普遍的情况是一个controller对应一个view。mvc模式的关键点在于model的独立性,它与view或controller之间没有对应关系。flex mvc模式不同于传统表示层设计模式,比如在struts mvc中,jsp view运行时工作在客户端(client),而controller(其实就是一个servlet)和model(以javabean的形式存在,如:actionform、action、javabean或ejb)运行于服务器端(server)。flex mvc运行时,view,controller和model全部工作在客户端,只有需要服务器端数据时才通过controller进行调用。这样可以大大的减轻服务器和网络带宽的负担。2.4 dao与bean以及dbpool (1)dao基础 dao模式是标准的j2ee设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的dao实现有下列几个组件: 一个dao工厂类; 一个dao接口; 一个实现dao接口的具体类; 数据传递对象(有些时候叫做值对象). 具体的dao类包含了从特定的数据源访问数据的逻辑。在下面的这段中你将学到设计和实现数据访问对象的技术。 (2)事务划分: 关于dao要记住的一件重要事情是它们是事务性对象。每个被dao执行的操作(象创建,更新、或删除数据)都是和事务相关联的。同样的,事务划分(transaction demarcation)的概念是特别重要的。 事务划分是在事务界定定义中的方式。j2ee规范为事务划分描述了两种模式:编程性事务(programmatic)和声明性事务(declarative). (3)dbpool 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素: 1 最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费; 2最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。 2.5 flex与java的集成应用lcds通信lcds(livecycle data service)之前叫做fds(flex data service),他是基于java(也有coldfusion版的)后端的数据服务工程,功能包括映射java对象到flex对象(包括调用java类的方法)、rtmp(real time message protocol)、代理、服务端生成pdf等功能。图2-4 flex技术与j2ee集成的架构第三章 网络管理系统的分析与设计3.1 项目概述与分析随着计算机网络技术渗透到社会的各个领域,计算机网络变得更加复杂(网络规模越来越大、复杂性不断增加、网络异构越来越高),网络管理也就变得越来越重要,因为它是使网络正常工作并持续下去重要因素。现在的网络管理系统已经成为网管人员必不可少的管理工具。网络设备基础数据管理系统是一个综合性很强的系统,为网管人员对提供了集成化的、自动化的、高效的工具集合。该平台包含了网络的监控、网络业务的管理、各种网络故障的管理等等一系列功能模块,可采用典型的增量开发过程实现。传统的设备管理系统大都是基于web和c/s架构,而他们都存在各自的缺陷,ria技术则正好解决了这一问题,它集中了web和c/s架构的优点,提供了更丰富的用户体验。本次课程设计包括主要包括四个模块,并将每个模块分为若干个功能点:1、 校区、楼宇、房间管理模块,主要实现校区,楼宇和房间的查询、添加、修改和删除功能。2、 配线架、信息点、端口管理模块,主要实现配线架、信息点、端口信息的查询、添加、修改和删除功能。3、 交换机管理模块,主要实现交换机信息的查询、添加、删除、修改及交换机和端口、信息点的映射功能。并实现交换机间的互联,具有核心、汇聚、接入等设备关系。4、 图表绘制模块,主要工作是将从数据库只能够获取的数据绘制成柱状图或曲线图,从而实现从硬盘到数据库到java到flex的数据连接,并用图文展现出来。本人在此次设计中主要负责交换机端口查询模块,实现查询,添加,删除,修改等功能,并建立各元素之间的对应关系和相应的数据库。图3-1为交换机管理模块的用例图:图3-1 交换机管理模块用例图3.2系统可行性分析 本项目是数据密集型的系统架构信息管理系统,信息系统与数据库之间以及信息系统客户端与服务器之间均会有大量数据的交互行为,故在设计时,需要选择良好的系统架构降低系统的部署维护成本,以及为终端用户提供良好的用户体验。 java技术是当前业界应用开发的成熟技术,java是面向对象的程序设计语言。与面向过程的语言相比,面向对象的语言更能反映人类对世界的认识和处理模式,具有良好的代码重用性。处理复杂、庞大而且不断变化的信息系统,必须使用面向对象的程序设计语言。 由于传统的基于html的瘦客户端技术开发的网络应用程序用户体验差,而在设计图标的生成和战士方面,开发难度比较大,是的开发效率低。如果要保持html页面的美感和协调感,开发人员还必须掌握一些美工技能,使得开发人员无法将精力集中在开发业务逻辑上面,故本项目放弃了使用传统的瘦客户端技术。 flex就是一套完整的综合性ria技术解决方案。使用flex技术,开发人员可以很轻松的实现界面整洁美观,提高其开发效率,并且开发出来的富互联网应用的用户体验好。而且利用flex builder 开发工具或者安装了flex插件的eclipse开发用户界面时,可以通过拖拽快速开发出用户界面,基本达到所见所得,为开发人员提供了很大的方便。总的来说,使用flex和java技术能够开发出系统,而且能够成本的消减以及以后其他其他系统开发的长期受益。故此系统选择了flex和java技术来开发系统。3.3 系统架构设计在设计整个项目的过程中,运用mvc的架构模式为基础。这里面有两处用到了mvc模式,一处是在整体设计上,sql server 2000数据库作为model,http/amp及lcds作为controller,flex应用程序作为view组成的mvc架构;另一处mvc模式就是在flex应用程序之间,又含有controller模块、model模块和view模块。(1)controller模块:存放所有子模块或者功能模块的controller控制器,这些controller负责和对应的remoting 模块进行数据通信,并返回数据。(2)model模块:存放所有子模块或者功能模块的model数据模型,这些模型一般都要是用的单例模式并且继承自eventdispatcher类,这样既保证了某个model的唯一性,又使这个model具有了事件派发能力。为了使这些model在view中的绑定功能起到作用,发挥出flex工作机制的优势,我们把这些model都声明为bindable,使这些模块具有绑定功能。(3)view模块:存放所有子模块或者功能模块的view显示页面。这些view只能够主要包括flex提供的可视化组件以及一些我们自定义的组件,这些组件美观、实用,大大提高了用户端的体验。图3-2系统架构图3.4 系统模块功能设计该系统是基于internet的网络设备基础数据管理平台,系统的用户身份有管理员和用户2种,各自完成相应的管理和使用功能。系统包括了校区、楼宇、房间管理模块,配线架、信息点、端口管理模块,交换机管理模块和图表绘制模块四个子系统,总体结构如图3-3所示。图3-3 系统功能模块图本人主要负责交换机的端口查询模块,具体如图3-4图3-4 端口查询模块图3.5 数据库设计 为了实现信息管理系统的计算机化,仅仅用文字来描述信息的流动和存储还远远不够,还要进一步调查分析舍去物质流,抽象出信息流,定义出数据库,各数据表的结构,并对各种数据的属性和各项处理功能进行详细分析。系统分析的主要成果是系统的逻辑模型。通过对该系统的研究以及本人负责的子系统,所涉及到的数据表主要分为以下几个表: switch表,switchport表等。表3.1到表3.4给出了4个数据表的具体描述,包括字段名称,数据类型,字段大小,必填字段,允许空字符串等。图3-5 交换机er图1. switch表switch表主要用于保存校区交换机信息。包含switchid,switchname,switchtype等。图3-6 switch表2. switchport表 switchport表主要用于保存交换机的各个节点的信息。包含sportid,portname,switchid,switchname等。图3-7 switchport表3.6持久层设计持久层主要定义与数据库表对应的持久化类以及与之协作的dao接口和dao实现类,用于向业务逻辑层提供访问数据库的服务。本系统持久层采用caringorm框架来实现持久化类和数据库表之间的映射。使得程序开发人员可使用面向对象的思想来操作数据库表,避免了与关系型数据库之间的不匹配。持久化类与数据库表之间的对应关系是由持久化类映射文件定义的。在caringorm中,每个持久化类就是一个javabean,有属性、无参数的构造方法和访问属性的getter/setter方法,并且持久化类的属性和数据库表字段存在对应关系.3.7基于cairngorm框架的flex的表示层设计本系统采用了flex作为表示层,使用了cairngorm框架,cairngorm框架核心部分由六部分组成,business(业务逻辑部分)、command(命令部分)、control

温馨提示

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

评论

0/150

提交评论