服务热线
015-123499524
1绪论1.1课题研究背景和现状1.1.1研究背景在企业信息化建设蓬勃发展的今天,企业应用系统受到各大企业普遍的注目。企业应用系统使得企业的生产模式、人们的工作方式及管理理念都再次发生了转变,明显提升了企业的经济效益和社会效益[1]。如今市场竞争白热化,企业对信息系统的需求量与日俱增,但逐一自定义研发的方式已无法符合企业较慢发展的市场需求。
因此,对于一些市场需求简要的系统,往往不会出售现成软件解决问题。但是各个企业明确业务有所不同,市场需求很难统一,现成软件不能符合最标准化的情况和最完全一致的操作者,比如财务系统、内容公布系统等,对于个性化的业务处置就无法胜任了。
如何仅次于程度地提取有所不同企业应用系统的共性,重复使用早已已完成的设计和代码,对企业应用系统中典型场景得出最佳解决方案—这是一个“一般性”的问题;如何让一个早已已完成的软件产品适应环境十分多变、简单的企业市场需求—这是一个“特殊性”的问题,如何把“一般性”问题与“特殊性”问题分离出来是当前企业应用系统研究者注目的热点问题之一,而享有一个合适研发企业应用系统的企业应用框架沦为解决问题这一问题的最差解决方案。这一框架包括从大量的企业应用系统研发中精选辑出有的系统“恒定项”,因此具备很强的普适性和实用性[2]。框架是一个半成品[2],包括了可适配的设计和代码,开发人员在面临有所不同的市场需求时都可以基于此框架展开明确系统研发,研发过程只需注目个性化业务功能的构建,而一些标准化的基础功能及服务都可以从框架本身获得适配,从而大大缩短项目开发周期,节省项目的开发成本,减少项目管理的可玩性和风险,提高产品的交付给质量,从而提升软件企业的市场竞争能力。由此看来,为了更佳的符合企业客户的市场需求,为了提升软件企业的竞争力,构建软件提供商和企业客户的双赢,研发一个企业应用框架沦为注目的焦点。
1.1.2开源框架针对企业应用系统各层次研发中不存在的种种问题,开源社区辈出很多开源框架,它们在有所不同层面明确提出了适当的解决方案。这为企业应用系统研发获取了相当大的便利性。
从广泛应用的四层Web应用于体系结构(4-tier)看,长久层的典型代表有Hibernate、MyBatis、JPA、SpringJDBC等,它们很大地修改了数据采访操作者。业务层典型代表有Spring、Hivemind[3]、PicoContainer[3]等,它们负责管理业务对象。
掌控层的典型代表有Struts2、SpringMVC、JSF、Stripes、Tapestry、Wicket等,它们负责管理催促的分派和页面的函数调用。表示层的典型代表有EasyUI、BootStrap、ExtJS、DWZ等,它们获取了非常丰富的页面组件,使界面风格获得统一。这些开源框架大都具备高可靠性、低安全性,可以处置系统很多细节问题且享有非常丰富的技术文档,自学可玩性并不大,结构较好,扩展性较强,而且大大升级,版本不断更新。因此开源框架备受Web应用于系统开发者的注目。
1.1.3研究现状和趋势开源框架对于企业应用系统中大量典型场景得出了拟合的实践中。在明确研发时,与其漠视前人的成果,新的构想方案,不如套用这些成熟期、平稳的作法。
这不仅能减缓开发进度,更加需要提高系统的质量和健壮性[2]。但当前的框架只是注目于Web应用于系统某一方面,面临如此众多的杰出开源框架如何展开合理的选型沦为设计师和开发者必需面对的问题,且确认技术选型之后如何展开框架统合从而构建一个面向企业级应用于的统一Web应用于研发平台沦为了另一个必须解决问题的问题。针对这些问题,许多开源项目争相得出了自己的解决方案。
AppFuse是MattRaible研发的一个指导性的入门级J2EE框架,它构建了风行的基础框架,如:Hibernate、Struts、Spring、DBUnit、Ant、Log4j、StrutsMenu、Xdoclet、SiteMesh、Velocity、JUnit、JSTL、WebWork,获取了Web系统少见的功能,如登岸、用户管理和权限管理等。利用它可以较慢研发应用于系统,并且可以依赖开源软件的功能减少软件开发成本[4]。SpringSide以SpringFramework为核心,获取一个Pragmatic的企业应用KickStart与Full-Stack的开源构件库,是JavaEE世界中的主流技术选型,最佳实践中的总结与展示[5]。lightssh是灵活性的、标准化的、可拓展的J2EE开源框架[6]。
它构建了Spring、Hibernate、Struts2、Shiro、Quartz、SLF4J、CXF等杰出的开源组件。同时,自身附带了实际应用于中很多常用功能。jeecg是一款基于代码生成器的J2EE智能研发平台[7],它可以有效地解决问题信息孤岛问题,分解统一代码、统一规范、统一设计思路,使开发者能在这个平台上,较慢研发出有高效高质量代码,延长项目开发周期。
它使用SpringMVC+Hibernate+SpringJDBC基础架构,使用面向声明的研发模式,基于泛型方式撰写很少代码才可构建简单的数据展出、数据编辑、表单处置等功能,再行因应代码生成器的用于将JavaEE的研发效率提升6倍以上,可以将代码增加60%以上。JeeSite是一个开源的企业信息管理系统基础框架[8],主要以定坐落于“企业信息管理”领域,可用于企业信息管理类系统、网站后台管理类系统等。它十分特别强调研发的高效性、健壮性和安全性。它内置了一系列企业信息管理系统的基础功能,并对常用工具展开了PCB,用于它可以较慢研发出有杰出的信息管理系统。
除此之外还有JessMA[9]、sypro[10]、sshe[11]等Web应用于基础框架。这些开源项目在大大的完备和升级中,框架也更加平稳。
专门从事JavaWeb研发的工作者也仍然自己从零展开框架设计和统合,而渐渐把注意力移往到这些成型的基础框架上利用框架有数的功能和技术展开明确系统的研发。利用Web应用于框架研发Web应用于系统的方式于是以渐渐替换传统的开发方式沦为研发Web应用于系统的一种新的可适配的开发方式。1.2课题研究目的和方法上文提及的Web应用于基础框架在易用性、灵活性、扩展性、通用性及高效性上展现出出有很多严重不足,针对这些严重不足本课题设计并构建了一个合适研发信息管理类系统的高效、平稳、安全性、灵活性、更容易拓展和确保且非常简单易懂的Web应用于框架,内置权限管理、机构管理、区域管理等基础模块及内存、日志、定点任务、Excel引入给定等基础功能。
同时展现出一个Web框架从市场需求、设计、构建及测试的整个过程。在充分考虑框架市场需求的基础上,通过分析目前风行的开源框架并糅合成型的基础框架的设计思路及融合自己的实践经验,运用适合的设计模式和设计原则及基于组件的开发技术已完成框架的设计与构建任务。
白鱼使用Spring、Hibernate、BootStrap、Ehcache、Log4j、Shiro、Quartz、JUnit、JSP等涉及技术。1.3论文的的组织结构本文还包括七个章节,的组织如下:第一章:绪论。分析了课题的研究背景与现状,并具体了课题研究的目的和方法。此外,还说明了论文的的组织结构。
第二章:框架使用的关键技术。讲解了框架涉及科学知识、几种设计模式与设计原则、基于组件的开发技术及几种成熟期的开源框架技术。第三章:框架的需求分析。
分析了企业应用系统共性的功能市场需求和性能需求萃取为该框架的市场需求,并针对框架各层次展开市场需求细化,对框架的设计起着了最重要的指导意义。第四章:框架的设计。通过对框架各层次的开源框架技术展开分析与自由选择,解决问题了框架长久层、业务层、掌控层及表示层的技术选型及类设计等问题,并对常见问题得出了明确解决方案且对常用的工具类展开了PCB设计。
第五章:框架的构建。讲解了框架构建所倚赖的研发环境并以一个明确模块为事例展出了框架各层次的构建细节。
同时展出了基于第三方组件的基础功能的构建过程。第六章:框架的测试。以框架业务层为事例讲解了如何应用于Spring测试框架与JUnit实行具备事务回滚功能的单元测试。第七章:总结与未来发展。
总结了论文的设计、构建与测试工作,分析当前框架的优点与不足之处,并对下一步工作展开了未来发展。1.4本章小结本章首先分析了市场对Web应用于框架的市场需求,认为了设计和研发Web应用于框架的现实意义并讲解了开源框架的优势;然后讲解了课题的研究现状及趋势并具体了该课题的研究目的及方法;最后得出了论文章节的的组织结构。
2框架使用的关键技术2.1框架阐述一个框架,就是一组相互协作的类,对于特定的一类软件,框架包含了一种可器重的设计。另一种少见的定义是:框架是一个可以被应用于开发者展开自定义的应用软件系统的骨架[12]。框架根据面向的问题领域的有所不同又分成应用于框架、领域框架和反对框架[13]。
应用于框架PCB了各种专门的技术或功能并可应用于有所不同领域的应用于,领域框架为某个特定问题域的构建获取了专门的解决方案和功能,反对框架获取一些与计算机底层涉及的类似服务[13]。本文设计的框架为应用于框架,它为Web应用于系统获取一个标准化的体系结构和一些联合的操作者。下文提及的框架专指Web应用于框架。Web应用于框架使得我们研发Web应用于的速度更加慢、质量更高、成本更加较低,利用Web应用于框架研发Web应用于系统己经沦为Web应用于研发的一种新的方式。
2.1.1设计原则为了让框架需要更佳的为研发有所不同领域的应用于系统服务,也为了让基于框架的开发者便于研发,框架设计时应当遵循以下原则[14]:1、为用户获取可扩展自定义配置文件的机制;2、框架必需具备可扩展性和适配性;3、获取尽量多的功能组件;4、构建性能优化机制;5、框架必需具备应用于构建能力,便利构建各种组件;6、大大地重构框架;7、开发者和框架的交互明晰,文档齐全。2.1.2研发过程模型框架的设计策略有自底向上和自顶向下两种方法[15]。本框架使用自底向上的策略。
它从若干个明确的典型企业应用系统中,抽象化出有相似点来建构应用于框架和标准化组件,应用于框架反过来又应用于有所不同的企业应用系统,并在解决问题有所不同问题的过程中获得改版,通过大大重复递归框架的设计和构建,必须改动和重复的内容越来越少,框架渐渐渐趋成熟期,从而构成图2.1的进化模型[16]。图2.1框架进化模型进化模型中每个阶段的任务如下:1、分析问题领域:分析一类应用于而不是单个程序,较为各种有所不同的软件解决方案,谋求这些方案的共性,这些共性将沦为应用于框架的基础。2、应用于框架的设计:定义应用于框架体系结构并设计,还包括设计开发者与应用于框架间的交互、给用户获取的最后工具等。
3、应用于框架的构建:还包括应用于框架核心类的构建、应用于框架的测试、应用于框架的试运营、应用于框架的重复改版等。4、应用于框架的部署:还包括文档的获取、发给过程,为开发者获取技术支持,确保和改版框架。
2.2面向对象设计原则与设计模式面向对象设计原则是面向对象软件设计的经典法则,最基本的设计原则有5条,分别是:单一职责原则、启闭原则、倚赖长条原则、接口隔离原则和Liskov更换原则。遵从它们可以使我们的代码更为生动,更容易适配,更容易拓展,灵活性高雅[17]。本框架严格遵守了这5条设计原则,确实超过了“较低耦合、低内聚”的设计目标。
每条设计原则的核心思想如下:单一职责原则的核心思想是:一个类,最差只做到一件事,只有一个引发它变化的原因,防止代码经常出现牵一发而动全身的不当局面。7总结与未来发展7.1总结本文迎合基于Web应用于框架研发企业应用的趋势,设计并构建了一个合适研发信息管理类系统的高效、平稳、安全性、灵活性、更容易拓展和确保且非常简单易懂的Web应用于框架。
已完成的明确工作主要有:1、对当前开源社区获取的Web应用于基础框架展开研究,糅合其杰出的设计思路并找到其不存在的严重不足。通过对业界主流的开源框架展开分析和较为,已完成了Spring+Hibernate+SpringJDBC+BootStrap的技术选型并已完成了选型后框架的统合工作。整个框架以Spring为核心,通过其IoC容器管理各层的组件及组件间关系,通过SpringJDBC及Spring构建的Hibernate已完成长久层的数据采访工作,通过SpringAOP构建业务逻辑和平行逻辑的分离出来,通过Spring内置的MVC框架构建催促的处置,通过BootStrap构建页面的展出。
各层框架技术各司其职,协同工作,为构建企业应用系统搭起了一个基础骨架。2、通过对企业应用系统展开分类分析,提炼出共性市场需求,构建了用户管理、角色管理、菜单管理、区域管理及机构管理等系统级功能。
通过SpringAOP技术构建了可插拔的基础服务,如:事务管理服务、内存服务、安全性服务、日志服务等。3、通过运用经典的设计模式、面向对象设计原则及基于组件的开发技术,已完成了框架各层的设计、构建及测试任务,构建了框架的设计目标,减少了开发成本,确保了框架质量。4、设计了标准化DAO模块,对常用的数据采访操作者展开了PCB,很大的修改了长久层的工作量。
为各功能模块设计了外观完全一致、风格美观、精美友好关系的用户界面解决方案。7.2未来发展由于研发时间受限,框架获取的基础功能还不非常丰富,如没引进邮件发送到、信息公布、工作流、报表打印机、文件管理等标准化基础功能,期望在日后减少对这些功能的反对。此框架必须应用于到有所不同类型的企业应用系统中展开实践中的考验,因此该框架的设计及构建工作并没完结,应用于之后还必须重构框架的构建代码,甚至重构框架的设计以大大提升框架的质量从而确实在商业研发中推展出去。
本文来源:米乐m6官网登录入口-www.ruituapp.com
Copyright © 2006-2022 www.ruituapp.com. 米乐m6官网登录入口科技 版权所有 备案号:ICP备68278158号-7
地址:江西省新余市吴江区计化大楼41号 电话:015-123499524 邮箱:admin@ruituapp.com
关注我们