【delphi开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了delphi开源代码-基于J2EE的安防信息管理系统开发技术研究 - 机械机电的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
武汉科技大学 硕士学位
论文基于J2EE的安防信息管理系统开发技术研究 别:硕士 专业:
计算机应用技术 指导教师:陈和平 20090515武汉科技大学硕士学位
论文 第1页 摘要 J2EE框架是当前企业级
网络应用系统最主要的平台之一,代表了最新的应用程序构架发展方向。
J2EE框架不仅是一种适合于构建企业级应用程序的技术,更是一种具有很大潜力的分布式对象技术,已经逐渐成为世界上大型企业级应用的首选体系结构。
本文主要研究了基于B/S三层结构的J2EE框架技术,分析了Struts2、Sprin92.5和Hibernate3三个框架的特点,系统介绍了J2EE平台、多层体系结构、Java反射技术、Java的设计模式等内容,成功地将这些技术运用到框架的整合中。
针对工作流引擎原理,让框架集中管理OSWorkflow工作流引擎,使其两者无缝整合在一起,这样可以根据企业的业务流来灵活的设计工作流程。
系统安全一直是企业难以跨越的障碍,为了使框架拥有独立的安全管理模块,本文重点研究了RBAC(基于角色的访问控制)技术,在J2EE框架中根据RBAC原理设计了访问控制模块,这样使得用户和权限较好地分离,在用户级别提高了系统的安全性。
在对某公司安防信息管理系统实际项目开发中,本文针对原有系统功能不全、形成多个信息孤岛、异常事件联动性处理能力差、没有权限管理功能、物资出厂系统功能薄弱等问题。
本着企业信息化和一体化的开发理念,将J2EE的通用开发框架应用到某公司安防信息管理系统中,以达到信息共享。
采用分层的设计思想使得整个系统结构清晰,便于扩展和维护;采用MVC设计模式,使表示和业务逻辑相分离,简化了开发的复杂度;采用RBAC技术,提高了系统的安全性;采用OSWorkflow工作流引擎,实现了物资出厂申请审核的功能。
考虑公司物资出厂系统的重要地位,本文重点的了物资出厂子系统。
本文总结了框架在其开发过程中存在的不足和局限性,在通用开发框架平台的通用性和稳定性方面进行了一定的探讨。
关键词:J2EE框架技术;RBAC;OSWorkFlow;三层体系结构 第1I页 武汉科技大学硕士学位
论文 Abstract J2EE framework is the primary platform of current enterprise network application system,representing the latest tendency of application progrom framework.J2EE framework is notmerely a technique that is suitable for constructing enterprise application program,it is also adistribute object technique that possess great potential.J2EE has already become the preferredarchitecture for large-scale enterprise application in the world. This paper mainly researched the J2EE framework technique which is based on the B/Sthree—layer architecture model,analyzed the characteristies of three frameworks:Struts2、Sprin92.5 and Hibernate respectively,systematically introduced the J2EE platform,multi—layerarchitecture,Java reflection technique and Java design mode,and applied these techniques intothe combination of frameworks successfully.According to the principle of work flow engine,theframework carried oat the central management of OSWorkFlow work flow engine and integratedthe two seamlessly,which enables the flexible design of work flow in correspondence with theenterprise traffic flow.System security has always been the insurmountable obstacle forenterprises.To ensure the independent security management module for frameworks,this papermainly researched the popular RBAC(role-based access contr01)technique and designed theaccess control module according to RBAC principle in J2EE framework,which separated theusers and permissions and ensured the system security. In the deployment of practical project of Wuhan Iron and Steel Security PrecautionInformation Management System,and on account of the problems of the original system,namelythe system function is not comprehensive,forming isolated information island,lower ability insolving exceptions linkages and without permission control,this paper.this paper applied theJ2EE-based general development framework into the Wuhan Iron and Steel Security PrecautionInformation Management System to achieve information sharing,with the development conceptof enterprise informatization and integration.The idea of hierarchies has simplified thecomplexity of deployment;the RBAC technique has improved the security level and theOSWorkflow work flow engine has realized the application verification of material shipment.Considering about the importance of Wuhan Iron and Steel material shipment system,this paperprimarily designed and realized the material shipment subsystem.This paper summarized theshortcomings and limitations of the framework in the developing process,and discussed aboutthe universality and stability of the general developing framework platform.Key words: J2EE framework technique;RBAC;OSWorkFlow;three—layer architecture 武汉科技大学 研究生学位
论文创新性声明 本人郑重声明:所呈交的学位
论文是本人在导师指导下,独立进行研究所取得的成果。
除了文中已经注明引用的内容或属合作研究共同完成的工作外,本
论文不包含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。
申请学位
论文与资料若有不实之处,本人承担一切相关责任。
论文作者签名:—— 日期: 研究生学位
论文版权使用授权声明 本
论文的研究成果归武汉科技大学所有,其研究内容不得以其它单位的名义发表。
本人完全了解武汉科技大学有关保留、使用学位
论文的规定,同意学校保留并向有关部门(按照《武汉科技大学关于研究生学位
论文收录工作的规定》执行)送交
论文的复印件和电子版本,允许
论文被查阅和借阅,同意学校将本
论文的全部或部分内容编入学校认可的国家相关数据库进行检索和对外服务。
论文作者签名: 指导教师签名: 日 期:武汉科技大学硕士学位
论文 第1页 第一章绪论1.1选题的背景及意义 随着信息技术的飞速发展,Intemet构造了无限的信息资源,它的普遍使用从根本上改变了人们的生活方式和工作方式,也改变了企业的经营方式和服务方式。
信息时代,知识成为世界
经济发展的动力ll】。
现在企业跨领域的战略方针和信息共享的普及化促使了Intemet从传统的C/S模式【2】转向B/s模式,随着B/S模式的广泛应用,也带动了
开源框架的发展。
那么选择什么样的
开源框架才能满足企业的需要和信息的安全性,是企业和用户越来越关心的重点。
1.1.1选题背景 随着互联网和软件开发结构的不断发展,目前出现了比较流行的B/S模式,在实现B/S模式中有多种解决方案。
但是随着跨平台应用的出现,基于J2EE技术的B/S模式成为最受欢迎的企业解决方案pj。
在实际J2EE项目的开发过程中,构建信息系统的需求越来越复杂,开发周期越来越紧迫,同时对系统的稳定性、扩展性和可维护性要求也越来越高。
那么如何满足客户对系统要求,加快系统的开发呢?这就给系统设计者带来很大的挑战。
于是,J2EE框架也就应运而生,并在项目开发过程中起着重要的角色。
在开发项目的过程中,一个优秀的J2EE框架的运用,能够帮助设计者快速地建立起系统原型,并且能够在一定程度上降低项目的开发成本,缩短项目的开发周期,并提高项目软件的质量。
1.1.2选题意义 目前,大部分政府部门和企业已经或多或少地建立起了一些软件应用系统,用于支撑日常的办公活动和业务,但是这些系统通常只是定位于解决某一方面的工作任务,系统之间缺乏必要联系和组织。
软件开发组织总是希望具备快速交付高质量系统的能力,而具备这种能力的最佳途径就是尽可能地追求重用,追求产品化的方向。
从目前情况看,追求!I殳务
管理系统的框架产品化几乎是不可能的,基本上都采用定制开发;而基于办公自动化系统的框架产品已经较为成熟,市场上已经存在很多产品。
结合这两方面的情况看,形成一个半产品化的通用开发框架是一个合适的方向。
对于一个软件开发组织来说,加强
代码的重用只是提高尘j虹力的一个方面,更重要的是关注知识的积累。
一个持续发展的开发框架不仅可作为快速交付高质量系统的基础,而且还是进行知识积累最好的介质。
如果知识不能在组织内得到有效的积累,每一个项目几 第2页 武汉科技大学硕士学位
论文乎都要从头开始。
虽然每一个项目多少会有些进步,但是在时间和资源的压力下这些进步几乎没有意义,结果就是不断在低水平上重复开发工作。
所以,以开发框架为介质,建立一套有效的知识积累机制对于组织的长期发展具有重大积极意义。
从技术的角度看,随着
开源社区的壮大,很多基础功能都可以采用拿来主义,实现一个通用开发框架平台不存在任何技术障碍。
实现开发框架的主要任务就是挑选适当的、开放的成果,将它们集成起来。
现在已有的各种开发框架或平台,不论是商用的还是私有的也基本上都是采用这种方式构建,不同的只是集成的方式和程度。
综上所述,不论从市场的角度,组织长期发展的角度,还是技术的角度,建立一个通用开发框架都是适当的、必须的选择。
1.2 Web开发现状 Web程序的架构基本上可以分成以下三类【4】: (一)基于“Web页面/文件” 例如CGI和PHP/ASP程序。
程序的文件分别存储在不同的目录里,与URL相对应。
当HTrP请求提交至服务器时,URL直接指向某个文件,然后由该文件来处理请求,并返回响应结果。
这种开发方式最自然、最易理解,也是最
常用的方式。
要注意产生的URL对搜索引擎不太友好,不过可以用服务器提供的URL重写方法来处理。
(二)基于“动作”(Action) 这是MVC架构的Web程序所采用的最常见的方式,目前主流的Web框架像Struts、Webwork(Java)、Ruby on Rails(Ruby)、Zend Framework(PHP)等都采用这种设计。
URL映射到控制器(controller)和控制器中的动作(action),由action来处理请求并输出响应结果。
这种设计和基于文件的方式一样,都是请求/响应驱动的方案,离不开HTTP。
这种方式的URL通常都很漂亮,对
搜索引擎友好,因为很多框架都自带有URL重写功能,可以自由规定URL中controller、action及参数出现的位置。
另外,还有更直接的基于URL的设计
方案,那就是REST。
通过人为规定URL的构成形式(比如Action限制成只有几种)来促进网站之间的互相访问,降低开发的复杂性,提高
系统的可伸缩性。
REST对于Web Services来说是一个创新。
(三)基于“组件”(Component,GUI设计也常称控件)架构,最常见的是微软的.NET 基本思想是把程序分成很多组件,每个组件都可以触发事件,调用特定的事件处理器米处理(比如在一个HTML按钮上设置onClick事件链接到一个函数)。
这种设计远离了HTTP,HTTP请求被完全抽象的映射到一个事件。
事实上这种设计原本最常应用于传统桌面GUI程序的丌发,例如Delphi,Java Swing等。
所有表现层的组件比如窗口,或者HTML表单都可以由IDE来提供,丌发者只需要在IDE早点击或拖动鼠标就能够自动添加一个组件,并月.添加一个相应的事件处理器。
这种开发力‘式有几个优点:武汉科技大学硕士学位
论文 第3页 (1)复用性:
代码高度可重用。
(2)易于使用:通常只需要配置控件的属性,编写相关的事件处理函数。
1.3研究内容和现实意义1.3.1研究内容 本文主要通过对现有J2EE框架技术进行研究,分析了Struts2、Sprin92.5和Hibernate3三种框架的特点、使用范围及其在三层体系结构中的功能,并提出了一个通用的J2EE开发框架平台。
然后,运用分层的设计思想详细论述了表示层、业务逻辑层、数据持久层在通用开发框架中的功能及其实现方案。
深入研究了工作流引擎的原理,在两大
工作流引擎阵营中针对配置灵活、扩展方便、与Spring框架整合容易的原则,选用了OSWorkflow I作流引擎,并详细的描述了OSWorkflow与spring框架整合的方案,完成了工作流引擎的部署,只需进行简单的界面配置就能满足各种系统中业务流程跳转的要求。
系统安全一直是企业所关注的重点,文中剖析了系统安全的应用,结合现在比较流行的RBAC技术,在通用开发框架中引入RBAC技术,并实现了RBAC权限认证子系统,使得用户和权限相互分离,从而保证了系统的安全性。
再次,系统考虑用户交互界面的个性化、人性化和简洁化的特点,采用了比较流行的AJAX框架之一的ExtJS技术,该技术满足了客户的异步传输数据、界面无刷新和文本框自动补全功能。
最后,针对某公司安防管理平台的特点,本文将所研究的框架运用到安防信息管理系统中,并详细地描述了系统各模块的设计及其在框架中对Action层、Service层和Dao层的具体实现,在此基础上完成了安防信息管理系统的开发工作。
1.3.2现实意义 建立在Java基础之上的J2EE框架平台是最适用于企业级分布式环境的应用框架结构。
J2EE框架平台是一个可以给lT机构、应用开发者和产品供应商提供统一的标准,这个标准带来的好处如下: IT开发者可以专注于支持业务处理的需求,而不需要花时间去创造内部的应用框架。
由应用服务器处理一些复杂的
问题,如多线程、同步处理、事务处理、资源分配和生命周期管理。
IT机构可以利用建立在标准平台之上的产品。
根据需求选择最适合、代价最小和性能最优产品来部署适合自己的开发平台。
采用J2EE平台可以保护公司的投资,因为它是一个工业标准,而不是某个供应商特有的结构。
开发组可以更快创建新的应用系统,这可以缩短产品投入市场的时间,并降低开发费用。
第4页 武汉科技大学硕士学位
论文 由于J2EE平台具有诸多的优越性,所以现在越来越多的项目采用J2EE作为开发平台。
随着软件系统的规模和复杂性的增加,对软件体系结构的选择成为比对数据结构和算法更为重要的因素。
J2EE提出了多层结构的概念,但它只是广泛意义上的设计框架。
因此设计者需要在此基础上,从实践的开发过程中设计出一个强壮的、稳健的、可重用的基于J2EE技术的多层B/S应用框架。
一个
设计良好的框架在项目中的使用,可以体现以下的好处t (1)快速开发出原型系统 (2)改变系统的复杂度 (3)减少程序的
代码量 (4)降低项目开发成本,缩短项目开发周期,提高软件质量 (5)对己有开发项目的不断积累1.4
论文结构 本文共分为五章。
第一章是绪论,介绍课题研究背景及意义,阐述国内外对相关领域的研究现状,并说明了课题的主要研究内容及文章的组织结构。
第二章是框架及其关键技术研究,分析了框架技术和.NET、J2EE框架各自的特点,并深入研究了J2EE框架中Struts2、Sprin92.5和Hibemate3等框架技术,最后讨论了工作流引擎的基本概念,介绍了JBPM和OSWorkflow两种工作流引擎的特点,最后比较了两者的特点。
第三章是对第二章的进一步研究,首先整合了Struts2、Sprin92.5和Hibemate3形成了一个通用的开发框架平台,接着在开发框架平台上整合了OSWorkflow工作流引擎;其次,分析了三层结构,给出了表示层、业务逻辑层和数据持久层设计思路;最后,根据框架平台权限的安全性,分析了现有RBAC的基本思想,并重点实现了RBAC的设计模型,从而提高了丌发平台的安全性,而且RBAC权限控制模块的通用性极强可适合所有的应用系统。
第四章在研究和分析了某公司现有的安防信息管理系统的特点,考虑安防系统的信息共享和数据的交互。
本文把所研究的通用开发框架平台运用到该系统中,并对Action、Service和Dao层做了具体的设计,给出了总体设计框架图,根据物资出厂子系统在安防中的作用,本文重点的分析设计了物资办证子系统,并通过典型工作流程——办证申请模块模块对文中设计的工作流机制进行应用,以此探讨了这种工作流机制的,t丁行性。
第血章是总结与展望,对本文做作研究工作进行了总结,并对下一步要开展的工作进行了归纳和展望。
武汉科技大学硕士学位
论文 第5页 第二章框架及关键技术研究2.1框架技术 伴随着软件开发技术的发展,在多层的软件开发项目中,可重用、易扩展,经过良好测试的
软件组件,越来越为人们所青睐。
这意味着人们可以将充裕的时间用来分析、构建业务逻辑,而不是繁杂的
代码工作。
于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架,也就是说框架是一些经过实践证明的、能用来开发高效应用系统的技术。
Web开发继续发展就出现了框架。
一个构建良好的Web应用基本上可以分为五层【5】,自底向上分别为:域模块层、持久层、业务层、控制层、表示层。
其中域模块层是一个特殊的层,它是一个对象集合,由实际需求中的业务对象构成,用于在不同层之间移动,负责为各层之间的数据传输提供数据对象;持久层用于把数据持久化到数据库中;业务层顾名思义就是放置系统业务逻辑的地方;控制层进行系统流程的调度,控制页面流程的跳转;显示层可以说是用户界面,把要显示的数据展示给用户。
这五层中,每一层都各司其职,有着自己特定的任务,同时这五层又通过约定的接口进行通讯,共同协作来实现系统的良好运转。
框架技术的出现是分层思想应用的结果。
框架是可重用的、稳定的应用程序模块,可以用于构建健壮的、可重用的、可扩充的、易维护的Web应用
程序。
目前,Java
开源世界里有不少优秀的框架,其中主流的构建Web应用的框架有:基于MVC模式的Struts框架,基于IoC模式的Spring框架和实现了对象/关系映射的Hibernate框架,它们分别用于控制层,业务层和持久层。
2.1.1框架定义 框架是可以通过某种回调机制进行扩展的软件系统或子系统的半成品。
首先,框架是半成品,这是它和其他所有软件组件的本质区别【6】。
这涉及到“软件重用”中的一对内在矛盾: “重用几率”大小和“重用所带来的价值量”大小之问的矛盾。
简言之,软件单元的粒度越大,则重用所带来的价值量越大,但重用几率越小;反之粒度小的软件单元被重用的几率越大,则重用所带来的价值量就越小。
框架的优势就在于此:为了追求重用所带来的价值量最大化,将容易变化的部分封装成扩展点,并辅以回调机制将它们纳入框架的控制范围之内,从而在兼顾定制开销的同时使被重用的设计成果最多。
下面,来解释一下“回调机制”17J的含义在于:框架并不一定必须用面向对象编程语言实现,C语言等传统编程语言可以通过函数指针作为参数米实现回调机制而面向对象编程语言中利用抽象方法(C++中称为虚函数)支持回调,无沦是抽象类还足接LJ都利用了抽象方法。
第6页 武汉科技大学硕士学位
论文 Erich Gamma等人在《设计模式》中为框架所下的定义为:框架是一组相互协作的类,形成某类软件的一个可复用设计【81。
框架将设计划分为一组抽象类,并定义它们各自的责任和相互之间的协作,以此来指导体系结构的设计,开发者通过继承框架中的类和组合其实例来定制该框架以生成特定的应用。
2.1.2框架构造原理 面向对象框架通常由组件集合构成,这些组件和扩展接口之间存在预定义的协作,称预先扩展的点为热点或变化点。
钩子方法可以被当作占位符,它们由更为复杂的方法调用,通常称之为模板方法。
隐藏在构子方法后的简单思想是重载钩子允许对应模板方法的行为改变,而不是将类的源
代码改变为模板所属的类。
每个框架都要整合两个基本构造原则:Unification原则和Seperation原则【9】。
Unification原则是指由继承适配,Seperation原则是通过组合适配。
不管具体的模板和钩子多么复杂或简单,它们采用一样的构造原则。
它们的区别在于粒度、钩子的语义、钩子提供的默认数目,以及模板——钩子对的数目。
在面向对象方法的设计中,有两种基本方法可以在不同的环境中复用已有的,即通过合成/聚合或通过继承。
组合适配将己有的对象纳入到新对象中,使之成为新对象的一部分,因此新的对象可以调用已有对象的功能。
这样做有以下好处: 第一,新对象存取对象唯一方法是通过对象的接口,对象的内部细节是新对象所看不到的。
所需的依赖较少,每一个新的类可以将焦点集中在一个任务上,新对象可以动态的引用与对象类型相同的对象。
第二,要正确的使用继承适配,则必须很好的理解里氏代换原则:如果一个软件实体使用基类,那么一定适用于其子类,而且它根本不能区别基类对象和子类对象的差别ll…。
2.1.3使用框架优点 框架是由一些类组成,正是这些类为应用程序提供了一个可重用的设计或者是应用程序中的一层。
应用程序
代码访问类库从而执行任务,而框架是调用应用程序
代码,从而管理程序的流程。
这就是经常说到的好莱坞原则:“不要试图联系我们,我们到时候自会通知你”…J。
开发者写的程序在运行时由框架调用。
设计一个在各种未知情况下都可以使用的框架是很有挑战性的,这种框架很适合在复杂的J2EE开发中使用,它可以为丌发者提供一个简单易用的模型。
采用一个经过良好设计的行源框架有很多好处: 第一,在好的框架下,丌发者只需要写一些必须的
代码,他们不需要直接接触底层API。
第二,经过良好设计‘的框架可以为程序提供清晰的结构并目.提高程序的内聚性,程序结构条理清晰使得丌发人员叮以更容易加入项目。
第三,一个容易使用的框架可以通过一些例子和
文档为用户提供最佳实践。
武汉科技大学硕士学位
论文 第7页 第四,采用成功框架编写的
代码比手工编写的
代码更容易测试。
2.2框架的选择 在各种应用服务器的解决方案中,SUN J2EE与Microsoft.NET是目前主流的两大阵 营,占据了绝大部分的市场。
它们都是针对分布式多层的应用,从设计、集成、性能、安 全性和可靠性多方面出发的,为用户提供总体的指南和规范。
基于这些指南和规范,技术 提供商提供了相应的平台、工具和编程环境。
2.2.1 NET框架 .NET是Microsoft公司的一个产品套件【121。
微软提供了一个分布式的Web应用开发环境,它并没有提供一个应用服务器的软件或软件包,它的出发点是面向操作系统的层 次,而不是中间件层。
微软将Windows NT/2000看作其应用服务器的基础,通过附加一系列具备中间件功能的软件包来实现应用服务器的平台,其应用服务器的实.