(计算机应用技术专业论文)基于j2ee的物流信息系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的物流信息系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的物流信息系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的物流信息系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的物流信息系统的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的物流信息系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 互联网和现代信息技术的飞速发展为现代物流注入了新的活力,使物流业朝 着信息化、网络化、智能化方向发展。尽管目前物流企业普遍采用了计算机进行 管理,但这种计算机管理仅仅是取代了过去手工完成的简单作业,部门之间的数 据不能及时有效共享。这不仅浪费了资源,而且系统缺乏灵活性。因此,建立一 个反应快速、智能、灵活、安全的物流信息系统具有非常重要的意义。本文提出 了基于j 2 e e 的分布式物流信息系统。 本文介绍了j 2 e e 体系结构、m v c 模式等相关概念和技术,并重点探讨了 目前比较受欢迎的三种开源框架( s t n i t s 框架、s p r i n g 框架和h i b e m a t e 框架) 。 分析了他们的体系结构、特点和优缺点。根据j 2 e e 的分层结构,结合w e b 应用 的特点,将三种框架进行组合设计,即表现层用s t m t s 框架、业务逻辑层用s p f i n g 框架、持久层用h i b e m a t e 框架,从而来构建物流信息系统。这种整合框架使各 层相对独立,减少各层之间的耦合程度,同时加快了系统的开发过程,增强了系 统的可维护性和可扩展性,初步达到了分布式物流信息系统的设计目标。 经过以上分析,结合物流系统的业务需求,进行了相关的实现。最后,系统 运用先进的a i a x 技术来增强u i 层与服务器的异步通信能力,使用户体验到动态 嚣响应灵敏的桌面级w e b 应用程序。通过江联公司的试运行结果,系统达到了 预期目标。并且对江联公司提出了基于r 唧的解决方案的实旖计划。 关键_ i 羁1 0 j 2 e e 体系结构;m v c 模式;s t r u t s ;s p r i n g ;m b e r n a t e ;r f i d ;a j a x a b s t r a c t i n t e m e ta n dt h e r a p i dd e v e l o p m e n to fm o d e r ni n f 0 肌a t i o nt e c h n o l o g y f o r m o d e m1 0 9 i s t i c si n j e c t e dn e wv i t a l i t y ,a n dt h el o g i s t i c si n d u s t r yi sd e v e l o p i n gt o w a r d s i n f o r m a t i o nt e c h n 0 1 0 9 y ,n e t w o r k i n ga n di n t e l l i g e n td i r e c t i o n d e s p i t et h ew i d e s p r e a d a d 叩t i o no fal o g i s t i c se n t e r p r i s ec o m p u t e rm a n a g e m e n t ,b u tt h i si sm e r e l yr e p l a c e d t m d i t i o n a ls i m p l em a n u a lo p e r a t i o na n dm a n yd e p a n m e n t sc a nn o tt i m e l ya i l d e 砸c i e ms h a r et h eo t h e rd e p a n m e n t sd a t a 1 m i si sn o to n l yaw a s t 弓o fr e s o u r c e sa n da l a c ko fs y s t e mf l e x j b j i i t y 1 1 1 e r e f - o r e ,t h ee s t a b i i s h m e n to far a p i dr e s p o n s e ,w i s d o m , n e x i b i l i t y ,s e c u r j t yl o g i s t i c si n f 0 珊a t i o ns y s t e mh a sav e r yi m p o r t a n ts i g n i 丘c a n c e t h et h e s i sp u t sf o n v a r dt h ed i s t r i b u t e dl o g i s t i c si n f o m a t i o ns y s t e m sb a s e do nt h e j 2 髓 1 1 l et h e s i si n t f o d u c e s t h ej 2 e ea r c h i t e d u r e ,m v c ( m o d e l ,v i e w g o n t m l l e r ) m o d e l ,a i l do t h e r r e l a t e dc o n c 印t sa n dt e c l l n o l o 舀e s ,a n dg i v e sd e t a i l so ft h em o r e p o p u l a rt h r e en e wf r a m e w o r k ( s t m t sf r a m e w o r k ,s p r i n gf m m e w o r ka n dh i b e r n a t e f r 铷e w o r k )a f c h j e c t u f c ,c h a r a c f e r i s j c sa n d t h e a d v a n t a g e s a n dd j s a d v a n t a g e s a c c o r d i n gt o t h ej 2 e et i e r e ds t n l c t u r e ,w i t hw 曲a p p l i c a t i o nf e a t u r e sw i l lb ea c o m b i n a t i o no ft l l r e ef r a m e w o r kd e s i g n ,v i e wl a y e ru s i n gs t m t s 丘锄e w o r k ,b u s i n e s s l o 舀cl a y e ru s i n gs p r i n gf r a m e w o r k ,p r e s e n t a t i o nl a y e ru s i n gh i b e m a t ef r a m e w o r kt o e s t a b l i s hal o g i s t i c si n f o 咖a t i o ns y s t e m t h i sk i do fi n t e g r a t e df r a m em a k e so p p o s “e i n d e p c n d e n c eo fe a c hl a y e ra n dr e d u c e st h ec o u p l i n gb e t w e e nd i a - e r e n t l e v e l sa n d a c c e l c r a t e st l l es y s t e md e v e l o p m e n tp r o c e s s ,a n dc a nb ee i i h a n c e ds y s t e me x p a n s i o n t h i sc o m e st o t h ed e s i 印t a r g e to f t h ed j s 仃i b u l e d1 0 9 础c si n f 0 i l a t j o ns y s t em t h r o u 曲a b o v ea n a l y s i s ,t oc o m b i n et h eb u s i n e s sn e e do ft h el o 百s t i c ss y s t e m ,t o c a r r yo nt h er e l a t e dr e a l i z a t i o n a tl a s t ,t h eu s eo ft e c h n o l o g yt oe n h a n c e sa j a 】【u i l a y e ra n ds e r v e ra s y n c h r o n o u sc o m m u n i c a t i o n sc a p a b i l i t i e st o e n a b l eu s e r st o e x p e r j e n c et h ed y n a m i ca n ds e n s i t i v er e s p o n s et ot h ed e s k t o p - c l a s sw e ba p p i i c a “o n s t h e j i a n g “a nc o i n p a n yt r y st om nt h es y s t e ma n dc o m e st ot 1 1 ee x p e d e dt a r g e l a n d t h ei m p l e m e n tp l a no ft h er f i ds o l u t i o nf o rj j a n 酉i a nc o m p a n yi sp u tf o r w a r d k e y w o r d :j 2 e ea r c l l i t e c t u r e ;m v cm o d e l ;s t r i i t s ;s p r i n g ;h i b e r n a t e ;姗d ; a j a x 基于j 2 e e 的物流信息系统的设计与实现 1 1 研究背景及意义 第1 章绪论 “兵马未动,粮草先行”,这是我国古代军事家的“后勤”战略思想。在西 方,物流百s t i c s ) 最早是指军事后勤,二次大战后,物流这一概念被运用于经 济领域。1 9 6 2 年,杜拉克( d r i l c k e r ) 在“经济领域的黑暗大陆”一文中,首次明 确提出了物流领域的机遇与挑战。美国物流管理协会( c o u n c 订o fl d g i s t i c s m 锄a g e m e n t ) 给物流下的定义为:“物流是为满足消费者需求而进行的对原材料、 中间库存、最终产品及相关信息从起点到消费地的有效流动与存储的计划、实施 与控制的过程。m j , 传统物流一般指商品在空间和时间上的位移,以解决商品生产与消费地点差 异与时间差异。显然,传统物流技术落后,基础设施薄弱。进入九十年代,世界 经济环境发生了深刻的变化,科学技术也得到了前所未有的发展,尤其是管理科 学的进步,生产方式、组织规模化生产的改变,大大促进了物流的发展。物流逐 渐被管理学界所重视,企业界也丌始注意到物流在经济发展中的作用,将改进物 流管理作为激发企业活力的重要手段。传统物流已向现代物流转变。 、 现代物流是一种把制造,运输,销售等市场情况统一起来的一种战略措施, 经营责任在于按尽可能低的成本,刘原材料,在制品,制成品的库存进行地理上 的重定位。现代物流水平成为了一个困家综合国力的重要标志之一。 在新经济和现代信息技术迅速发展的二十一世纪,现代物流的内容仍在不断 地丰富和发展着,其范围和领域也在不断扩大,人们更加认识到物流体系的重要。 同时,信息技术特别是网络技术的发展,由于其投入相对少,又能显著提高企业 物流的运营效率和管理水平,也为物流发展提供了强有力的支撑,使物流向信息 化、网络化、智能化方向发展。因此,基于互联网i n t e m e t 和信息技术的物流信 息系统u s ( l o g i s t i c si n f o m a t j o ns y s t e m ) 正在向反应快速、智能、灵活、标准和 社会化的方i 句大踏步劬进,越来越多的企业( 及3 p l 公司) 愿意采纳这项集管 理和信息技术为一体的系统。m 在国外,物流信息系统在物流业界的应用己是十分广泛。诸如,沃尔玛, b e s tb u v ,麦德龙等国际零售巨头。 在国内,由于我国物流产业起步比较晚,物流信息系统的应用还处于仞级阶 段。近年来,尤其在中国加入w t o 以后,现代物流的发展逐渐成为我国经济 生活中的一个“亮点”。加上我国企业信息化热潮的掀起,特别是市场经济条件 下企业管理机制、组织结构及市场行为方式的巨大转变,引发了对先进的管理思 基丁j 2 e e 的物流信息系统的设计与实现 想及管理模式、管理手段的需求。企业物流的信息化也倍受青睐。根据中国物流 与采购联合会统计,2 0 0 1 年,中国与物流相关的年总支出高达1 9 0 0 0 亿元,物 流成本占g d p 的比重为2 0 左右。这充分反映了我国企业的物流支出成本过高、 管理水平落后,也显示了物流信息系统软件市场的巨大应用前景。【2 7 】 目自茸在国内的物流行业,各物流公司业务都处于刚刚发展阶段,虽然已经普 遍采用计算机管理,但目前的这种计算机管理仅仅是将过去用手工完成的作业交 由计算机来完成,还远远没有达到合理利用的程度。不能及时反映库存信息,不 能查询商品在仓库中的位置,不具备车辆调度以及优化配送的功能。国内大公司 使用的物流信息系统大部分都是从国外购买的企业管理软件。因此,致力于物流 信息系统研究,开发出适合中国国情的中小型企业物流信息系统具有重要的意 义。 1 2 课题来源 江西江联能源环保股份有限公司( 以下简称江联公司) 足目前国内同时具 有设计制造安装锅炉化工石油机械球形储罐压力容器的主要生产厂家。近年来, 公司斥资完成了全厂范围内的网络建设,逐步实施了信息化项目,包括 c a d c a m 、财务管理、办公自动化、p d m 等先进的设计、制造、管理软件系统, 并进行了适度的集成应用,信息化项目在企业初见成效。 然而公司只是迈出了信息化进程的第一步。目前公司的物流管理仍然是采用 传统的运作方式,主要依靠个人经验,已经不能满足实际的市场需求,同时也造 成了资源的浪费。为此,公司提出实现物流信息化的计划,来提高其管理水平和 提升企业的竞争实力。 尽管“基于j 2 e e 的物流信息系统”是针对江联公司提出束的,但它的基本 设计思想对于其他企业同样具有十分积极的借鉴作用。 1 3 本文研究内容 本课题的研究目标就是,提出一个在j 2 e e 平台下构建基于w e b 的、分布式 的、功能齐全的物流信息系统的设计模型和解决方案。为了实现这一目标,本课 题的主要研究内容可以概括为以下几个方而: 1 介绍j 2 e e 的分布式多层应用模型、m v c 模式等相关概念和技术。 2 介绍了当前比较流行的开源框架。着重对表现层s t r u t s 框架,、啦务逻辑 层s p r i n g 框架,持久层h i b e m a t e 框架作了详细的介绍,而且分析了它们的体系 结构、工作原理、基本的开发流程和优缺点。 3 分析了物流信息系统需求和功能。在二述分析讨论基础上,结合三种丌 2 基于j 2 e e 的物流信息系统的设计与实现 源框架实现了一个采用b s 多层体系结构、基于m v c 模式的j 2 e e 的物流信息 系统。 4 分析了物流业r n d 的应用参考架构,并对江联公司提出了基于r f i d 的 解决方案的实施计划。 5 研究一些在实际开发系统的过程中所碰到的问题。如a i a x 技术和重复提 交表单的问题。 1 4 本文组织结构 本文在介绍物流信息系统现状和j 2 e e 标准架构的基础上,详细地讨论了 “基于j 2 e e 的物流信息系统”的设计与实现。全文由以下六章组成: 第一章绪论 本章主要介绍了研究的背景、意义、国内外的发展和趋势以及研究的内容和 意义。 第二章j 2 e e 的体系结构和m v c 的设计模式 本章主要介绍了j 2 e e 的分布式多层应用模型、m v c 模式等相关概念和技 术。 第三章u s 的w e b 应用框架设计 本章主要介绍了w e b 应用框架,对业务逻辑层s p r i n g 框架,表现层s t r u t s 框架,持久层h i b e m a t e 框架作了详细的阐述,而且分析了它们的体系结构、工 作原理、基本的开发流程和优缺点,并用这三种开源框架构建u s 。 第四章u s 的设计与实现 本章对u s 系统进行了简要的需求分析和主要功能模块的分析,并从系统的 三个层次进行了实现。 第五章相关的解决方法 本章分析了物流业r f i d 的应用,并提出了基本的r f i d 的解决方案。同时, 介绍了a i a x 技术和重复提交表单的问题。 第六章总结与展望 对全文进行总结,并对以后的研究工作进行展望。 3 基丁j 2 e e 的物流信息系统的设计与实现 第2 章j 2 e e 的体系结构和m v c 设计模式 2 1j 2 e e 的体系结构 2 1 1 体系结构的概述 当前企业应用程序开发的趋势是提供n 层框架,以便于实现安全、可升级、 维护方便、实用的应用程序。系统体系结构模式有三次质的飞跃:主机终端 ( h o s t 厂r e 珊i n a l ) 模式、客户服务器( c l i e n t s e e r ) 模式、浏览器朋睦务器 ( b r o w s e r s e r v e r ) 模式。主机终端模式结构属于全封闭式系统,不同系统之间无 法进行交流,信息共享能力差,而且系统扩展不方便,已经不适应信息技术发展 的需求。 传统c s 结构难于扩展和维护,系统稳定性极差,可能为此要付出无穷的维 护成本,可是有些功能拓展就是请来比尔盖兹也无能为力,不如重写。 以j 2 e e 为首的多层结构已经成为主流,多层结构系统具有良好的可拓展性 和可维护性,带来的是稳定的系统质量,又可以实现软件重用,保护投资,节省 新项目的开发时间。 2 1 2j 2 e e 的概述 目前,j a v a2 平台有3 个版本,它们是适用于小型设备和智能卡的j a v a2 平 台m i c r o 版( j a v a2p l a t f o mm i c r oe d i t i o n ,j 2 m e ) 、适用于桌面系统的j a v a2 平台标准版( j a v a2p l a t f o ms t a n d a r de d i t i o n ,j 2 s e ) 、适用于创建服务器应用 程序和服务的j a v a2 平台企业版( j a v a2p l a t b r me n t e 哪i s ee d i t i o n ,j 2 e e ) 。 。 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关 的复杂问题的体系结构,提供了一个企业级的计算模型和运行环境,用于丌发和 部署多层体系的应用。 j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准版,j 2 e e 不仅巩固 了标准版中的许多优点,例如”w r i t c o n c e ,r u na n y w h e r e 的特性、方便存取数 据库的j d b ca p i 、c o r b a 技术以及能够在i n t e m e t 应用中保护数据的安全模式 等等,同时还提供了对e j b ( e n i e r d f i s ej a v a b e a n s ) 、j a v as e 1 e l sa p i 、j s p ( j a v a s e r v e rp a 舻s ) 以及x m l 技术的全面支持。 1 j j 2 e e 提供的多层的分布式应用模型、组件重用、致化的安全模型以及灵 活的事物控制,加快了应用程序的没计和丌发,可以容易快速地建立融合了 i n t e m e t 技术尤其是w e b 技术的n 层( n t i e r s ) 结构的分布式企业应用。基于 4 基于j 2 e e 的物流信息系统的设计与实现 j 2 e e 技术的b s 结构具有可维护性好、可扩展性好、安全性好等优点,较好的 解决了c s 结构所同有的可扩充性差、可维护性差、可扩展性差、安全性差、部 署麻烦等弗端。 2 1 3j 2 e e 的优势 j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机 制:1 2 4 】 1 能集成遗留信息系统 由于企业必须适应新的商业需求利用已有的企业信息系统方面的投资,而 不是重新制定全盘方案就变得很重要。这样,一个以渐进的方式建立在已有系统 之上的服务器端平台机制是企业所需求的。j 2 e e 架构可以充分利用已有的信息 系统,这之所以成为可能是因为j 2 e e 拥有广泛的业界支持和一些重要的“企业 计算”领域供应商的参与。由于基于j 2 e e 平台的产品几乎能够在任何操作系统 和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 2 高效的开发 j 2 e e 允许公司把一些通用的、很繁琐的服务端任务交给中问件供应商去完 成,如b e a 公司提供的w e b l o 酉c 应用服务器,i b m 公司提供的w e b s p h e r e 应 用服务器。这样丌发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开 发时间。高级中间件供应商提供以下这些复杂的中间件服务: 状态管理服务让丌发人员写更少的代码,不用关心如何管理状态, 这样能够更快地完成程序开发。 持续性服务让丌发人员不用对数据访问逻辑进行编码就能编写应用 程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维 护。 分布式共享数据对象c a c h e 服务让开发人员编制高性能的系统, 极大提高整体部署的伸缩性。 3 跨平台 j 2 e e 能够丌发部署在异构环境中的可移植程序。基于j 2 髓平台的应用程序 可被部署到各种操作系统上、中间件、硬件,具有“一次编写,随处运行”的特 性。j a v a 的平台无关性使得人们易于在大量不同的计算环境中应用j a v a 程序。 在多数编程语言内编译编写的程序时,编译器将源文件转换为机器码,即针对计 算机正在运行的处理器的指令。如果希望在另一个平台上使用相同的程序,这必 须把源程序转移到新平台上,再次编译它,以生成针对那个系统的机器码。在许 多情况下,由于处理器的区别和其他因素,在新设备上进行编译之酌,均需要对 源代码进行修改。而j a v a 程序将为虚拟机( v i n u a im a c h i n e ) 一种计算机内 基fj 2 e e 的物流信息系统的设计与实现 的计算机编译为机器码。这种机器码称为字节码,而虚拟机通过将它转换为特定 处理器的机器码来解释代码。虚拟机更常见的名称足j a v a 解释程序,而且,支 持j a v a 的每种环境都必须有适合于它自己的操作系统和处理器的解释程序。平 台独立的、基于组件的j 2 e e 解决方案使企业应用不会被束缚在任何一个厂商的 产品和a p i 上。 4 可伸缩性 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满 足那些在他们系统上进行商业运作的大批新客户。基于j 2 e e 平台的应用程序可 被部署到各种操作系统上。j 2 e e 领域的供应商提供了更为广泛的负载平衡策略。 能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数干个处理器, 实现可高度伸缩的系统,满足未来商业应用的需要。 5 稳定的可用性 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。 j 2 e e 部署到可靠的操作系统中,他们支持长期的可用性。 2 1 4j 2 e e 的分布式多层应用模型 j 2 e e 是基于分布式的多层应用模型,在这种模型中,应用逻辑按功能划分 为不同的组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上, s u n 设计j 2 e e 的初衷正是为了解决两层模式c s ( c l i e n 临e r v e r j 客户端朋艮务器) 难于升级、可伸展性差等弊端。现在j 2 e e 的多层分布式应用模型将两层化模型 中的不同层面切分成许多层。一个多层化应用能够为每种不同的服务提供一个独 立的层。图2 1 展示了j 2 e e 的分布式多层应用模型。【1 】 1 ,运行在客户端机器上的客尸层( c l i e n tt i e r ) 2 运行在j 2 e e 服务器上的w e b 层( w e bt i e r ) 3 运行在j 2 e e 服务器上的业务逻辑层( b u s i e s s t i e r ) 4 运行在e i s 服务器上的企业信息系统层( e n t e r p r i s ei n f o r m a t j o ns y s t e m t i e r l 6 基于j 2 e e 的物流信息系统的设计与实现 面缈q 锚 压司鲥叫锚 f 司 t _ * _ * 自w w _ _ _ * h p h 一 圄固 j 2 b e 服务描 数蜊瘁 瑕务器 图2 1j 2 e e 体系结构 从图2 1 中可以看到,尽管j 2 e e 支持四个不同的层:客户层、w e b 层、业 务层和e i s 层,但不一定要求每一层在物理上位于单独的计算机体系中。在通常 情况下,w e b 层和业务层在同一台服务器( j 2 e e 服务器1 上运行,基于这一点, 这两层被认为是中间层( m i d d l e t i e r l 的子层。通常情况下j 2 e e 应用被考虑为三层 结构的应用。三层结构的应用程序可以理解为在标准的两层结构c s 模式的客户 端应用程序和后端存储资源中叫增加了一个多线程的应用程序服务器。 2 1 _ 4 1 客户层 客户层用束与用户交互,并把来自系统的信息显示给用户。基于w e b 的j 2 e e 应用,允许浏览器将w e b 网页和a p p l e t 下载到客户机器上运行。例如,运行在 诸如手持设备或车载电话上的a p p l e t 可以显示w m l 刚页,这些网页由运行在 j 2 e e 服务器上的s e n ,1 e t 或j s p 生成。用户的w e b 浏览器从w e b 层下载静态或 动态的h t m l ,w m l ,x m l 页面。 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 n r l e t s 生成的动态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 j b 。根据j 2 e e 规范,j a v a b e a n 不被视为组件。 2 1 4 _ 2 w e b 层 j 2 e e 的w e b 组件可以由j s p 页而、基于w e b 的a p p l e t 以及显示h t m l 页 面的s e r v l e t s 组成。调用s e n r l e t s 或者j s p 页面的h 1 m l 页面在应用程序组装时 7 亲一 l|lj 一 攥 堪 一 b 务 孙 溉 基于j 2 e e 的物流信息系统的设计与实现 与w e b 组件打包在一起。正如图2 2 所示的客户层那样,w 曲层可能包含某些 j a v a b e a n 对象束处理用户输入,并把输入发送给运行在业务层上的e n t e r p r i s e b e a n 来进行处理。 i 曲公 j 2 雌嚣睦务器 图2 2 w 曲层 2 1 4 - 3 业务层 作为解决或满足某个特定业务领域( 比如银行、零售或金融业) 需要的逻辑业 务代码由运行在业务层的e j b 来执行。下图2 3 表明了一个e n t e r p r i s e b e a n 从客 户程序处接收数据,对数据进行处理( 如果需要) ,再将数掘发送至企业信息系统 层存储。一个e n t e r p “s e b e a n 从存储中检索数据,并将数据送回客户程序。运行 在业务层的e t e r p r i s e b e a 依赖于容器来为诸如事务、生命期、状态管理、多线 程及资源存储池提供通常非常复杂的系统级代码。业务层和w e b 层一起构成了 三层j 2 e e 应用的中间层,而其它两层是客户层和企业信息系统层。 有三种企业级的b e a n :会话( s e s s i o n ) b e a n s ,实体( c n t i t y ) b e a s ,和消息驱动 ( m e s s a g e d r i v e ) b e 卸s 。会话b e a n 表示与客户端程序的临时交互。当客户端程序 执行完后,会话b e a n 和相关数掘就会消失。相反,实体b e a n 表示数据库的表 中一行永久的记录。当客户端程序中止或服务器关闭时,就会有潜在的服务保证 实体b e a n 的数据得以保存。消息驱动b e a n 结合了会话b e a n 和j m s 的消息监听 器的特性,允许一卜、业务层组件异步接收j m s 消息。 w o b 浏览器 。l! b 厦惭,a p p i o e , 一l 。 蕾l f 选晌j s p 炙艇 如v n 腿a n m n v 瞻a 僻数据席 j a v a n e 挂l l 炎 s e ¥i “ i 炎 s o t 蛳nb e a 孵 南l 胁h 种序铎p 端 l | f 喀建) ”k s s 6 9 ed r 悼n 叭自 - o 藏篓 和i j 膪的 t “v n r hj 扣 2 k 缴务器 基fj 2 e e 的物流信息系统的设计与实现 图2 - 3 业务层 2 1 4 4 企业信息系统层 企业信息系统( e i s ,e n t e r p r i s el i l f o 姗a t i o ns y s i e m ) 层运行在e i s 服务器上,在 企业应用系统的逻辑层划分中,e i s 层通常包括企业资源规划( e r p ) 系统、大型 机事务处理( 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 ) 系统、关系数据库系统( r d m s ) 及 其它在构建j 2 e e 分布式应用系统时已有的企业信息管理软件。 2 1 5j 2 e e 的五层应用模型 在实际的项目中,四层的划分往往不能很准确的指导开发,因为在业务逻辑 层与数据库交互的过程中往往需要对数据库调用接口做进一步的封装。这样在项 目的开发和维护上会增加了一定的复杂性和管理的难度。一个有效的解决方案是 把业务信息按照功能模块拆分开:业务逻辑与数据库服务器分开,用户界面与业 务逻辑分开,彼此相对独立,任一方的任何改变都不会影响对方,或者影响不大。 因此可以在业务逻辑层和数据库层之间增加一个数据持久层。将数据持久逻辑和 业务逻辑分离,业务逻辑层通过数据持久层与数据库交互,数据持久层位于数据 库之上,隐藏数据读取和操纵中的所有数据访问代码细节,将客户应用程序和底 层存储机制隔离开。这样使得各层功能简洁、专一,降低各层之l 口j 的耦合。如图 所示。 2 2m v c 设计模式 髫霉 i“b 艇 l业务连辩凇 i稚掘梓丸祭 辱与藩与 幽2 4 j 2 e e 的五层结构 2 2 1 设计模式的概念 模式的概念是最初来源于工程和建筑模式,软件行业的模式概念的普及是由 e r i c hg 锄m a ,r i c h a r dh e l m ,r a l p hj o h i l s o n 和j o h nv l i s s i d e s 四人【简称”g o f ”】合 著的设计模式:i 叮复用面向对象软件的摹础【d e s j 印p a t t e m s :e l e m e n t so f r e u s a b l e0 b j e c t o r i e n t e ds o 脚a 叫一书而引发的。如今“模式”已经成为全世界 软件丌发的一个共同话题。3 】 9 基于j 2 e e 的物流信息系统的设计与实现 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经 验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 软件设计模式代表了从成功的系统设计中分离出柬的可复用的优秀设计经 验描述如何在特定情境中解决一般设计问题。一个设计模式抽象、命名和确定 了一个通用设计结构的主要方面。 随着面向对象编程( o o p ) 技术的出现,越来越多的程序员从事设计模式的 研究,目的是提高软件的重用性和软件的质量。由于设计模式、设计方案的重用 是从更深的层次上体现了重用的意义和本质,所以,设计模式对可复用面向对象 软件来说是非常重要的。总而言之,设计模式是一种实践的总结,是o o p 最直 接的表现。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真 正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 g o f 的“设计模式”是第一次将设计模式提升到理论高度,并将之规范化, 它主要列举了常用的2 3 种模式。下面我们主要介绍最常见的m v c 设计模式。 2 2 2m v c 设计模式 m v c ( m o d e l v i e w c o n t r o l l e r ,模型一视图一控制器) 是x e r o xp a r c 在八 十年代为编程语言s m a l l t a l k 8 0 所发明的一种软件设计模式,至今己被广泛使用, 并被推荐为s u n 公司j 2 e e 平台的设计模式,其为开发交互式应用系统提供了一 个优秀的设计模式,受到越来越多开发者的欢迎。例【2 l 】 m v c 结构的框架的组成部分包括以下的内容: 1 模型( m o d e l ) 模型包含了应用程序的核心,它封装了应用程序的数据结构和事务逻辑,集 中体现了应用程序的状态。有时候仅包含状态信息,因为它并不了解视图或控制 器的信息。j a v a b e a n 很适合扮演这个角色,因为其能够处理绝大部分事务逻辑和 数据结构,还能与数据库或文件系统进行交互,承担维护应用程序数据的责任。 2 视图i e w ) 视图实现模块的外观,它是应用程序的外在表现。它可以访问模型的数掘, 却不了解模型的情况,同时它也不了解控制器的情况。当模型发生改变时,视图 会得到通知,它可以访问模型的数据,但不能改变这些数据。w e b 界面的丌发 人员不需要了解或关心数据库发生什么事情,或者事务逻辑进行了什么操作,他 只需要掌握h t m l 的知识,而不需要深入了解j a v a 。j s p 页面适合完成这个功能, 因为它只包含很少的非h t m l 代码。 3 控制器( c o n t m l l e 订 1 0 基于j 2 e e 的物流信息系统的设计与实现 控制器控制整个框架中各个组件的协调工作,对用户的输入做出反应,并且 将模型和视图联系在一起,它创建并设置模块。s e l e t 能够接受客户端的h 1 t r p 请求,并且根据需要创建所需的j a v a b e a s ,然后将模块产生的变化通知给视图。 m o d e l 、e w 、c o n t r o l l e r 这三者的动态协作关系如图2 5 所示。 杖落盎啕 |广 l修教道翔 封装应用程牟的捷惑 一峒压粥拔态的董壤 箍避应用程庠的砖能 通鲰v l w 爱新 捷惑修改 一对h 。d e l 的数据抽雌修饰 k _ 扭固选撵一l 定良废月l 程序豹行撵 一接收来菪雄。d e l 韵更糕值求 il 一括用尸行为映射由m o d 毫1 更辎 - - 将甩户劫维传逢始c t r 。l l e r li 一选撵笺喟鹱的v l 抖 一一竞许c o h n e r 建撵任一个v l t * j 用户劫律- - 一茹差觅应甩程序的鬟瑾谤匏 算法谭用 事僻 图2 5m v c 动态协作关系【”】 从图2 5 中我们可以看到,c o n t m l l e r 接收使用者的消息,要求m o d e l 处理 应用领域的资料;m o d e l 告诉v i e w ,让v i e w 知道m o d e l 的内容已更新,v i e w 接获通知并进行准备工作,就绪了才要求m o d e l 送柬新内容,显示于视窗里。上 图是典型的m v c 结构,但也有许多衍生出来的结构。例如,有些系统的c o n t r o i l e r 及v i e w 都可以接收使用者传来的消息。通常,屏幕上可显示多个视图,各呈现 m o d e l 的某一个层面,所以一个m o d c l 可配合多个v i e w 。 传统的m v c 模式只是从概念上将视图从流程控制、业务逻辑中独立出来, 并定义了相互间作用的机制,使各个模块的开发相对独立,但是它没有针对不同 视图类型,解决流程控制等对象的统一问题。因此,针对具体的研究对象,我们 在使用m v c 模式时需要对此做进一步的研究。 2 _ 2 _ 3m v c 在w e b 中的应用 由于传统的m v c 模式主要针对一般的应用程序,而w e b 开发向软件,1 :发 人员提出了一些特有的挑战,最明显的就是客户机和服务器的无状态连接。这种 无状态行为使得模型很难将更改通知视图。在w e b 应用中,为了发现对应用程 序状态的修改,浏览器必须重新查询服务器。因此,在w e b 中引入m v c 设计 模式需要对其做进一步的改进以适应w e b 这样的环境。 m o d e l 2 就是在w e b 这样的特殊环境下m v c 设计模式的一种变体,它把j s p 基于j 2 e e 的物流信息系统的设计与实现 和s e r v l e t 组件结合在一起。在m o d e l 2 中,v i e w 是应用程序的外观,由j s p 组 件实现。c o n t m l l e r 则是由s e n ,l e t 组件束实现,它负责处理导航流,可以调用 m o d e l 并且负责选择正确的j s p 页面来创建和显示动态内容。m o d e l 2 的体系结 构如图2 6 所示。 w 曲服务器 应用服务器和数据服务 图2 6 j s p 的m o d e l 2 体系结构 m o d e l 2 的目的和m v c 一样,也是利用控制器来分离模型和视图,达到一 种层间松散耦合的效果,提高系统灵活性、复用性和可维护性。它确立了丌发人 员与网页设计者的角色分工,减轻了开发人员的工作量,使得丌发人员不必考虑 繁琐的网页设计,而只专心于商业事务的开发和后台处理工作。网页设计者也可 以轻松的改变程序的外观而不需要知道后端s e r v l e t 的工作方式。在实际应用中, 项目越复杂,使用m o d e l 2 的优势就越大。 2 2 4m v c 模式的优点 m v c 模式常用于以下几个方面:分布式应用;大型应用;生命周期长的应 用;界面和后台的可移植性非常重要的地方;数据必须使用多对方法进行观察和 操作的地方;对多开发人员支持同步、模块化开发;允许根据技能进行工作的分 工:简化单元测试;使用在不同应用中可重用的企业b e a 。 通过上面的分析,我们可以看到使用m v c 模式进行系统设计可以获得以下 优点: 1 设计清晰:用模型中的方法来操作它的数据和状态,很容易理解如何来 控制模型的行为。当没计一个应用时,这种方式将使整个程序更加容易执行和维 护。 2 模块的有效性:如果需要,任何组件甚至整个模块都可咀换进换出,视 图、控制器或模型的程序改变不会都影响到其他方面。不同的组件丌发能够同时 进行。 3 代码和设计的复用性:广泛采用可复用的组件,能够降低新项目的开发 口曰 基丁j 2 e e 的物流信息系统的设计与实现 成本,通过对设计的复用,使得开发小组之间更易于沟通,设计的系统更易于理 解。 4 易于维护:控制器和视图可以随着模型的扩展而进行相应的扩展,只要 保持一种公共的接口,控制器和视图的旧版本也可以使用。 5 功能强大的用户界而:用户界面与模型方法调用组合起来。发送给模型 的“标准”命令,都足由单个用户行为触发的。这就使得程序可以使用更加清晰 友好的界面发布给用户。 6 允许多种用户界面的扩展:在m v c 模式中视图与模型没有必然的联系, 都是通过控制器发生关系。如果要增加新类型的用户界面,只需要改动相应的视 图和控制器即可,而模型则无需发生改动。 2 3 基于j 2 e e 和m v c 开发多层w e b 应用 即使利用最先进的软件平台j 2 e e ,丌发多层w e b 应用仍然是个难题。在基 于组件的j 2 e e 平台充分内置了灵活的情况下,如何组织应用程序以实现简单高 效的应用程序升级、维护和扩展,以及如何让不懂程序代码的人员避开程序数据, 成为我们首先要解决的问题。我们既要充分考虑到多层结构中各层之l 、日j 需要密切 配合才能完成最终功能,又要在实际开发中尽可能的使各层的开发相对独立,减 少各层之间的耦合程度,避免开发人员相互制约,同时还必须考虑如何提高系统 的效率。【1 7 】 m v c 是设计交互式应用时广泛采用的一种设计模式,也是j 2 e e 蓝图推荐 的在开发w e b 应用时使用的方法。m v c 模式分离了数掘的控制和数据的表现。 由于不存在耦合,将多数据集表述在多视图中就变得很容易,同时也使得为新的 客户类型提供支持更为简单。使用这种结构,代码冗余被最大限度地减少。对于 开发人员柬讲,可以分清开发者的责任:程序设计人员可以专注于业务的处理, 网页设计人员专注于用户交互的界面。基于j 2 e e 平台和m v c 设计模式,可以 容易的构建可复用的软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论