欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年技术可行性分析报告 .pdf

    • 资源ID:27227266       资源大小:736.07KB        全文页数:24页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年2022年技术可行性分析报告 .pdf

    第页共 24 页XXXXX系统技术可行性分析报告项目名称:项目编号:编写:审核:批准:日期:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - 第页共 24 页目录1项目简介 . 2系统构成 . 3产品技术平台分析. 3.1系统运行环境. 3.2开发环境 . 4主要关键技术. 5关键技术的解决方案. 5.1Struts2 框架 . 5.2持久层框架 . 5.3Ajax 技术 . 5.4XML 解析器 . 5.5SNMP . 6系统架构解决方案. 6.1架构 1 . 6.2架构 2 . 7本项目确定的方案. 7.1系统架构 . 7.2技术方案 . 1 项目简介名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - - - 第页共 24 页2 系统构成模块名称模块描述3 产品技术平台分析3.1 系统运行环境网络环境:硬件平台:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - 第页共 24 页操作系统平台:数据库平台:Web 服务:3.2 开发环境网络环境:硬件平台:操作系统平台:数据库平台:Web 服务:4 主要关键技术主要关键技术技术解释J2EE J2EE(Java 2 Enterprise Edition)即 Java 2 企业版,是提供给开发者的采用组件技术构建分布式系统的编程框架。Struts2框架Struts2 是一个兼容Struts1 和 WebWork 的 MVC 框架,它是以 Webwork 的设计思想为核心,吸收了Struts1 的优点。Spring框架Spring 是轻量级的容器,是一个开源框架。iBatis框架iBatis是目前流行的轻量级持久层架构,学习上手快, 使用灵活、 性能高效等特点。Log4j Log4j 是 Apache 的一个日志记录的开放源代码项目。XML解析器目前流行的XML 解析器主要有DOM 、SAX、JDOM 、 DOM4J 等。WebService Web Service 也叫 XML Web Service WebService是一种可以接收从Internet或者 Intranet 上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过 SOAP 在 Web上提供的软件服务, 使用 WSDL 文件进行说明, 并通过 UDDI进行注册。RMI-IIOP 采用 IIOP 协议 (互联网内部对象请求代理协议)进行 java RMI 远程方法访问。Ajax AJAX全称为“ Asynchronous JavaScript and XML ”(异步JavaScript和名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 24 页 - - - - - - - - - 第页共 24 页XML ),是指一种创建交互式网页应用的网页开发技术。C语言C语言是一种高效的结构化语言。SNMP 简单网络管理协议(Simple Network Management Protocol )RRD/JRobin RRD是 Round Robin Database(环状数据库)的缩写。JRobin 是一个使用Java实现的开源的RRD 处理程序和绘图引擎。Flash Flash 是交互式矢量图和Web 动画的标准。JNDI Java 命令与目录服务JUnit Java 单元测试的工具DOM Document Object Model文档对象模型。CSS Cascading Style Sheets层叠样式表单。Maven2 Apache Jakarta 项目的高级项目管理工具,比Ant 更简单、更先进5 关键技术的解决方案5.1 Struts2框架Apache Struts2即是之前大家所熟知的WebWork2 。 在经历了几年的各自发展后, WebWork和 Struts社区决定合二为一,也即是Struts 2。Struts2是一个兼容 Struts1和 WebWork 的MVC 框架,它是以 Webwork的设计思想为核心,吸收了Struts1的优点。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 24 页 - - - - - - - - - 第页共 24 页Struts2体系结构Struts2框架的大致处理流程如下:浏览器发送请求,例如请求/mypage.action、/reports/myreport.pdf等;核心控制器 FilterDispatcher 根据请求调用合适的Action;WebWork 的拦截器链自动对请求应用通用功能,例如workflow 、validation 或文件上传等功能;回调 Action 的 execute方法,该 execute方法先获得用户请求参数,然后执行某种数据操作,既可以是将数据保存到数据库, 也可以从数据库中检索数据。 实际上 Action 只是一个控制器,他会调用业务逻辑组件来处理用户的请求。Struts1.x 与 Struts2 比较特性Struts1.xStruts2 Action 类Struts1.x要求 Action类要扩展自一个抽象基类。Struts1.x的一个共有的问题是面向抽象类编程而不是面向接口编程。Struts2的 Action类实现了一个Action接口,连同其他接口一起来实现可选择和自定义的服务。Struts2提供一个名叫ActionSupport的基类来实现一般使用的接名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - - - - 第页共 24 页口。当然, Action接口不是必须的。任何使用 execute 方法的 POJO对象可以被当作Struts 2的 Action对象来使用。线程模型Struts1.x Action类是单例类,因为只有一个实例来控制所有的请求。单例类策略造成了一定的限制,并且给开发带来了额外的烦恼。Action资源必须是线程安全或者同步的。Struts2 Action对象为每一个请求都实例化对象, 所以没有线程安全的问题。 (实践中, servlet容器给每一个请求产生许多丟弃的对象, 并且不会导致性能和垃圾回收问题)。Servlet 依赖Struts1.x的 Action类依赖于servlet API,当 Action被调用时,以HttpServletRequest和HttpServletResponse作为参数传给execute 方法。Struts2的 Action和容器无关。Servlet上下文被表现为简单的Maps,允许Action被独立的测试。Struts2的 Action可以访问最初的请求( 如果需要的话) 。但是,尽可能避免或排除其他元素直接访问HttpServletRequest或HttpServletResponse。易测性测试 Struts1.x的主要问题是execute 方法暴露了Servlet API这使得测试要依赖于容器)。 第三方的扩展,如 Struts TestCase,提供了一套Struts1的模拟对象(来进行测试)。Struts2的 Action可以通过初始化、 设置属性、调用方法来测试。依赖注入的支持也是测试变得更简单。捕获输入Struts1.x使用 ActionForm对象来捕获输入。象Action一样,所有的ActionForm必须扩展基类。因为其他的 JavaBean 不能作为 ActionForm 使用,开发者经常创建多余的类来捕获输入。 DynaBeans可以被用来作为替代ActionForm的类来创建。但是,开发者可能是在重新描述( 创建 ) 已经存在的 JavaBean(仍然会导致有冗余的javabean )。Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己( 子) 属性的 rich对象类型。Action属性能够通过web页面上的taglibs访问。 Struts2也支持 ActionForm模式。 rich对象类型, 包括业务对象, 能够用作输入 / 输出对象。这种ModelDriven 特性简化了taglib对 POJO输入对象的引用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - 第页共 24 页表达式语言Struts1.x整合 JSTL, 所以它使用JSTL的表达式语言。表达式语言有基本的图形对象移动, 但是对集合和索引属性的支持很弱。Struts2使用 JSTL,但是也支持一个更强大和灵活的表达式语言Object Graph Notation Language (OGNL)。将值绑定到页面Struts1.x使用标准 JSP机制来绑定对象到页面上下文。Struts2使用“ ValueStack ”技术,使taglib能够访问值而不需要把你的页面( view )和对象绑定起来。 ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view )。类型转换Struts1.x的 ActionForm属性经常都是 String。Struts 1.x使用Commons-Beanutils来进行类型转换。转换每一个类, 而不是为每一个实例配置。Struts2使用 OGNL 进行类型转换。 提供基本和常用对象的转换器。验证Struts1.x支持在 ActionForm 的validate方法中手动校验,或者通过Commons Validator的扩展来校验。同一个类可以有不同的校验内容,但不能校验子对象。Struts2支持通过validate方法和XWork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性Action 执行控制Struts1.x支持每一个模块有单独的 Request Processors(生命周期),但是模块中的所有Action必须共享相同的生命周期。Struts2支持通过拦截器堆栈( Interceptor Stacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的 Action一起使用。总结:根据 struts1.x 和 struts2.0 的对比, struts2.0 提供的方法更灵活更易于开发,所以决定采用struts2.0作为教学机管理系统2.0 的前台框架。5.2 持久层框架持久层框架目前比较流行的有Hibernate、ibatis 等,下面主要对这两种框架进行介绍。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - 第页共 24 页Hibernate Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得 Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java的客户端程序使用,也可以在Servlet/JSP的 Web应用中使用,最具革命意义的是,Hibernate可以在应用 EJB 的 J2EE架构中取代 CMP,完成数据持久化的重任。一、Hibernate 是 JDBC 的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和 EJB 没有什么必然的联系。 Hibernate 可以用在任何 JDBC 可以使用的场合,例如Java应用程序的数据库访问代码,DAO 接口的实现类,甚至可以是BMP 里面的访问数据库的代码。从这个意义上来说,Hibernate 和 EB 不是一个范畴的东西,也不存在非此即彼的关系。二、Hibernate 是一个和 JDBC 密切关联的框架,所以Hibernate的兼容性和 JDBC 驱动,和数据库都有一定的关系,但是和使用它的Java程序,和 App Server 没有任何关系,也不存在兼容性问题。三、 Hibernate不能用来直接和Entity Bean 做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为 JDBC 的替代者出现的,而不是 Entity Bean 的替代者出现的。传统的架构:1)Session Bean Entity Bean DB 为了解决性能障碍的替代架构:2)Session Bean DAO JDBC DB 使用 Hibernate来提高上面架构的开发效率的架构:3)Session Bean DAO Hibernate DB 就上面 3 个架构来分析:内存消耗:采用 JDBC 的架构 2 无疑是最省内存的, Hibernate 的架构 3 次之,EB 的架构1 最差。运行效率: 如果 JDBC 的代码写的非常优化, 那么 JDBC 架构运行效率最高, 但是实际项目中,这一点几乎做不到,这需要程序员非常精通JDBC,运用Batch 语句,调整PreapredStatement的 Batch Size 和 Fetch Size 等参数,以及在必要的情况下采用结果集cache 等等。而一般情况下程序员是做不到这一点的。因此Hibernate 架构表现出最快的运行效率。EB 的架构效率会差的很远。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 24 页 - - - - - - - - - 第页共 24 页开发效率:在有 JBuilder 的支持下以及简单的项目, EB 架构开发效率最高, JDBC 次之,Hibernate 最差。但是在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate 效率高的惊人, JDBC 次之,而 EB 架构很可能会失败。分布式,安全检查,集群,负载均衡的支持由于有 SB 做为 Facade ,3 个架构没有区别。Ibatis 使用 ibatis 提供的 ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的Java 对象,这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作, Hibernate 会自动生成 SQL 语句, 而 ibatis 则要求开发者编写具体的SQL 语句。 相对 Hibernate等 “ 全自动”ORM机制而言, ibatis 以 SQL 开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。Hibernate 与 ibatis优缺点比较:1 iBATIS 非常简单易学, Hibernate 相对较复杂,门槛较高。2 二者都是比较优秀的开源产品3 当系统属于二次开发 , 无法对数据库结构做到控制和修改, 那 iBATIS 的灵活性将比Hibernate 更适合4 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种情况下iBATIS 会有更好的可控性和表现。5 iBATIS 需要手写 sql 语句,也可以生成一部分,Hibernate 则基本上可以自动生成,偶尔会写一些 Hql。同样的需求 ,iBATIS 的工作量比 Hibernate 要大很多。类似的,如果涉及到数据库字段的修改, Hibernate 修改的地方很少,而iBATIS 要把那些 sql mapping 的地方一一修改。6 以数据库字段一一对应映射得到的PO和 Hibernte 这种对象化映射得到的PO是截然不同的,本质区别在于这种PO是扁平化的,不像Hibernate 映射的 PO是可以表达立体的对象继承,聚合等等关系的,这将会直接影响到你的整个软件系统的设计思路。7 Hibernate现在已经是主流O/R Mapping 框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于iBATIS 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - 第页共 24 页总结:根据本项目对sql 优化灵活性的要求,选择ibatis 作为数据持久层框架。5.3 Ajax 技术Ajax 概述:Ajax 不是一种技术。实际上,它由几种蓬勃发展的技术以新的强大方式组合而成。Ajax包含:XHTML 和 CSS 使用文档对象模型 (Document Object Model)作动态显示和交互使用 XML 和 XSLT 做数据交互和操作使用 XMLHttpRequest 进行异步数据接收使用 JavaScript将它们绑定在一起传统的 web 应用模型工作起来就象这样:大部分界面上的用户动作触发一个连接到Web服务器的 HTTP 请求。服务器完成一些处理 -接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML 页面到客户端。这是一个老套的模式,自采用超文本作为web 使用以来,一直都这样用, 但看过The Elements of User Experience 的读者一定知道, 是什么限制了 Web界面没有桌面软件那么好用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 24 页 - - - - - - - - - 第页共 24 页传统 Web 应用模型 (左)与 Ajax 模型的比较 (右). 这种旧的途径让我们认识到了许多技术,但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在做什么?没错,等待。每一个动作,用户都要等待。很明显,如果我们按桌面程序的思维设计Web应用,我们不愿意让用户总是等待。当界面加载后, 为什么还要让用户每次再花一半的时间从服务取数据?实际上,为什么老是让用户看到程序去服务器取数据呢? Ajax 如何不同凡响通过在用户和服务器之间引入一个Ajax 引擎,可以消除Web 的开始 -停止-开始-停止这样的交互过程 . 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax 引擎-采用 JavaScript编写并且通常在一个隐藏frame 中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互-不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。使用 Ajax 的最大优点, 就是能在不更新整个页面的前提下维护数据。这使得 Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。传统的 web应用允许用户填写表单 (form),当提交表单时就向web 服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法浪费了许多带宽,因为在名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - - - - - - - - 第页共 24 页前後两个页面中的大部分HTML 代码往往是相同的。 由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,AJAX 应用可以仅向服务器发送并取回必需的数据,它使用 SOAP 或其它一些基于 XML 的 web service接口,并在客户端采用JavaScript处理来自服务器的响应。 因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web 服务器的处理时间也减少了。Ajax 应用程序的优势在于:通过异步模式,提升了用户体验优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用Ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。Ajax 开发框架:毫无疑问, Ajax 作为当前最火爆的技术之一,其优秀的框架层出不穷。Prototype、Dwr、Dojo、JQuery、YUi 都是非常出色的产品。1.JQuery 特点:短小精悍 (19k) ,接口设计得精妙 (自然语言的风格 ),与程序思路配合精密。极大限度地体现了javascript的特性;支持 xpath 查询, dom1-3,轻松选择需要的元素; css 支持;简单的动画实现,支持自定义动画;支持插件开发,现有插件多;完整的 api 文档以及范例,易学;拥有官方UI 程序供使用,效果好。2.Yui 特点:Yahoo发布的 AJAX组件库,是一个包含了各个方面,从工具类库到通讯,到 UI 组件的综合性 JS库。 YUL的最大优势在于文档非常齐全, 而且有 Yahoo的支持,缺点是库目前还不全,功能也不强大。3.Ext 特点:Ext 来自于对 YUI的扩展,扩展後功能和界面都有了很大的提高。初期仅仅是对 YUI 的对话框扩展,后来逐渐有了自己的特色,深受网友的喜爱。Ext 封装了名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 24 页 - - - - - - - - - 第页共 24 页很多组件用于 UI 的展示, Ext 的所有组件都是扩展于Ext.Component, 而后子类扩展和集成形成了一个单根的组件树. 4.Prototype 特点:一个非常优雅的JS 库,定义了 JS的面向对象扩展, DOM 操作 API,事件等等,之上还有 rico/script.aculo.us实现一些 JS组件功能和效果 ( 尚不够完善 ),以 prototype为核心,形成了一个外围的各种各样的JS扩展库,是相当有前途的JS底层框架,突出特点就是非常易学易用,门槛很低,常常是一两行JS代码就可以搞定一个相关的功能。同时它也是RoR集成的 AJAX JS库。5.Dojo 特点:Dojo 包括了 Javascript本身的语言扩展,以及各个方面的工具类库,和比较完善的 UI 组件库; Dojo 设计的包加载机制 (Package System) 和模块化(Libraries)的结构,能保持更好的扩展性,提高执行性能,减轻了用户开发的工作量,并保持一定的灵活性(用户可以自己编写扩展 ) ;Dojo 官方网站有着丰富的学习资源;专业的开发团队,可以保证更新速度及质量。6.Mootools 特点:小巧高效,完整下载36k;模块化设计,合理规范,优雅的OOP 风格;创新的下载过程,可以跟据自己的需要勾选相应的模块下载,Build Your Own Framework; Effects模块(moo.fx) 轻量高效 , 可以实现优雅、可定制、easing 的动画;完整的 API 文档,丰富的范例。7.Dwr 特点:把 java 类转化为 javascript类由 dwr 自动完成,只需简单的配置; 应用起来极其简单。开发者不要该服务器代码就可以集成;容易测试。和webwork一样,隐藏的 http 协议;强扩展性。例如与spring 集成,只需修改一点代码;性能。就与jason 等简单比较, dwr 性能可能是最好的。8.Buffalo 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 24 页 - - - - - - - - - 第页共 24 页特点:国人开发的Ajax 框架。定义了 Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。 Buffalo中的重要组件 -BuffaloBinding, 提供了将 JavaScript对象绑定到 HTML 元素的能力。这种绑定将是无侵入的,只需要在HTML 元素中加入若干个不影响排版的属性,即可将数据与界面绑定。9.Qooxdoo 特点:不通过常规的 HTML 来构造页面,完全使用 JS以类似 VB/Delphi 风格的编程方式构造 Web GUI界面,比较适合内网面向C/S 风格的 web应用,而不适合面向Internet的界面多变风格的应用。10. Spry 特点:设计规范,功能全面,文档丰富, 面向设计人员而不是开发人员。与其它一些 Ajax 框架相比,它的服务器端的技术不是很可靠。它依赖于 XML ,XML可以很容易被 Spry 组件接受。总结:根据本项目对页面性能要求,要选择性能高的框架jquery作为页面 js 库,同时选择 ext作为皮肤 js 库。5.4 XML 解析器目前流行的 XML 解析器主要有 DOM、SAX、JDOM、DOM4J 等,下面我们就这四种解析器进行分析和比较:1、DOM DOM 是用与平台和语言无关的方式表示XML 文档的官方W3C 标准。 DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。(所以其劣势就是基与大文件的加载速度很慢,因为它是需要全部加载后才操作的). 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 24 页 - - - - - - - - - 第页共 24 页用 DOM 解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用navigation APIs 访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用DOM 解析器的时候需要处理整个xml 文档,所以对性能和内存的要求比较高,尤其是遇到很大的xml 文件的时候。由于它的遍历能力,DOM 解析器常用于xml 文档需要频繁的改变的服务中。另一方面,对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理这样的数据会更好。这些基于事件的模型,比如SAX。2、SAX SAX 解析器采用了基于事件的模型, 它在解析xml 文档的时候可以触发一系列的事件,当发现给定的 tag 的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。这种处理的优点非常类似于流媒体的优点。分析能够立即开始, 而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中,对内存的要求通常会比较低 。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档 ;它可以在某个条件得到满足时停止解析。特别是当开发人员只需要处理文档中所包含的部分数据时, SAX 这种扩展能力得到了更好的体现。但用 SAX 解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。3、JDOM JDOM 的目的是成为Java 特定文档模型,它简化与XML 的交互并且比使用DOM 实现更快。JDOM 与 DOM 主要有两方面不同。首先,JDOM 仅使用具体类而不使用接口。这在某些方面简化了API,但是也限制了灵活性。第二,API 大量使用了Collections 类,简化了那些已经熟悉这些类的Java 开发者的使用。JDOM 文档声明其目的是 “ 使用 20%(或更少 )的精力解决80%(或更多 )Java/XML 问题”(根据学习曲线假定为20%)。JDOM 对于大多数Java/XML 应用程序来说当然是有用的,并且大多数开发者发现API 比 DOM 容易理解得多。 JDOM 还包括对程序行为的相当广泛检查以防止用户做任何在XML 中无意义的事。然而,它仍需要您充分理解XML 以便做一些超出基本的工作 (或者甚至理解某些情况下的错误)。这也许是比学习DOM 或 JDOM 接口都更有意义的工作。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 24 页 - - - - - - - - - 第页共 24 页JDOM 自身不包含解析器。 它通常使用SAX2 解析器来解析和验证输入XML 文档(尽管它还可以将以前构造的DOM 表示作为输入 )。 它包含一些转换器以将JDOM 表示输出成SAX2 事件流、 DOM 模型或 XML 文本文档。 JDOM 是在 Apache 许可证变体下发布的开放源码。4、DOM4J 虽然 DOM4J 代表了完全独立的开发结果,但最初,它是JDOM 的一种智能分支。它合并了许多超出基本XML 文档表示的功能,包括集成的XPath 支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过DOM4J API 和标准 DOM 接口具有并行访问功能。从2000 下半年开始,它就一直处于开发之中。为支持所有这些功能, DOM4J 使用接口和抽象基本类方法。DOM4J 大量使用了API 中的 Collections 类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然DOM4J 付出了更复杂的API 的代价,但是它提供了比JDOM 大得多的灵活性。在添加灵活性、 XPath 集成和对大文档处理的目标时,DOM4J 的目标与JDOM 是一样的:针对Java 开发者的易用性和直观操作。它还致力于成为比JDOM 更完整的解决方案,实现在本质上处理所有Java/XML 问题的目标。在完成该目标时,它比JDOM 更少强调防止不正确的应用程序行为。5、总结DOM 是基于平台、语言无关的官方W3C 标准。基于树的层次,其优点是可以移植,编程容易,开发人员只需要调用建树的指令。JDOM 是想成为 Java 特定文档模型。 它简化与XML 的交互并且比使用DOM 实现更快。使用的是具体类不使用接口,运用了大量的COllections 类,方便程序员。JDOM 和 DOM 在性能测试时表现不佳,在测试10M 文档时内存溢出。在小文档情况下还值得考虑使用DOM 和 JDOM。SAX 是基于事件模型的。它在解析XML 文档的时候可以触发一系列的事件,当发现给定的 tag 的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。类似与流媒名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 24 页 - - - - - - - - - 第页共 24 页体的解析方式,所以在加载大文件时效果不错。其缺点是SAX 解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。DOM4J 是一个非常非常优秀的Java XML API ,具有性能优异、 功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连Sun 的 JAXM 也在用 DOM4J 。Hibernate 也用 DOM4J 来读取 XML 配置文件。 如果不考虑可移植性, 推荐采用 DOM4J 。5.5SNMP简单网络管理协议 (SNMP)首先是由 Internet工程任务组织 (Internet Engineering Task Force)(IETF)的研究小组为了解决Internet 上的路由器管理问题而提出的。它可以在IP,IPX,AppleTalk,OSI 以及其他用到的传输协议上被使用。简单网络管理协议 (SNMP)是最早提出的网络管理协议之一,它一推出就得到了广泛的应用和支持,特别是很快得到了数百家厂商的支持,其中包括IBM,HP,SUN 等大公司和厂商。目前 SNMP 已成为网络管理领域中事实上的工业标准,并被广泛支持和应用,大多数网络管理系统和平台都是基于SNMP 的。具体实现上, SNMP 为管理员提供一个网管平台,负责网管命令的发出与数据的存储及分析等。被监管的设备上则运行一个SNMP 代理,代理实现设备与管理站的SNMP 通讯。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 24 页 - - - - - - - - - 第页共 24 页图 3:管理站与代理的通讯管理站和代理端使用MIB 进行接口统一, MIB 定义了设备中被管理对象,管理站和代理都实现相应的 MIB 对象,使得双方可以识别对方的数据,实现通讯。管理站向代理申请MIB中定义的数据,代理识别后,将管理设备提供的相关状态或参数等数据转换成MIB 定义的格式,应答给管理站,完成一次管理操作。SNMP 的这种结构过程,使得网络设备对SNMP 的支持极为方便。已有的设备,只要新加一个 SNMP 模块就可以实现网管。 旧的带扩展槽的设备, 新实现一个 SNMP 模块插上即可支持网管。网络上的许多设备,比如:路由器、交换机等,都可以通过添加一个SNMP 网管模块增加网管功能。服务器可通过运行一个网管进程实现。其它服务级的产品也可以提供网管模块实现网络管理, 比如 Oracle、Weblogic 都有 snmp进程,运行后就可以通过网络管理对这些系统级服务进行管理。SNMP 系统中定义 3 个重要的角色: 网络管理系统(NMS 又名网络管理站) 、 代理(Agent) 、代理服务器( Proxy)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 24 页 - - - - - - - - - 第页共 24 页图 4:SNMP 中的角色网络管理系统(管理站)是系统总控台,向管理员提供界面以获取与改变设备的配置、信息、状态、操作等。管理站与代理(Agent) 进行通讯,执行相应的Set 与 Get 操作,以读取或设置设备配置,并接收代理发过来的警报(Trap)。代理( Agent)介于管理站与管理信息库(MIB)之间,与管理站通讯并响应管理站的请求,从 MIB获取或设置相应数据,以响应响应的请求,或根据MIB的相应数据决定 Trap 的发送。代理服务器( Proxy)是一种特殊的代理,在不

    注意事项

    本文(2022年2022年技术可行性分析报告 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开