《技术可行性研究报告.docx》由会员分享,可在线阅读,更多相关《技术可行性研究报告.docx(33页珍藏版)》请在优知文库上搜索。
1、XXXXX系统技术可行性分析汇报项目名称:项目编号:编写:审核:批准:B期:项目简介系统构成产品技术平台分析3.1系统运行环境3.2开发环境4重要关键技术5关键技术的J处理方案Struts2框架5.2持久层框架5.3Ajax技术5.4XML解析器5.5SNMP6系统架构处理方案6.1架构16.2架构27本项目确定的方案7.1系统架构7.2技术方案错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。
2、错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。1项目简介2系统构成模块名称模块描述3产品技术平台分析3.1系统运行环境网络环境:硬件平台:操作系统平台:数据库平台:Web服务:3.2开发环境网络环境:硬件平台:操作系统平台:数据库平台:Web服务:4重要关键技术重要关键技术技术解释J2EEJ2EE(Java2EnterpriseEdition)即JaVa2企业版,是提供应开发者的!采用组件技术构建分布式系统H勺编程框架。Struts2框架Struts2是一种兼容Strutsl和WebWork的MVC框架,它是以WebWOrk的设计思想为关键,吸取了Strutsl的长处
3、。Spring框架SPring是轻量级口勺容器,是一种开源框架。iBatis框架iBatis是目前流行的轻量级持久层架构,学习上手快,使用灵活、性能高效等特点。Log4jLog4j是Apache於J一种日志记录FrJ开放源代码项目。XML解析器目前流行日勺XML解析器重要有DOM、SAX、JDOM.DOM4J等。WebServiceWebService也叫XMLWebServiceWebService是种可以接受从Internet或者Intranet上的其他系统中传递过来的祈求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文献进行阐明,并通过UDDI进行注册。
4、RMI-IIOP采用IIOP协议(互联网内部对象祈求代理协议)进行javaRMI远程措施访问。AjaxAJAX全称为AsynchronousJavaScriptandXML(异步JavaScript和XMD,是指一种创立交互式网页应用的!网页开发技术。C语言C语言是一种高效的构造化语言。SNMP简朴网络管理协议(SimPleNetworkManagementProtocol)RRD/JRobinRRD是RoundRobinDatabase(环状数据库)日勺缩写。JRobin是一种使用Java实现的开源的RRD处理程序和绘图引擎。FlashFlash是交互式矢量图和Web动画的原则。JNDIJa
5、Va命令与目录服务JUnitJava单元测试的工具DOMDocumentObjectModel文档对象模型。CSSCascadingStyleSheetS层叠样式表单。Maven2ApacheJakarta项目的高级项目管理工具,比Ant更简朴、更先进5关键技术的处理方案5.1Struts2框架ApacheStruts2即是之前大家所熟知欧|WebWork2o在经历了几年的I各自发展后,WebWork和Struts小区决定合二为一,也即是Struts2。Struts2是一种兼容Strutsl和WebWorkB,JMVC框架,它是以WebWork0设计思想为关键,吸取了StrUtS10长处。St
6、ruts2的核心控制器FilterDispatcherStruts2体系构造Struts2框架的大体处理流程如下: 浏览器发送祈求,例如祈求/mypage.action、reportsmyreport.pdf等; 关键控制器FilterDiSPatCher根据祈求调用合适的IAction; WebWork0拦截器链自动对祈求应用通用功能,例如Workfk)w、Validation或文献上传等功能;回调ActionB,Jexecute措施,该execute措施先获得顾客祈求参数,然后执行某种数据操作,既可以是将数据保留到数据库,也可以从数据库中检索数据。实际上Action只是一种控制器,他会调用
7、业务逻辑组件来处理顾客0祈求。StrutsLx与StrutsZ比较特性Strutsl.XStruts2Action类Strutsl.X规定Action类要扩展自一种抽象基类。StrUtSLX区Ji种共有的问题是面向抽象类编程而不是面向接口编程。Struts2的Action类实现了一种ACtion接口,连同其他接口一起来实现可选择和自定义的服务。StrUtS2提供一种名叫ActionSupport的基类来实现一般使用於J接口。当然,ACtiOn接口不是必须的任何使用execute措施的POJO对象可以被当作Struts20Action对象来使用。线程模型Strutsl.XAction类是单例类,
8、由于只有一种实例来控制所有的祈求。单例类方略导致了一定的限制,并且给开发带来了额外的烦恼。AetiOn资源必须是线程安全或者同步的。Struts2Action对象为每一种祈求都实例化对象,因此没有线程安全的问题。(实践中,SerVlel容器给每一种祈求产生许多丢弃的对象,并且不会导致性能和垃圾回收问题)。Servlet依赖Strutsl.X的IAction类依赖于servletAPT,当ACtiOn被调用时,以ServletRequest和ServletResponse作为参数传给execute措施。Struts2的IAction和容器无关。SerVIet上下文被体现为简朴欧JUaPs,容许A
9、ction被独立的测试。Struts2的Action可以访问最初的祈求(假如需要的话)。不过,尽量防止或排除其他元素直接访问ServletRequest或ServletResponseo易测性测试StrUtSLX的重要问题是execute措施暴露了ServlctAPI这使得测试要依赖于容器)。第三方的扩展,如StrutsTestCase,提供了一套Struts2的Action可以通过初始化、设置属性、调用措施来测试。依赖注入的支持也是测试变得更简朴。StrUtS1B模拟对象(来进行测试)。捕捉输入StrutsLX使用ActionEorm对象来捕捉输入。象ACtiOn同样,所有的ACtiOnFO
10、rnI必须扩展基类。由于其他勺JavaBean不能作为ActionEorm使用,开发者常常创立多出的类来捕捉输入。DynaBeanS可以被用来作为替代ACtiOnFonn勺类来创立。不过,开发者也许是在重新描述(创立)已经存在11JavaBean(仍然会导致有冗余的javabean)。Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性也许是有自己(子)属性的rich对象类型。ACtiOn属性可以通过Web页面上的Iaglibs访问。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,可以用作输入/输出对象。这种ModeIDriV
11、en特性简化了taglib对PoJo输入对象的引用。体现式语WStrutsl.X整合JSTL,因此它使用JSTL的体现式语言。体现式语言有基本的图形对象移动,不过对集合和索引属性H勺支持很弱。Struts2使用JSTL,不过也支持一种更强大和灵活的体现式语言一一ObjectGraphNotationLanguage*(OGNL).将值绑定到页面Strutsl.X使用原则JSP机制来绑定对象到页面上下文。StrUtS2使用wValueStackw技术,使taglib可以访问值而不需要把你的J页面(view)和对象绑定起来。ValueStack方略容许通过一系列名称相似但类型不一样H勺属性重用页面
12、(view)0类型转换Strutsl.XH勺ActionForm属性常常都是StringoStrutsLX使用Commons-Beanuti1s来进行类型转换。转换每一种类,而不是为每一种实例配置。Struts2使用OGNL进行类型转换。提供基本和常用对象口勺转换器。验证Strutsl.X支持在ActionForm的|Validate措施中手动校验,或者通过COmmonSValidatorB扩展来校验。同一种类可以有不一样的校验内容,但不能校验子对象。Struts2支持通过validate措施和Xwork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持Chai
13、n校验子属性Action执行控制Strutsl.X支持每一种模块有单独RRequestProcessors(生命周期),不过模块中的所有Action必须共享相似的生命周期。Struts2支持通过拦截器堆栈(InterceptorStacks)为每一种ACtiOn创立不一样的生命周期。堆栈可以根据需要和不一样於JAction一起使用。总结:根据StnItSLX和StrUtS2.0的对比,struts2.0提供的措施更灵活更易于开发,因此决定采用struts2.0作为教学机管理系统2.0的前台框架。5.2持久层框架持久层框架目前比较流行时有Hibemate、ibatis等,下面重要对这两种框架进行
14、简介。HibernateHibemate是一种开放源代码H对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JaVa程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibemate可以应用在任何使用JDBC0场所,既可以在Java0客户端程序使用,也可以在Servlet/JSP0Web应用中使用,最具革命意义B是,Hibemate可以在应用EJBBJ2EE架构中取代CMP,完毕数据持久化的重任。一、Hibemate是JDBC的轻量级的对象封装,它是一种独立的对象持久层框架,和APPServer,和EJB没有什么必然的联络。Hibemate可以用在任何JDBC可以使用的场所,例如JaVa应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库0代码。从这个意义上来说,Hibemate和EB不是一种范围日勺东西,也不存在非此即彼日勺关系。二、Hibemate是一种和JDBC亲密关联的框架,因此Hibemate的兼容性和JDBC驱动,和数据库均有一定的关系,不过和使用它的JaVa程序,和APPSerVer没有任何关系,也不存在兼容性问题。三、Hibemate不能用来直接和EntityBean做对比,只有放在整个J2EE项目的J框架中才能比较。并且虽然是放在软件整体框架中来看,Hibemate也是做为JDBC