【PHP开源代码栏目提醒】:网学会员为需要PHP开源代码的朋友们搜集整理了基于开源框架的电子信息技术转移平台 - 硕士论文相关资料,希望对各位网友有所帮助!
北京邮电大学 硕士学位
论文基于
开源框架的电子信息技术转移平台 别:硕士 专业:软件工程 指导教师:吴国仕 20070501 独创性(或创新性)声明 本人声明所呈交的
论文是本人在导师指导下进行的研究工作及取得的研究成果。
尽我所知。
除了文中特别加以标注和致谢中所罗列的内容以外,
论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均己在
论文中作了明确的说明并表示了谢意. 申请学位
论文与资料若有不实之处, 本人承担一切相关责任。
本人签名:趁迪 日期:避&:12 关于
论文使用授权的说明 学位
论文作者完全了解北京邮电大学有关保留和使用学位
论文的规定,即:研究生在校 攻读学位期间
论文工作的知识产权单位属北京邮电大学。
学校有权保留并向国家有关部 门或机构送交
论文的复印件和磁盘,允许学位
论文被查阅和借阅;学校可以公布学位论 文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位
论文。
(保密的学位
论文在解密后遵守此规定) 适用本授权书。
日期:塑:!:受 日期:幽:!:!1 2 基于
开源框架的电子信息技术转移平台 摘要 为提高科研的创新水平和影响力,充分利用互联网促进科研资源的共享,加快科研信息传播,利用网络促进最新科研成果的产业化和市场化,进而提高科研的创新水平和辐射力,北京市教委提出了开发电子信息技术转移平台的要求。
本文描述了一个基于
开源框架的电子信息技术转移平台的具体设计与实现。
论文首先对电子信息技术转移平台的需求进行分析,归纳总结出信息转移类平台应具有的基本功能,并通过针对系统的特点及对当前流行的软件开发环境的比较,选用Spring与Hibernate相结合的组合来实现这样一个适合于中小型企业的电子信息技术转移平台系统。
其中Spring为整个系统提供了框架,Hibernate作为持久层。
系统功能主要包括系统管理、用户管理、项目管理、专利管理等模块。
使用MyEclipse开发工具实现了电子信息技术转移平台的
代码编写,总结了电子信息技术转移平台实现过程中所用到的框架实现技术。
文中以本电子信息技术转移平台为案例,阐述了Spring+Hibernate这一解决方案的优势。
详细的介绍了Spring与Hibernate的特点及一些技术细节。
本文还对电子信息转移平台提供的功能和信息转移业务进行了详细分析和描述,并介绍了电子信息转移平台提供的项目管理,专利管理等独特功能。
对于类似信息转移平台的建立有实际借鉴意义和参考价值。
关键词:Spring Hi bernate技术转移平台
开源框架DESIGN&I肝LE她NT^T10N 0F ELECTRoNIC INFORMATIoNTECHNOLOGY TRANSFER PLATFORM BASED ON OPEN SOURCE FRA淝 To improve creatwiW and influence of scientific research,promotethe sharing ofresearch re舢Ces by making fIlll use ofthe Internet.accelerate research information dissemination.promote industrializationand marketization for the latest scientific research achievements bymaking use ofthe internet。
thereby enhancing innovation and radiation ofscientific research,the Beijing Education Commission demands theestablishment of Electronic information technology transfer platform. The system this paper mainly discusses is an Electronic infc}rmationtechnology transfer platform based on open soul.ce framework.Throughanalysis of information transfer#atform nOW being used on the Internetby a large number of USerS,the paper summarizes the common basicfunctions of information transfer platform and makes a demand analysisaccording to these feamres.11lis system USeS the Spring+Hibernatecombination to make an electronic information technology transferplatforln system that is suitable for SMEs.Its modules include systemmanagement,user management,project management,patent management,etc.In this paper,Spring provides the framework for the overall systemand Hibernate the persistence layer.Realize the elcctronic informationtechnology transfer platform by the MyEclipsc development kit. The paper elaborates the advantages of the Spring+Hiberanatesolution.It introduces the features and some technical details of Springand Hibernate.The Spring+Hiberante combination introduced in thispaper offers a good solution to Electromc information technology transferplatform for many SMEs. The article also analysis and describes the functions and servicesabout the Electronic information technology transfer platform.It alsointroduces the special functions of the Electronic information technology 2transfer platform,such as the project management,patent management.Itis helpfill and sets a good example for the establishment of the similarinformation technology transfer platform.KEY WORDS: Spring Hibernate Technology transfer platformOpen source 第一章绪论1.1课题的提出 为提高科研的创新水平和影响力,充分利用互联网促进科研资源的共享,加快科研信息传播,利用网络促进最新科研成果的产业化和市场化,从而提高科研的创新水平和辐射力,为此北京市教委提出了建立电子信息转移平台的要求。
目前在网络上正在使用的技术转移平台很多,例如中科院国家技术转移中心,清华大学国际技术转移中心,北京技术转移中心等等。
通常这些技术类转移平台所涉及的领域很广,这样就出现了一些问题。
一方面,现在人们上网获取信息所面临的最大问题就是信息太多,经常让人们眼花缭乱,无所适从;另一方面是科研人员的研究成果不能及时有效地发布,而且不能方便的被有需求的企业获得。
北京是中国的学术中心,更是电子信息,咨询类企业集中的地方,而目前专业的电子信息类转移平台又很少。
有鉴于此,同时为了响应北京市教委发出的关于建立电子信息转移平台的号召,我们设计并实现一个电予信息技术转移平台希望能够为北京的电子信息类技术转移事业尽一份力。
借助Internet为科研人员建立一个电子信息技术转移系统,给电子信息技术的发布和转移提供一个电子平台,将大大提高电子专利信息转化为生产力的速度。
通过电子信息转移平台系统提高电子信息发布和转化的服务水平。
提高信息转化为生产力的效率,方便给出各种电子信息,减少信息流通的中间环节,保证了信息的及时准确可靠。
为科研人员服务,为他们及时掌握与自己项目相关的信息提供便捷。
同时为国内中小企业查找最新电子信息类咨询,寻找合作伙伴提供一个平台。
1.2研究内容 设计并实现一个电子信息技术转移平台来实现对科研信息的有效管理。
该系统既要为科研人员服务,使用方便,实现对信息技术转移的高效率管理和控制,又能满足信息需求企业对科研活动的宏观管理与决策的需要,还能够为科研人员管理部门对科研人员的评价提供依据。
在客户/服务器(Client/Server)结构上实现这个电子信息转移平台系统的网络信息系统。
通过网络互连实现共享信息。
同时,本系统还应具有一定的可靠性和安全性,易于管理与维护。
所有用户在系统提供的集成环境下即可方便地完成数据和信息的输入和浏览等工作,实现信息共享。
1.3本人所做的工作1.通过对网上技术转移信息服务平台的调研,并深入研究了电子信息技术转移 7平台系统需要用到的各种技术后,通过面向对象的分析与设计方法,给出了系统的总体结构和软件功能模块的具体划分。
本系统实现了以下模块: (1).系统管理模块,本模块提供用户权限管理。
用户权限管理是指根据系统初始定义的权限,创建不同的角色,并在添加新的用户时赋予相应的角色.用户权限管理具体包括:添加新的角色,添加新的用户并赋予角色,用户登录确定其角色,并根据该角色具有的权限约束用户的行为。
(2).科研项目信息管理模块。
提供用户添加新的科研项目基本信息、修改科研项目基本信息和删除科研项目基本信息的功能。
(3).科研人员信息管理模块。
提供用户添加科研人员基本信息、修改科研人员基本信息和删除科研人员基本信息的功能。
(4).专利信息管理模块。
提供用户添加科研专利基本信息、修改科研专利基本信息和删除科研专利基本信息的功能。
2.对当前比较流行的Spring和Hibernate进行了一定的研究,具体包括hibernate和Spring框架的性能优势与应用。
然后设计了一个比较实用的电子信息转移平台的整体框架,接着使用Spring十Hibernate实现整个系统,说明使用Spring和Hibernate来开发系统确实非常方便。
1.4
论文结构第一章:绪论部分,说明系统背景及本文的研究目标、研究内容。
第二章:平台选型。
介绍本文基于Spring+Hibernate的开发方法的意义和可行性。
介绍了设计本系统时用到豹Spring和Hibernate,介绍了IoC(Inversionof Contr01),^0P(Aspect Oriented Programming)和删(Object RelationalMapping)等几种设计思想。
第三章:需求分析。
借鉴几个实际应用中的信息平台系统做出系统的需求分析.第四章:数据库设计。
将本电子信息技术转移平台系统所使用的数据库表一一列出,并对重要部分加以说明。
第五章:系统详细设计。
第六章:结论与未来工作展望。
8 第二章平台选型 当前有众多web应用的实现技术,究竟采用哪种更加适合电子信息技术转移平台昵?我们需要对当前流行和成熟的技术进行分析。
首先介绍如下几个概念:2.1 J2EE简介 系统的技术框架遵循当前的行业标准,即J2EE(Java2 EnterpriseEdition)。
J2EE是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程的产物。
目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。
Sun公司推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台一独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。
J2EE是一个标准,而不是一个现成的产品。
各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器。
J2EE应用服务器是J2EE企业级应用的部署平台。
由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上〔1〕。
图2-1为J2EE的简介图。
图2-1 J2EE两介 J2EE server(J2EE服务器) J2EE产品运行时的服务部分。
一个J2EE服务器提供EJB容器(EJB Container)和Web容器(Web Container)。
EJB(Enterprise JavaBean)容器 管理J2EE应用程序中企业Bean的运行。
企业Bean和它们的容器在J2EE服务器中运行。
Web容器 9 管理J2EE应用程序中JSP页面和Servlet组件的运行。
Web组件和容器也在32EE服务器中运行。
Application client container(应用程序客户端容器) 管理应用程序客户端组件的运行。
应用程序客户端和它的容器运行在客户机。
Applet container(Applet容器) 管理Applet的运行。
由在客户端运行的浏览器和Java插件组成。
2.2 MVC模式2.2.1ⅪvC模式简介 MVC英文即Model—View-Controller,它是目前非常流行的一种软件设计模式。
早在70年代,IBM就推出了Sanfronscisico项目计划,其实就是MVC设计模式的研究。
MVC是许多交互和界面系统的构成基础,甚至在Microsoft的MFC基础类中也遵循了MVC的思想。
现在随着网络的飞速发展,MVC模式在Web应用开发中也得到了广泛的应用。
MVC的设计思想是将应用的输入、处理和输出流程进行强制的分离。
这样一个应用被分成:Model(模型)、View(视图)、Controller(控制)三个层次〔2〕。
MVC应用模式如图2-2所示. 图2-2 MVC模式 10 视图(View):代表用户交互界面,对于Web应用来说,可以概括为HT札界面,但也有可能为XHTML,)眦.随着应用的复杂性和规模性,界面的处理也变得具有挑战性。
一个应用可能有很多不同的视图,Mvc设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
业务流程的处理交予模型(Hodel)处理.比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。
模型(Model):就是业务流程/状态的处理以及业务规则的制定。
业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型的设计可以说是MVC最主要的核心。
MYC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。
抽象与具体不能隔得太远,也不能太近。
MYC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。
业务模型还有一个很重要的模型那就是数据模型。
数据模型主要指实体对象的数据保存(持续化)。
比如将一张订单保存到数据库,从数据库获取订单。
我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。
控制(Controller):可以理解为从用户接收请求,将模型与视图匹配在一起。
共同完成用户的请求。
划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。
控制层并不做任何的数据处理。
例如,用户点击一个链接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。
因此,一个模型可能对应多个视图,一个视图可能对应多个模型〔3-6〕。
2.2.2 MvC的优点 大部分用过程语言比如ASP,PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。
例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。
产品设计弹性力度很小,很难满足用户的变化性需求。
MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。
一 首先,最重要的是应该有多个视图对应一个模型的能力。
在目前用户需求的快速变化下,可能有多种方式访问应用的要求。
例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。
按MVC设计模式,一个订单模型以及多个视图即可解决问题。
这样减少了
代码的复制,即减少了
代码的维护量,一旦模型发生改变,也易于维护。
其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。
再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。
一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。
控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。
最后.它还有利于软件工程化管理。
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序
代码。
2.3 Spring框架简介 在我们进入具体的细节之前,先整体的了解~下Spring框架。
2.3.1 Spring简介 Spring框架起源于其缔造者Rod Johnson 2002年所写的{Expert One—on-OneJ2EE Design and Development)一书的基础
代码。
在这本书中,Rod介绍他自己的J2EE经验,并且解释了EJB为何常常葬送了整个项目。
他坚信一种轻量级的,基于javabean的框架完全可以满足大多数开发人员的要求。
2003年2月,他把所描述的框架在SourceForge.net公开了源
代码,后来,这个框架就是演变成了著名的Spring框架〔7〕。
在Spring之前,许多专用框架在各个领域都有着很多出色的解决方案,比如:web框架、持久化方案、远程调用工具等等,然而将这些工具整合成一个全面的架构却困难重重,甚至成为一种负担。
Spring的目标是提供一种贯穿始终的解决方案,将各种专用框架整合成一个连贯的整体构架。
Spring力求不强加任何架构风格,而是把选择的权利留给开发者,允许用户使用其中的单项功能,而不是把整个框架强加给用户。
Spring中的许多特性,如:JDBC抽象层,可以作为一个库单独使用,当然也可以作为Spring整体方案的一个部分。
从这里我们可以看出,Spring为我们提供了极大的灵活性,我们即可以选择不同领域优秀的工具,又可以选择Spring本身的各个部分。
2.3.2 Spring框架的关键域 Spring的以下几个部分可以独立承担某些任务,也可以组装在一起作为一个整体来使用它.1.BeanFactory 就Spring的核心而言,它是一个DI容器,其设计哲学是提供一种无侵入式的高扩展性框架。
即无需
代码中涉及Spring专有类,即可将其纳入Spring容器进行管理。
为了达到这个目的,Spring大量引入了Java的Reflection机制,通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了其核心组件BeanFactor,以此作为其依赖注入机制的实现基础。
org.springframework.beans包中包括了这些核心组件的实现类,核心中的核心为BeanWrapper和BeanFactory类。
一般情况下都采用BeanFactory类作为依赖注入的容器。
BeanFactory的主要功能是在系统中编辑和植入JavaBean和POJO,消除大量的客户端的单例模式调用。
BeanFactory负责创建并维护Bean实例,根据给定的配置文件,它从中读取类名、属性名/值,然后通过Reflection机制进行Bean加载和属性设定。
2.ApplicationContext BeanFactory提供了针对JavaBean的管理功能,而Appl icationContext提供了一个更为框架化的实现,相比之下,BeanFactory的使用方式更加类似一个API。
ApplicationContext覆盖了BeanFactory的所有功能,并提供了更多的特性。
此外,ApplicationContext为与现有应用框架相整合,提供了更为开放式的实现。
相对BeanFactory而言,ApplicationContext提供了以下扩展功能:①可以在Beans.xml文件中,对程序中的语言信息(如提示信息)进行定义,将程序中的提示信息抽取到配置文件中加以定义,为进行应用的各语言版本转换提供了极大的灵活性。
这对软件的国际化支持十分重要。
②ApplicationContext.getResource方法提供了对资源文件访问支持,如果getResource返回的Resource并实际上不存在,可以通过Resource.exists()方法对其进行判断。
③Applicationcontext基于Observer模式,提供了针对Bean的事件传播功能。
通过Application.publishEvent方法,可以将事件通知系统内所有的Application Listener。
可以在同一个应用中加载多个context的实例。
在要求不高的场合下,如果不需要ApplicationContext的附加功能,就最好直接使用BeanFactory,因为它己经可以提供绝大部分中间层的功能,例如AOP,事务管理,对Hibernate和JDO的支持等。
所以对于大多数应用组件来说,BeanFactory已经足够用了。
3.事务管理(Transaction Management) 对于J2EE应用程序而言,事务的处理一般有两种模式: ①依赖特定事务资源的事务处理。
这是应用开发中最常见的模式,即通过特定资源提供的事务机制进行事务管理。
如通过JDBC,JTA的rollback,commit方法,Hibernate Transaction的rolIback,commit方法等。
②依赖容器的参数化事务管理。
通过容器提供的集约式参数化事务机制,实现事务的外部管理。
容器管理的参数化事务为程序开发提供了相当的灵活性,同时因为将事务委托给容器进行管理,应用逻辑中无需再编写事务
代码,大大节省了
代码量,从而提高了生产率。
Spring在事务管理这一方面做得比较出色。
对于传统的基于特定事务资源的事务处理而言(如基于JDBC的数据库访问),Spring并不会对其产生什么影响,开发者照样可以成功编写并运行这样的
代码。
同时,Spring还提供了一些辅助类可供选择使用,这些辅助类简化了传统的数据库操作流程,在一定程度上节省了工作量,提高了编码效率。
对于依赖容器的参数化事务管理而言,Spring则表现出了极大的价值。
无需付出其他方面的代价,即可通过Spring实现基于容器的事务管理。
本质上来讲,Spring的事务管理本质上就是基于动态代理所实现的AOP机制。
Spring可以把任意Java Class纳入事务管理,而且Spring的事务管理并不依赖特定的事务资源。
2.3.3 Spring框架的体系结构 图2-3是Spring框架较为完整的Web应用体系结构,在实际的设计中可以 圈国酌情的增减或加入其它的框架。
国圆 圈2-3基于Spring框架的完整Web应用体系结构 由图2-3中所示Spring框架有7个基本模块,这7个模块是相互独立的,每个模块都有一个对应的jar文件。
其中: Spring核心:Spring框架最为基础,最重要的模块。
它提供IOC容器,即依赖注入。
Spring Context:提供Bean的访问方式,并且添加了用于资源绑定、事件移植、资源装载和透明的装载上下文等功能。
Spring OAO:提供JDBC的抽象层,使得开发者不用去编写非业务功能的JDaC
代码,同时它能够提供编程方式和声明方式控制事务。
Spring ORM:为当前流行的o/R Mapping技术提供集成。
14 Spring AOP:实现了AOP联盟定义的AoP编程. Spring Web:提供面向Web应用集成的功能。
这里的集成是初步的集成. Spring Web MVC:提供MVC的实现。
图2_3表现的是Spring框架的静态结构。
图2-4则从非常宏观的角度体现了Spring框架的动态功能。
Spring框架通过动态代理机制拦截了外界对BeanFactory管理下的对象的调用。
其中IOC机制用来装载JavaBean,BeanFactory可以管理所有应用的JavaBean,使用者只要将自己的JavaBean通过配置文件告诉BeanFactory,那么BeanFactory将会加载这些JavaBean。
AOP作为一个拦截机制创建了拦截器来拦截对象的调用,它通过一个横切面为这些JavaBean提供了权限访问、事务锁等通用功能的实现,使得调用者无需指定被调用者的代理类就可以使用这些对象。
又利用AOP作一个拦截机制创建了拦截器来拦截对象的调用。
这样就构成了一个完整的框架实现。
图2-4 Spring框架的动态功能图2.4 Spring对MVC的支持2.4.I Spring的实现模式 对于现有较成熟的Model—View—Control(MVC)框架而言,其解决的主要问题无外乎下面几部分: (1)将Web页面中的输入元素封装为~个(请求)数据对象。
(2)根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。
(3)逻辑处理单元完成运算后,返回~个结果数据对象。
(4)将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。
各个MVC实现固然存在差异,但其中的关键流程大致如上。
.
上一篇:
毕业设计(论文)
下一篇:
关于大学英语教学