




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee的快速开发平台的研究及物流系统的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文 摘要 本文的目标是设计和研究一个快速开发平台,可以使开发人员以此为基础进行j 2 e e 项目软件的开发。平台实现了m v c 设计模式,解决了开发缓慢、难以维护、难以积累 等问题,尽力做到大量减少重复性工作,将主要精力放在业务逻辑上,达到快速开发、 易于扩展、易于维护、易于积累。 本文给出了快速开发平台的总体设计,阐述了平台管理系统中的核心一表单生成 器的原理和实现。详细描述了x m l 、j s p 标签等技术在表单生成器中的应用。重点 介绍了快速开发平台的资源配置管理、用户管理系统、授权管理系统的设计与实现。 最后,介绍了快速开发平台在物流系统中的应用。 关键词:快速开发平台,设计模式,表单自动生成器,x m l a b s t r a c t t h ep u r p o s eo ft h i sp a p e ri st od e s i g na n ds t u d yar a p i dd e v e l o p m e n tp l a t f o r m ,w i t h w h i c hd e v e l o p e r sc a nd e v e l o pj 2 e ep r o j e c t s t h ep l a t f o r mi m p l e m e n t st h em v cd e s i g n p a t t o na n ds o l v e ss o m ep r o b l e m s ,s u c ha st h ed e v e l o p m e n te f f i c i e n c y , t h ed i f f i c u l t yo f m a i n t e n a n c ea n dt h ed i f f i c u l t yo fa c c u m u l a t i o n t h ep l a t f o r mc a nr e d u c er e p e t i t i v ew o r k s i g n i f i c a n t l y , t h e ne n g i n e e r sc a r ls a v et i m ea n de n e r g yf o rb u s i n e s sl o g i c ,a c h i e v i n gr a p i d d e v e l o p m e n tw i t he a s i e re x p a n d i n ga n dm a i n t e n a n c e t h i sp a p e ri n t r o d u c e st h eo v e r a l ld e s i g no ft h er a p i dd e v e l o p m e n tp l a t f o r m ,e x p o u n d st h e p r i n c i p l ea n di m p l e m e n t a t i o nt e c h n i q u e so ft h ef o r mg e n e r a t o r , w h i c hi st h ek e yp a r to ft h e p l a t f o r mm a n a g e m e n ts y s t e m t h ep a p e rd e s c r i b e st h ex m l ,j s pl a b e l i n gt e c h n o l o g y a p p l i c a t i o ni n t h ef o r mo fg e n e r a t o r t h i sp a p e re m p h a t i c a l l yi n t r o d u c e sd e s i g na n d i m p l e m e n t a t i o n o ft h e r a p i dd e v e l o p m e n tp l a t f o r m o nr e s o u r c e c o n f i g u r a t i o na n d m a n a g e m e n t ,u s e rm a n a g e m e n ts y s t e ma n da u t h o r i z a t i o na d m i n i s t r a t i o ns y s t e m a tl a s t ,t l l i s p a p e ri n t r o d u c e sa p p l i c a t i o no ft h er a p i dd e v e l o p m e n tp l a t f o r mi nt h el o g i s t i c ss y s t e m c u ix i a o s o n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yp r o f l i nb i y i n g k e yw o r d s :r a p i dd e v e l o p m e n tp l a t f o r m ,d e s i g np a t t e r n s ,f o r mg e n e r a t o r , x m l 华北电力大学硕士学位论文 摘要 本文的目标是设计和研究一个快速开发平台,可以使开发人员以此为基础进行j 2 e e 项目软件的开发。平台实现了m v c 设计模式,解决了开发缓慢、难以维护、难以积累 等问题,尽力做到大量减少重复性工作,将主要精力放在业务逻辑上,达到快速开发、 易于扩展、易于维护、易于积累。 本文给出了快速开发平台的总体设计,阐述了平台管理系统中的核心一表单生成 器的原理和实现。详细描述了x m l 、j s p 标签等技术在表单生成器中的应用。重点 介绍了快速开发平台的资源配置管理、用户管理系统、授权管理系统的设计与实现。 最后,介绍了快速开发平台在物流系统中的应用。 关键词:快速开发平台,设计模式,表单自动生成器,x m l a b s t r a c t t h ep u r p o s eo ft h i sp a p e ri st od e s i g na n ds t u d yar a p i dd e v e l o p m e n tp l a t f o r m ,w i t h w h i c hd e v e l o p e r sc a nd e v e l o pj 2 e ep r o j e c t s t h ep l a t f o r mi m p l e m e n t st h em v cd e s i g n p a t t e r na n ds o l v e ss o m ep r o b l e m s ,s u c ha st h ed e v e l o p m e n te f f i c i e n c y , t h ed i f f i c u l t yo f m a i n t e n a n c ea n dt h ed i f f i c u l t yo fa c c u m u l a t i o n t h ep l a t f o r mc a nr e d u c er e p e t i t i v ew o r k s i g n i f i c a n t l y , t h e ne n g i n e e r sc a ns a v et i m ea n de n e r g yf o rb u s i n e s sl o g i c ,a c h i e v i n gr a p i d d e v e l o p m e n tw i t he a s i e re x p a n d i n ga n dm a i n t e n a n c e t h i sp a p e ri n t r o d u c e st h eo v e r a l ld e s i g no ft h er a p i dd e v e l o p m e n tp l a t f o r m ,e x p o u n d st h e p r i n c i p l ea n di m p l e m e n t a t i o nt e c h n i q u e so ft h ef o r mg e n e r a t o r , w h i c hi st h ek e yp a r to ft h e p l a t f o r mm a n a g e m e n ts y s t e m t h ep a p e rd e s c r i b e st h ex m l ,j s pl a b e l i n gt e c h n o l o g y a p p l i c a t i o ni n t h ef o r mo fg e n e r a t o r t h i sp a p e re m p h a t i c a l l yi n t r o d u c e sd e s i g na n d i m p l e m e n t a t i o n o ft h e r a p i dd e v e l o p m e n tp l a t f o r m o nr e s o u r c e c o n f i g u r a t i o na n d m a n a g e m e n t ,u s e rm a n a g e m e n ts y s t e ma n da u t h o r i z a t i o na d m i n i s t r a t i o ns y s t e m a tl a s t ,t l l i s p a p e ri n t r o d u c e sa p p l i c a t i o no ft h er a p i dd e v e l o p m e n tp l a t f o r mi nt h el o g i s t i c ss y s t e m c u ix i a o s o n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yp r o f l i nb i y i n g k e yw o r d s :r a p i dd e v e l o p m e n tp l a t f o r m ,d e s i g np a t t e r n s ,f o r mg e n e r a t o r , x m l 声明户明 本人郑重声明:此处所提交的硕士学位论文基于j 2 e e 的快速开发平台的 研究及物流系统的应用,是本人在华北电力大学攻读硕士学位期间,在导师指 导下进行的研究工作和取得的研究成果。据本人所知,除了文中特别加以标注和 致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获 得华北电力大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。 学位论文作者签名:鑫壅鸯 e l 期: 学位论文作者签名:磁整蛩 期: 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有 权保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩 印或其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅; 学校可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同 方式在不同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:蕉黛当 日 期:珏& :z 导师签名:芏垄噩耋 日 期:也! 之:三:! ! 华北电力大学硕士学位论文 1 1 课题研究背景 第一章 引言 目前,经济正在从区域经济向世界经济转变,经济的全球化使得市场进一步的动态 多变,企业之间的竞争由过去的地区局部竞争演变成国家甚至是全球范围内的竞争。未 来企业的竞争优势来自企业的快速反应,信息化是快速反应的关键【1 1 。 为了适应激烈的竞争环境,企业要不断地改进自己的管理,重建组织结构,再造业 务流程,提高企业对信息提取的灵活性和准确性,加快市场反应速度。这一切都意味着 企业信息平台的客户化和个性化要求越来越高。落实到企业内部,信息化的意义在于怎 样尽可能地给适当的人在适当的时候提供适当的信息,比如说尽量让企业的员工信息 化,让企业上下游的伙伴实现信息化,紧接着让企业的客户能够信息化,这就达到信息 化的最高境界了。企业必须把信息化的范围扩大,最理想的状态是把整个企业都变成一 个自助的企业,“自己帮助自己”,让所有需要信息的人能在最短的时间内取得所需的信 息【2 】o 因此,作为软件服务商的软件企业面临着更多的挑战。一方面,竞争的激烈、最大 化服务和利润的目标使得软件企业经常加班加点地压缩工期,一个项目下来,参与人员 都觉得疲惫。本人所在公司通过许多项目的实践和相互间的交流,发现在一个项目的开 发过程中,用户界面的开发和调试用去了大量的时间,伴随而来的是重要的业务流程设 计和实现的时间被大幅压缩了,直接影响软件的开发质量。当一个项目的负责人或者参 与大部分开发的人员离开时,新加入的开发人员在接手过去开发过的项目时,必定会去 了解业务及实现的代码,这需要花费比较长的时间,会造成给用户响应时间缓慢的局面。 因此有必要在软件企业里建立一个快速统一的开发平台来实现和满足客户需求的 变化和差异、积累项目的成果、降低项目维护的难度和时间、减少界面开发所占用的时 间,本文介绍的快速开发平台通过可视化界面的配置来达到这些目标。 1 2 开发框架应用的国内外现状 近年来,随着网络技术和i n t e m e t 的迅速发展,基于b s 结构的w e b 应用,因其 具有易用性、通用性和良好的可扩展性等优点而发展迅速,正逐渐成为实现企业应用信 息系统的主流技术。网络办公系统、网络应用系统等这些互联网方式的工作系统已经被 人们所普遍接受,一个企业或单位是否有自己的互联网系统甚至成为了衡量其是否迈向 信息化的重要标准【3 j 。 在国外,不少优秀的技术框架不断涌现,比如s t r u t s 、w e b w o r k 等。随着j s p 技术 华北电力大学硕士学位论文 的成熟,越来越多的开发人员开始使用w e b 应用框架。框架为w e b 应用提供了预备的 软件架构和相关的软件包,它大大提高了开发w 曲应用的速度和效率【4 1 。目前国外的优 秀w e b 开发框架都普遍地遵循m v c 模式来搭建,每个w e b 框架都有其自身的开发规 范,供开发人员在进行一个项目开发时参考。 在国内,这些优秀的w e b 开发框架受到许多软件企业的重视和使用,但是对于项 目管理人员和开发人员来说,它们有其不便之处和不足的地方【5 1 。 存在不足的地方包括: 1 、开源框架面向的使用者大都是专业性强的技术人员,所以绝大部分开发工作都 得由技术人员来完成,非技术人员难以参与其中。对于一些规模不大资金实力不够雄厚 的公司来说,这是个用人的瓶颈。 2 、很少有开源框架将组织和权限作为其自身的一部分,而几乎所有应用系统都会 有组织管理和权限管理这两大功能,从综合性完整性上讲,开源框架缺少这两个重要功 能的实现。 3 、用户界面对后台的频繁访问,是大多数开源框架普遍存在的现象,也是传统的 界面层做法,因为传统的界面操作是针对表单提交的。s u n 公司最近推出的 j a v a s e r v e r f a c e s 规范,采用针对事件提交方式,它取代了针对表单提交的传统方式【6 】。 4 、在界面的开发上,开源框架提供的实现不能有效地减少界面开发的工作量,大 部分的页面还得由开发人员从头写起,不能给出通用化、自动化生成界面的功能。 5 、不包含业务逻辑基础的增、删、改、查操作在绝大多数开源框架中没有提供实 现。 因此,对于以服务客户为原则,重视软件技术的软件企业来说,现在的w e b 框架 都存在一定的制约。 总之,开源w e b 框架在目前大多时候仍处于单纯地使用其来完成企业项目阶段。 随着业务实现方式的创新发展,直接使用开源w e b 框架的方式将束缚领先产品的研发。 因此,建立一个拥有优秀开源框架思想、能改善上述不足的w e b 应用开发平台是一个 迫切的实际需求。 1 3 论文的主要工作 在论文工作期间,主要从事以下几个方面的工作: 1 、查找大量资料,学习先进w e b 架构的应用和设计方法,对公司现有的平台 进行研究。 2 、对公司现有的平台重新设计,特别是对页面自动生成组件的设计。 3 、确定整个平台系统的架构设计和数据库设计 4 、完成开发平台的编码、测试。 2 华北电力大学硕士学位论文 5 、通过和第三方物流企业的业务人员的交流、沟通,获取需求,归纳整理用 于物流软件开发的文档资料。 6 、完成对第三方物流管理系统的总体设计。 7 、第三方物流管理系统的编码、测试、实施以及维护 1 4 论文的组织及安排 第一章简要介绍本文的研究背景、开发框架应用的国内外现状、主要内容和组 织结构。 第二章主要综述快速开发平台以及应用系统的主要技术。 第三章首先介绍了快速开发平台的设计模式,然后介绍了表单自动生成器的原 理,最后描述快速开发平台的特点 第四章详细阐述了快速开发平台的各个模块的详细设计及相关技术的实现要 点。 第五章介绍了物流管理系统的设计原则和功能设计以及快速开发平台在物流 系统开发的优势和成功案例。 在论文的最后对论文工作做了总结,指出了本文的创新之处,并展望了下一步 的研究方向。 3 华北电力大学硕士学位论文 第二章快速开发平台及应用系统的主要技术 2 1j 2 e e 架构 2 1 1j 2 e e 体系 j 2 e e 是一种利用j a v a 2 平台来简化企业解决方案的开发、部署和管理相关的复杂 问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a 2 平台的标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性,方便存取数据 库的j d b ca p i 、c o r b a 技术以及能够在i n t c r n c t 应用中保护数据的安全模式等等, 同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v a s e r v l e t sa p i 、j s p ( j a v as e r v e rp a g e s ) 以 及x m l 技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市 场时间的体系结构。j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件, 各个应用组件根据它们所在的层分布在不同的机器上。通过基于标准的、模块化的组件 技术,j 2 e e 提供一组完备的服务以大大简化企业级应用的开发。由于容器提供了丰富 的支持功能,应用开发者只须将精力集中于业务实现逻辑而无须考虑其它复杂功能的实 现细节。j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接n ( a p i s ) 和协议构成,它对开 发基于w e b 的多层应用提供了功能支持【7 】。 j 2 e e 典型的四层结构为客户层、w 曲层、业务层和数据层。 l 、客户层( c l i e n tt i e r ) j 2 e e 应用可以是基于w e b 的,也可以是不基于w e b 的。在一个基于w e b 的 j 2 e e 应用中,用户的浏览器在客户层中运行,并从一个w e b 服务器下载w e b 层中的 静态h t m l 页面,或由j s p 或由s e r v l e t 生成的动态h t m l 页面。在一个不基于 w e b 的j 2 e e 应用程序中,一个独立客户程序不运行在一个h t m l 页面中,而是运行 在其他一些基于网络的系统( 比如手持设备或汽车电话) 中,a p p l e t 程序在客户层中运 行,并在不经过w e b 层的情况下访问e n t e r p r i s e b e a n s 。这个不基于w e b 的客户层可 能也包括一个j a v a b e a n s 类来管理用户输入,并将该输入发送到在企业层中运行的 e n t e r p r i s eb e a n s 类来进行处理。 2 、w 曲层 w 曲组件可以由j s p 页面、基于w e b 的a p p l e t 以及显示h t m l 页面的s e r v l e t 组成。调用s e r v l e t 或者j s p 页面的h t m l 页面,在应用程序组装时与w e b 组件打 包在一起。就像客户层一样,w e b 层可能包括一个j a v a b e a n s 类来管理用户输入,并 将输入发送到在业务层中运行的e n t e r p r i s eb e a n s 类来进行处理。运行在客户层的w 曲 组件依赖容器来支持诸如客户请求和响应及e n t e r p r i s eb e a n 查询等。 4 华北电力大学硕士学位论文 3 、业务层 作为解决或满足某个特定业务领域需要的逻辑业务代码,由运行在业务层的 e n t e r p r i s eb e a n s 来执行。一个e n t e r p r i s eb e a n 从客户程序处接收数据,对数据进行处 理,基于m e 平台标准的w e b 应用开发再将数据发送到企业信息系统层存储起来。 一个e n t e r p r i s eb e a n s 还从存储中检索数据,并将数据送回客户程序。运行在业务层的 e n t e r p r i s eb e a n s 依赖的容器为,诸如事务、生命期、状态管理、多线程及资源存储池 等提供非常复杂的系统级代码。业务层经常被称作e n t e r p r i s ej a v a b e a n s ( e j b ) 层。业务 层和w e b 层一起构成了三层j 2 e e 应用的中间层,而其他两层是客户层和数据层。 4 、数据层 数据层包括企业基础设施系统,例如企业资源计划( e r a ) 、大型机事务处理 ( m a i n f r a m et r a n s a c t i o np r o c e s s i n g ) 、数据库系统及其他遗留信息系统( l e g a c yi n f o r m a t i o n s y s t e m s ) 。j 2 e e 应用组件因为某种原因( 例如访问数据库) 可能需要访问企业信息系统。 j 2 e e 平台支持c o n n e c t o r 架构,该架构是将j 2 e e 平台连接到企业信息系统上的一个 标准a p i 。 j 2 e e 提供了一个框架和一套标准a p i ,用于开发分布式结构的应用,这个框架的 实现留给了第三方厂商。部分厂商只是专注于整个j 2 e e 架构中的特定组件,例如 a p a c h e 的t o m c a t 提供了对j s p 和s e r v l e t s 的支持,b e a 系统公司则通过其 w e b l o g i c 应用服务器产品为整个j 2 e e 规范提供了一个较为完整的实现【引。 应用服务器使建立和部署伸缩性较好的分布式应用的过程大为简化。应用服务器和 j 2 e e 处理了大量常规的编程任务,包括提供事务服务、安全领域、可靠的消息、名字 和目录服务、数据库访问和连接池、线程池、负载平衡和容错处理等。 通过以一种标准、易用的方式提供这些公共服务,应用服务器产品造就了具有更好 伸缩性和可维护性的应用系统,使其为大量的用户提供了增长的可用性。 2 1 2j 2 e e 技术介绍 常用的j 2 e e 技术是j s p 、s e r v l e t 、j d b c 和e j b 等。 l 、j s p s e r v l e t j s p 页面由j s p 引擎执行,引擎安装在w e b 服务器或者使用j s p 的应用服务器 上,j s p 引擎接受客户端对j s p 页面的请求,并且生成j s p 页面给客户端的响应【9 1 。 j s p 引擎实际上是把j s p 标签、j s p 页中的j a v a 代码连同静态h t m l 内容都转换为 大块的j a v a 代码,这些代码块被j s p 引擎组织到j a v a s e r v l e t 中,然后j a v a s e r v l e t 自 动把它们编译成j a v a 字节码,这些字节码由j a v a 虚拟机( j v m ) 解释执行。当访问一个 j s p 页时,实际上是由一个己经生成的、预编译过的s e r v l e t 来完成所有的工作。s c r v l e t 只需对每次请求时的j s p 页面编译一次,并且是由j s p 引擎自动生成并编译的。服 华北电力大学硕士学位论文 务器在遇到访问j s p 网页的请求时,首先执行其中的程序片段,所有程序操作都在服务 器端执行。j s p 引擎解释j s p 标识和小脚本,生成所请求的内容,并且将结果以h t m l 或x m l 页面的形式发送回客户端浏览器。 s e r v l e t 提供的功能大多与j s p 类似,不过实现的方式不同。j s p 通常是大多数 h t m l 代码中嵌入少量的j a v a 代码,而s e r v l e t 全部由j a v a 写成并且生成h t m l 。 2 、j d b c j a v a 语言的出现为推动w e b 数据库技术的发展提供了有力的支持。j a v a 发明者 s u n 公司的子公司j a v a s o f t 及时制定了j a v a 与数据库的连接互连规范一一 j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) 。j d b c 实现了j a v a 程序与数据库系统的无缝连接。 j d b c 是个支持基本s q l 功能的通用底层a p i ,它在不同的数据库功能模块层次上提 供一个统一的用户接口,为j a v a 程序员提供了独立于特定的数据库系统而实现的与数 据库互连的方式。 3 、e m e n t e r p r i s ej a v a b e a n ( e j b ) 是一种服务器端组件体系结构,它简化了用j a v a 开发企业 级的分布式应用程序的过程。通过e j b ,能写出可扩展的、健壮的和安全的应用程序, 而不用自己去写复杂的分布式组件框架。通过利用由业界提供的预先写好的分布式基础 结构,可以快速而且轻松的利用j a v a 构件服务器端组件。e j b 被设计为支持应用程序 的可移植性和可重用性,这些特性是适用于任何厂商的企业中间件服务的【1 0 】。 2 1 3 第三方框架 传统的j 2 e e 架构也有明显的缺陷: 1 、远程调用所产生的额外开销非常大,导致系统性能低。 2 、迫使架构师在设计时按e j b 的特性来设计,而不是面向对象设计。 3 、分布式结构难于测试,影响开发效率。 基于传统架构的上述缺陷,许多专家和开源组织试图开发出一些轻量级、灵活的框 架,来替代传统使用的架构。各式各样的框架不断涌现,各有特点。各自把精力集中于 企业开发中的某一方面,如表现层、持久层或是基础容器层等。比较典型和知名的框架 包括:s t r u t s 、w 曲w b r k 、h i b e r n a t e 和s p r i n g 等。 2 2m v c 设计模式 i v i v c 即m o d e l v i e w c o n t r o l l e r 的缩写,是一种常用的体系结构模式。m v c 包括 三类对象,模型m o d e l 是应用对象,视图v i e w 是它在屏幕上的表示,控制器 c o n t r o l l e r 定义用户界面对用户输入的响应方式。不使用m v c ,用户界面设计往往将 这些对象混在一起,而m v c 则将它们分离以提高灵活性和复用性。 6 华北电力大学硕士学位论文 l 、v i e w ( 视图) 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的 输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不 能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。 2 、m o d e l ( 模型) 模型是应用程序的主体部分。模型表示业务的数据和业务逻辑。一个模型能为多个 视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。 3 、c o n t r o l l e r ( 控制器) 控制器接受用户的输入并调用模型和视图去完成用户的需求。当w e b 用户单击w e b 页面中的提交按钮来发送h t m l 表单时,控制器接收请求并调用相应的模型组件去处 理请求,然后调用相应的视图来显示模型返回的数据【1 。 m v c 通过建立一个“订购通知 协议来分离视图和模型。视图必须保证它的显示 正确地反映模型的状态,一旦模型的数据发生变化,模型将通知有关的视图,每个视图 相应地得到刷新自己的机会。这种方法可以为一个模型提供不同的视图表现形式,也能 够为一个模型创建新的视图而无须重写模型。m v c 的工作原理如图2 1 所示 2 3x m l 的理论 图2 1m v c 的工作原理 随着w e b 的广泛使用,h t m l 的局限性最终暴露出来。h t m l 缺乏扩展性,并且 它的定义比较模糊,会使错误蔓延开来。人们可以阅读h t m l 文档,但是对计算机来 说h t m l 不是最好的。x m l 第一次使文档可以为人们看懂,计算机也可以处理,其标 记符集比h t m l 更为强大、灵活,扩展性更吲1 2 】。 因为x m l 文档描述的是数据,所以可以由任何应用程序进行处理。x m l 文档简化 了分析过程,使x m l 成为数据交换的理想框架。x m l 的元数据基础结构为数据交互技 术的繁荣奠定了基础【1 3 1 。 7 华北电力大学硕士学位论文 x m l 是一个开放标准,可以选择许多工具来处理它,因此用户可以选择任何适合 他们需要的工具,而无需担心受限于某个特定的平台上。 2 4 对象持久化技术 三层架构是目前典型的一种应用软件的结构,把应用软件分为表述层、业务逻辑层 和数据库层。 1 、表述层:与用户交互的界面。g u i ( 图形用户界面) 和w e b 页面是表述层两个典型 的例子。 2 、业务逻辑层:实现各种业务逻辑。例如当用户发出生成订单的请求时,业务逻 辑层负责计算订单的价格、验证订单的信息,以及把订单信息保存到数据库中。 3 、数据库层:负责存放和管理应用的持久性业务数据。关系数据库依然是目前最 流行的数据库【1 4 】。 业务逻辑层不仅负责业务逻辑,而且直接访问数据库,提供对业务数据的保存、更 新、删除和查询操作。为了把数据访问细节和业务逻辑分开,可以把数据访问作为持久 化层。 在j a v a 发展的初级阶段,直接调用j d b c 几乎是数据库访问的唯一手段。随着今年 以来的设计思想和j a v a 技术本身的演化,出现了许多j d b c 的封装技术,这些技术为数 据库访问层提供了更多的选择。持久化层封装了数据访问细节,为业务逻辑层提供了面 向对象的a p i 。完善的持久化层应该达到以下的目标: l 、代码可重用性高,能够完成所有的数据库访问操作。 2 、面向对象的设计。目前的持久层架构,大多都建立在面向对象的设计思想之上。 o r m ( o b j e c t r a t i o n a lm a p p i n g ) 几乎是目前主流持久层框架的基本特性。o r m 为系统 设计提供了更加自然的实现方式。可以通过o r m 将系统中的d o m a i no b j e c t 自动映射 到各个数据库表,从而编码中只关心o b j e c t 的相关属性。 3 、更好的性能。持久层框架大多提供了优秀的性能优化机制,如内置的数据库连 接池、数据缓存等。这些优化机制的综合使用大大提升了系统的性能。 4 、更好的移植性。系统跨数据库平台的移植遇到了阻力。成熟的持久层框架,由 于设计上的良好隔离,从而提供了对不同的数据库的良好支持,只要简单地修改其配置 参数,就可以实现底层数据库的切换。 2 5 软件构件技术 软件构件( 又称组件) 是一个封装的、规范的、可重用的软件模块,是组织软件的基 本单位。构件具有类属性,可将系统中相对稳定的共性抽取出来作为模板,而把实现中 8 华北电力大学硕士学位论文 的差异用参数来表示【15 1 。 构件可以是单纯的对象,也可以是一些功能模块、软件框架、软件系统模型、软件 的文档等。在应用软件开发中,可从构件库中选择构件,通过构件的组装来构造应用软 件。 软件构件技术是支持软件复用的核心技术。目前构件发展的趋势主要是从集中式的 小粒度构件向分布式的大粒度组件发展和从用于界面制作的窗口组件向完成逻辑功能 的业务构件发展。构件可以划分为: 1 、通用基本构件特指软件系统的基本构成成分,如基本的数据结构、用户界面元 素等,可存在于各种应用系统中。 2 、领域共性构件是应用系统所属领域的共性构成部分,存在于该领域的各个应用 系统中。 3 、专用构件是每个应用系统的特殊构成成分。 2 6 模块权限配置技术 2 6 1 模块可视化配置 软件系统里的模块,广义地说,是一系列在一起交互协作的单元群,设计到真实的 软件系统里,往往以功能的原则进行划分,并且这种划分的方式也是用户普遍认同的方 式,因为用户更直接更关心的是能在里边做些什么事情。本平台最首要的目标就是明确 地针对用户的想法,解决现实问题,所以对模块的定义也按照普遍用户的认同方式来进 行最小划分,即按功能进行最小划分。 对模块进行三个层次的定义:一级模块、二级模块、三级模块。这种划分模式是比 较流行的方式。这三个模块之间的关系属于树形关系,如图2 2 所示。 三级模块 图2 2 系统模块配置图 9 囝占 华北电力大学硕士学位论文 一级模块用于定义一系列相互协作的功能群的最外层。二级模块用于定义一级模块 功能定义下的组成部分,三级模块具体定义到实际要进行业务操作的功能单位。这样, 客户需要新加入一个功能单元时,只要将其添加到对应含义的三级模块上即可。由于模 块大都是对表数据的操作,所以平台将模块和表建立起关联,采用不编写代码而是通过 可视化界面配置的方式达到快速定义、生成模块,及其基本操作( 新增、修改、删除, 查看) 的目的。 界面可视化配置可以做到:快速给用户提供初期模型以便更好明确需求和方便将来 新业务新功能扩展的需要。 2 6 2 权限可视化配置 权限管理是任何一个软件项目实施初期必然遇到的问题( 将来在使用过程中也会出 现) ,需要经常更改,更苛刻的是:当客户需要修改权限原则或提出新的权限原则,就 需要快速地实现分配,如果完全以手动编码的方式进行权限管理的话,必然会缓慢。平 台在权限管理这方面,同样采用界面可视化配置的方式来对权限进行管理。系统权限的 管理是:针对功能,设定系统用户的访问权限,这些都可以归结为对模块和模块操作权 限上的控制。 平台在权限管理的设计思路上,划分为两个概念来进行管理:组织机构人员岗位的 设置及对应模块操作的设置。权限管理可由两个流程来实现:某机构的某个人可以对某 模块进行什么操作;某机构的某个岗位可以对某模块进行什么操作。组织机构人员岗位, 用于设置人和机构部门的关系以及人和岗位的管理;模块操作,用于设置岗位或人与模 块具体操作的对应关系。 2 7 界面开发自动化技术 在许多b s 结构的项目开发案例中,开发人员开发界面的工作量是非常大的。这样 开发人员就不能将主要的精力放在给定的业务逻辑和架构前瞻性的业务逻辑上,而是放 在了有大量重复工作的界面开发上,这样开发出来的软件产品,业务逻辑的改动带来大 的工作量是必然的。 目前普遍使用的开发用户界面方式有: l 、j s p 页面里手动写h t m l 代码和j a v a 代码; 2 、j s t l 标准标签库或不同开源框架相应的标签库,在j s p 页面里手动写标签代码。 第一种开发方式,对于简单的表单界面还可以接受,但是一旦涉及到需要显示和操 作多表关联的界面时,代码编写就会异常的复杂,单写界面就需要花费大量的时间,最 占用时间的还不是写界面,而是测试界面及界面上的业务数据是否都是正确的。在界面 端直接写大量的j a v a 代码,本身就不是推崇的方式,虽然这么写看起来非常直观,但是 1 0 华北电力大学硕士学位论文 一旦功能稍微做点改动,就要大范围改动代码。尽量做到不在页面文件中写j a v a 代码是 m v c 模式的思想之一。 第二种开发方式,使用了标签库进行j s p 的编写。使用标签类来开发j s p 界面是非 常好的发展方向,因为标签类封装了必要的东西,将普遍重复性的工作提炼到了抽象层 的级别,使得开发人员将精力转移到了业务逻辑上,减少了界面的j a v a 代码量。标签库 的运用的确大幅度减少了开发人员在界面上的工作量,但是运用标签库仍然存在着大量 逻辑简单而重复性高的工作,逻辑简单和重复性体现在,界面中主要表达的是各表的数 据,操作的是各表的数据。 通过上述两种分析,可以提出一种需求:建立一种具备标签库思想方式的开发途径, 不仅可以大量减少开发人员在界面上写代码的工作量,又能减少逻辑简单重复性高的工 作。 另外,对于客户来说,一套软件系统,界面上应该做到视觉、操作上的一致,即一 体化。 本快速开发平台在界面开发上,使用了标签库的思想和自动生成页面的快速方式来 达到大量减少重复性工作和界面的一体化。 2 8 基本操作通用化技术 在当今的大部分项目中,实现每一个界面上的新增、修改、删除、查看操作,都是 对这些操作单独编写代码。在项目开发过程中,编写这部分代码的工作量是非常大的, 使项目开发的成本大大提高。同时,这种方法造成大量重复性的代码散落在许多文件里, 维护时,需要同时对多个地方进行修改才能保证数据的正确性。另外,将具有公用性的 代码和变化的业务代码混合在一块,易使代码逻辑混乱。 在平台的设计中提出了操作通用化的思想。首先,将操作分成两大类:基本操作和 业务操作。( 这里所说的两个操作是针对代码功能的区分,对用户来说并不区分) 。力求 通过将基本操作和业务操作进行分离化,把基本操作提炼到通用层次的思想和方式来达 到高重用性、减少开发时间、责任分明的目的。 基本操作,平台将其定义为:不包含业务流程的数据处理,仅是单纯地将客户端提 交过来的数据进行表数据维护的操作。新增、修改、查看、删除,属于定义内的基本操 作。 业务操作,平台将其定义为:专门处理业务流程数据的操作,例如对业务流程状态 的控制。 从模块权限配置化可知,三级模块实际对应于一张数据表。可以说,一个模块的新 增、修改、删除、查看操作,实际就是对表进行新增、修改、删除、查看操作。不同的 地方就是对不同的表进行这四个操作,相同的地方都是对这四个操作进行处理。所以, 华北电力大学硕士学位论文 基本操作通用化的设计思路是:通过对表名进行参数化传递的方式、对应一个以表名命 名的界面,来动态地决定对哪些表进行维护及显示哪一个页面,将固定的代码提炼到通 用层次,使这四个基本操作通用化。 1 2 华北电力大学硕士学位论文 第三章快速开发平台的设计及表单生成器的原理 3 1 开发平台的设计模式 3 1 1 开发平台的模式运用 对于设计模式的定义有许多版本,经典的定义有以下几个:设计模式制定了一套规 则来描述怎样完成软件开发领域内某些任务( p r e e1 9 9 4 ) ;设计模式更多着眼于再利用 构建设计这个主题同时关注详细的设计和执行( c o p l i e na n ds c h m i d t1 9 9 5 ) ;一个模式立 足于重现详细设计时的设计问题并提出解决方法( g a m m ae ta l1 9 9 3 ) ;设计模式存在于 从最底层、最细节的设计问题到最上层、最笼统的流程的各个层次中( k u r a t a1 9 9 8 ) t 1 6 1 1 7 】。 软件设计模式的提出,其目标是为了提高软件系统的维护性、扩展性和重用性,总结出 实现这一目标的思想套科1 8 】。 本平台建立的目标也是尽量去提高软件系统的可维护性、扩展性、重用性以及快速 开发( 平台的快速开发建立在高重用性的基础上) 。平台将选择前人总结出来的优秀成 果,从中选择出适合自身的设计模式,对维护性、扩展性、重用性进行更好的提高【1 9 】。 平台的设计主要使用以下设计模式的思想:f r o n t c o n t r o l l e rp a r e m ( 前端控制器) 、 f l y w e i g h tp a t t e r n ( 享元模式) 、c o m m a n dp a t t e r n ( 命令模式) 。 1 、f r o n t c o n t r o l l e rp a t t e r n ( 前端控制器模式) 图3 1 前端控制器模式图 前端控制器模式用于集中管理来自客户端的请求,负责从客户端参数中确定分配给 哪个业务逻辑,如图3 1 所示。 平台在处理用户请求时,采用前端控制器的方式,实现控制逻辑和显示逻辑的分离, 对客户端请求做到集中管理,实现了m v c 的控制层和显示层分开的思想【2 们。 2 、f l y w e i g h tp a t t e r n ( 享元模式) 1 3 华北电力大学硕士学位论文 图3 2 享元模式图 单纯的享元模式用于将全局不变的内容存储到一个库中,供其他类的反复调用【2 1 1 , 如图3 2 所示。, 平台在创建m v c 中的m o d e l 层类时,将使用单纯享元模式进行动态地选择所要创 建的实例。设计思想:将所有全局不变的变量保存到名一值的映射对象中,并通过工厂 方法动态地通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025采购折扣合同范本
- 2025年安培考试内容及答案
- 市场销售预估方案范本
- 防爆产品推广方案范本
- 河海花园三期施工方案
- 中控室安全管理方案范本
- 地下室防水修复施工方案
- 商铺规范整治方案范本
- 南阳小型保鲜库施工方案
- 北京幼师考试真题及答案
- 合肥市社会化工会工作者招聘考试真题2024
- 2025年安全员b证考试安徽省题库及答案解析
- 首台套申报培训课件
- GB/T 14193.1-2025液化气体气瓶充装规定第1部分:工业气瓶
- 保安安检培训课件
- 2025年肝素行业研究报告及未来行业发展趋势预测
- 2025年脚手架租赁合同3篇
- 《CSCO乳腺癌诊疗指南2025》更新要点解读
- 医院工作纪律培训课件
- 营房装修施工方案(3篇)
- 品牌基础知识培训内容课件
评论
0/150
提交评论