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

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

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

文档简介

摘要 随着信息技术和i n t e r n e t 技术的发展以及市场竞争的加剧,物流行业中计算 机应用也得到了飞速的发展,建立一个反应迅速、智能灵活、安全可靠的物流 信息系统对当前的物流行业具有非常重要的意义。为此本文设计出一种基于 m v c 模式的w e b 应用体系结构为企业构建物流信息系统。 本论文的研究是以某企业物流信息系统为设计背景而展开的。论文利用现 有的w e b 技术,整合s t r u t s 2 、s p r i n g 和h i b e r n a t e 三个框架技术来设计实现企业 级的w e b 应用,研究并实现了一个物流信息系统,同时对系统中用户权限的控 制采用了基于角色的访问控制r b a c 思想来解决。论文的主要工作包括以下内 容: 1 介绍物流信息系统的概念以及传统物流信息系统开发的不足,在基于 m v c 模式及j a v ae e 企业级应用开发平台技术上,结合三个流行的开源框架 技术提出了一种多层b s 模式的物流信息系统模型。 2 详细分析了该企业的业务流程及系统需求,根据系统的设计原则和功能 目标进行总体架构,给出了系统的总体设计和功能模块的划分,并结合r b a c 思想对系统管理模块中用户权限控制进行了详细设计。 3 根据系统的设计原则,在具体实现该企业物流信息系统时,结合三个开 源框架技术设计了一个基于m v c 模式的、分层的、低耦合的框架结构,利用 s t r u t s 2 、s p r i n g 、h i b e r n a t e 三个框架技术分别实现了系统的表示层、业务逻辑层 及对象持久化方案。 4 为了保证系统的整体风格,利用s i t e m e s h 页面装饰框架来实现用户界面 的统一,并在整个系统的实现过程中按分层思想进行测试以确保系统的可靠性。 论文的重点之处在于通过对s t r u t s 2 、s p r i n g 和h i b e r n a t e 三个开源框架技术 的整合,构建出适合中国国情的中小型企业物流信息系统架构,并将其运用于 实践中。实践表明,该整合框架层次结构清晰、耦合度低,简化了开发工作, 增强了系统的可维护性和可扩展性,达到了分布式物流信息系统的设计目标。 关键字:m v c ,s t r u t s 2 ,s p r i n g ,h i b e r n a t e ,物流信息系统 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ei n f o r m a t i o nt e c h n o l o g ya n dt h e c o m p u t e r t e c h n o l o g y ,t h em a r k e t sc o m p e t i t i o ni n t e n s i f i e s n ea p p l i c a t i o no fc o m p u t e ri nt h e l o g i s t i c si n d u s t r ya l s og o tt h ed e v e l o p m e n ta tf u l ls p e e d i th a sav e r yi m p o r t a n t s i g n i f i c a n c et oe s t a b l i s har a p i dr e s p o n s e ,i n t e l l i g e n c e ,f l e x i b i l i t y ,s e c u r i t yl o g i s t i c s i n f o r m a t i o ns y s t e m s oaw e ba p p l i c a t i o na r c h i t e c t u r eb a s e do nm v c p a t t e r ni s d e s i g n e df o re n t e r p r i s et oc o n s t r u c tl o g i s t i c si n f o r m a t i o ns y s t e m n et h e s i si sb a s e do nt h er e s e a r c ho fg w m s i n t e g r a t e dt h ew e bf r a m e w o r ko f s t r u t s 2 ,s p r i n ga n dh i b e r n a t et od e s i g na n dr e a l i z ee n t e r p r i s ea p p l i c a t i o n ,a l s ou s e d r b a c t h e o r yt os o l v et h ep r o b l e mo fu s e r sa u t h o r i t i e si nt h i sa p p l i c a i o ns y s t e m i t s m a i nt a s k si n c l u d e d : f i r s t ,t h et h e s i si n t r o d u c e dt h ec o n c e p to fl o g i s t i c si n f o r m a t i o ns y s t e ma n dt h e s h o r t a g e o ft r a d i t i o n a ll o g i s t i c si n f o r m a t i o ns y s t e m ,p u tf o r w a r dt os t r u c t u r e l o # s t i e si n f o r m a t i o ns y s t e mo fam u l t i t i e rb sm o d e la f t e rr e s e a r c h e dd e e p l yo f 】蝌入e e ,m v cp a t t e r na n dt h eo p e n i n gs o u r c ef r a m e w o r ko fs t r n t s 2 ,s p r i n ga n d h i b e r n a t e s e c o n d ,a n a l y z e dd e e p l yt h eb u s i n e s sp r o c e s sa n ds y s t e mr e q u i r e m e n t s , a c c o r d i n gt od e s i g np r i n c i p l e sa n df u n c t i o ng o a l s ,t h eg e n e r a lf r a m e w o r ko ft h e g w m sl o g i s t i c si n f o r m a t i o ns y s t e mb eg i v e n ,a n dt h es y s t e ma n df u n c t i o n a lm o d e l b ed e s i g n e d d e s i g n e du s e r sa u t h o r i t yi n t h es y s t e mm a n a g e m e n ts u b m o d e lo f g w m sl i s b yr b a c t 1 l i r d ,a c c o r d i n gt ot h es y s t e m sd e s i g n ,r e a l i z e dt h eg w m sl i sb a s e do nm v c p a t t e r nw i t ht h ei n t e g r a t e df r a m e w o r kt e c h n o l o g y w h i c hm a d eu po fs t r u t s 2 ,s p r i n g a n dh i b e r n a t e :t h ep r e s e n t a t i o nl a y e ri sc o n s t r u c t e dw i t hs t r u t s 2 ,t h ep e r s i s t e n c el a y e r i sc o n s t r u c t e dw i t hh i b e r n a t ea n dt h eb u s i n e s ss e r v i c e l a y e ri s c o n s t r u c t e dw i t h 一 s p n n g f i n a l l y ,u s e dt h es i t e m e s hd e c o r a t o rf r a m e w o r kt ou n i f i e dt h eg w m sl i s ss t y l e , a n dt e s t e dc o d e sb yl a y e rt og u a r a n t e et h e r e l i a b i l i t y o ft h eg w m sl o g i s t i c s i n f o r m a t i o ns y s t e m f o c u so ft h et h e s i si st oc o n s t r u c tag e n e r a lf r a m e w o r kf o rr e a l i z i n gt h es m a l l a n dm e d i u ml i sw i t hc h i n e s ec o n d i t i o n sn a t i o n a lb yi n t e g r a t i n gs t r u t s 2 ,s p r i n g , h i b e r n a t ef r a m e w o r kt e c h n o l o g i e s i th a sb e e np r o v e dt h a tt h eg e n e r a lf r a m e w o r kh a s c h m c t e 体o fc l e a n e rs t r u c t u r e ,l o o s e rc o u p l i n g ,l e g i b l e ,s i m p l i c i t yo fc o d i n g , f i l n h e 瑙 t h ed e v e l o p i n ge f f i c i e n c yo ft h ew e b a p p l i c a t i o ns y s t e m k e yw o r d s :m v c ,s t r u t s 2 ,s p r i n g ,h i b e r n a t e ,l o g i s t i c si n f o r m a t i o ns y s t e m 1 1 1 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其它人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中明确的说明并表示了谢意。 研究生签名:虹日期划 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 内容,可以采用影印、缩印或其它复制手段保存论文。 研究生签名: ( 保密的论文在解密后遵守此规定) 导师签名:2 虱塑兰日期立划 武汉理工大学硕士学位论文 1 1 选题背景 第1 章绪论 随着信息技术和网络技术的发展,物流信息化经历了从无到有的过程,信 息化是现代物流发展的必由之路,也是电子商务的必然要求【1 1 。物流信息化,就 是物流信息的商品化、数据化、代码化、物流信息处理的电子化和计算机化, 是物流信息传递的标准化和实时化、物流信息存储的数字化。利用信息技术和 网络技术来构建物流信息系统是实现物流信息化的最有效方式。 物流信息系统( l i s ,l o g i s t i e si n f o r m a t i o ns y s t e m ) 1 2 的主要任务是最大限 度地利用现代计算机及网络通信技术进行信息管理,使企业通过对数据的分析 与应用,寻找规律,辅助决策,从而使得企业与上游供应商、下游分销商的合 作更加协调。通过实施物流信息系统,企业可以在整个生产流程中展开全面的 物流规划,提高物流经营管理水平,优化物流流程设计与控制物流作业等活动【引, 提高企业在经济高速发展社会中的核心竞争能力。 1 2 国内外发展现状 国外物流业已经有半个多世纪的发展历史,早在电子商务发端之初,就已经 具有了比较完备的现代化物流体系作为支撑。从传统的物流到现代企业一体化 物流,物流的现代化水平已成为了一个国家综合国力的重要标志之一。 物流信息化的发展大致分为四个阶段【4 】:( 1 ) 2 0 世纪7 0 年代,物流信息化 仅表现为少数企业利用e d i ( e l e c t r i cd a t ai n t e r c h a n g e ,电子数据交换) 传递相 关的物流单证;( 2 ) 2 0 世纪8 0 年代,物流信息化的实现主要依赖条形码技术 与电子扫描技术、e d i 及便利商务数据传输等信息技术的使用,物流作业结束了 纯手工操作;( 3 ) 2 0 世纪9 0 年代,随着图像、声音和文字信息的传输越来越 普及,声控技术、卫星通信的实时跟踪技术改变物流操作过程,企业开始在内 部实施物流信息系统,但系统实现是基于c s ( c l i e n t s e l v e r ,客户端服务器端) 模式的:( 4 ) 目前物流信息化已经提升到企业战略的高度,物流信息传输要求 武汉理工大学硕士学位论文 实时性、共享性,物流活动具有网络化、全球化的趋势,物流信息系统正从c s 向b s ( b r o w s e r c l i e n t ,浏览器朋匣务器) 模式进行转变。 物流信息系统是计算机技术发展的产物,系统开发涉及到多项技术的融合, 例如:网络开发技术、数据库技术、信息安全技术、中间件技术、工作流技术 等等,因此物流信息系统是一个庞大的系统工程。目前物流信息系统软件的开 发没有标准的规范遵循,大部分都是购买国外现成的软件,并不很适合我国的 国情,而国内自己开发的系统存在结构混乱、模块体积庞大、效率低、耦合度 高、代码重用率低等问题,导致现在很多物流信息系统重复开发,系统功能可 扩展性差,稳定性和可靠性低等弊端,因此致力于物流信息系统研究,开发出 适合中国国情的中小型企业物流信息系统具有重要的意义。 近年来,随着j a v ae e ( j a v ae n t e r p r i s ee d i t i o n t m ) 技术平台的日趋完善及 广泛应用,基于b s 多层体系结构的w e b 应用程序已经成为分布式系统的首选 模式,强烈的冲击着传统的c s 体系结构。在此环境下,物流信息系统的开发 也逐渐向b s 模式靠拢。基于j a v ae e 平台技术的发展和m v c ( m o d e l v i e w c o n t r o l l e r ,模型视图j 空制器) 模式的提出,出现了多种框架模型,简化了应用 程序的开发,这些新的技术为物流信息系统的开发提供完善的框架,成功的解 决了物流信息系统开发中出现的许多问题。 1 3 课题研究意义 物流信息系统是推动企业实现物流和信息一体化的重要系统工程,它有利 于企业实现信息共享,协同部门间业务,减少流动资金占用,加快资金周转, 降低企业物流成本,为企业与供应商、销售商、客户间建设物流信息网络和完 善供应链体系奠定了良好的基础。通过成熟的w e b 框架技术快速构建物流信息 系统,能够发挥网络的巨大优势,确保系统的先进性、可扩展性、易于维护和 满足个性化需求;同时也积极促使物流信息系统从单纯应用型向辅助决策型转 变,符合企业发展的战略目标。 从i r 技术角度出发,物流信息系统的实现涉及到多项技术的融合,如何利 用现有的软件技术平台,快速构建一个符合我国国情和适合中小企业发展的物 流信息系统对于开发人员来说,极具挑战性,同时也势必极大的推动计算机技 术在行业背景中的研究与应用。 2 武汉理工大学硕士学位论文 1 4 课题研究内容及论文组织结构 课题主要研究内容包括以下几个方面: 1 对现有信息系统开发技术j a v ae e 、m v c 设计模式、s t r u t s 2 框架、s p r i n g 框架和h i b e r n a t e 框架分析和研究。 2 详细分析物流信息系统的需求并设计该系统。 3 提出基于s t r u t s 2 、s p r i n g 和h i b e r n a t e 的整合框架实现方案,运用s t r u t s 2 框架技术设计与实现系统表示层:运用s p r i n g 框架技术轻量化系统业务逻辑层; 运用h i b e r n a t e 框架技术设计与实现系统持久层,并运用该整合框架技术设计实 现某企业物流信息系统。 论文的组织结构如下: 第1 章绪论。绪论部分简要介绍了物流信息系统的发展、国内外开发物流 信息系统的技术现状,以及该系统的实现对物流信息系统重大实践意义。 第2 章基于m v c 模式物流信息系统相关技术。本章从b s 模式的分布式 体系结构分析开始,对j a v ae e 平台技术分别从体系结构和四层模型基础上进 行了研究,对m v c 设计模式及s t r u t s 2 、s p r i n g 、h i b e r n a t e 三种开源框架技术进行 了系统的阐述,为开发基于s t r u t s 2 、s p r i n g 、h i b e r n a t e 框架的三层整合框架做了 深入理论研究。 第3 章物流信息系统的需求分析与设计。本章具体以某企业物流信息系统 为例详细分析了物流信息系统需求和系统应实现的功能,并对数据库做了详细 设计。 第4 章物流信息系统的实现。通过对s t r u t s 2 、s p r i n g 和i - i i b e m a t e 三个框架 的整合:利用s t r u t s 2 框架实现系统表示层,s p r i n g 框架构建系统业务逻辑层, h i b e r n a t e 框架实现系统持久层,并运用该整合框架技术分别从表示层、业务逻 辑层和持久层对系统进行了实现。 第5 章系统的测试。从分层的角度对系统进行测试,以确保系统的可靠性 和正确性。 第6 章总结与展望。本章对论文的主要工作进行总结,并指出了下一步研 究工作的重点,展望了未来物流信息系统发展方向。 3 武汉理工大学硕士学位论文 第2 章基于m v c 模式物流信息系统相关技术 2 1 物流信息系统的相关技术 2 1 1b s 模式的分布式体系结构 分布式信息系统是指以计算机网络为基础,将系统的数据与功能分布在地 理上不同位置,通过自然的数据与功能连接而进行辅助决策的信息系统1 5 j 。c s 和b s 模式是最常见和应用最广泛的两种信息分布式系统模型。 在应用程序发展的早期,传统的应用系统开发普遍采用c s ( c l i e n t s e r v e r , 客户端服务器端) 两层体系结构,其中客户端负责向用户提供操作界面,接受 用户输入数据信息,通过请求( r e q u e s t ) 向服务器端发送数据,接受服务器端 的响应( r e s p o n s e ) ,并将响应结果向用户显示。服务器端主要负责被动接受客 户端的请求,接受数据并进行响应的逻辑处理,以及数据持久化工作,并发送 响应,将处理结果返回给客户端【6 l 。这种c s 两层体系结构是一种通用的,基于 消息的模块化结构,其结构比较简单,只适用在专用的或者小范围的局域网内 部,面向于特定的用户群,不适应更广阔的网络应用环境;另外,由于c s 体 系结构决定了必须在用户机器上安装客户端应用程序,因此增加了系统开发和 维护的难度,从而增加了系统开发的成本。 组件技术和应用服务器技术的出现为企业级网络分布式应用提供了很好的 技术支持,在这种局面下,多层b s ( b r o w s e r s e r v e r ,浏览器服务器) 结构【7 l 应运而生,客户机的规模被压缩,成为一个简单的浏览器;应用逻辑被集中起 来,置于一个或多个服务器上。如图2 1 所示,便是一个主流的基于多层b s 构 架的企业系统结构图。 w e b1 3 r o w l l t l 第一层 一9 w e bs e r v e r d a d s b s s es e r v e r j g - - 层 第三层 图2 - 1b s 三层体系结构 4 武汉理工大学硕士学位论文 客户端浏览器( b r o w e r ) 负责为用户提供友好的交互界面,搜集用户输入 参数,向w e b 服务器( w e bs e r v e r ) 提交h 1 曙请求( h t r pr e q u e s t ) ,并将 请求参数传送给w c b 服务器。 w e b 服务器主要负责业务逻辑处理,接受h 1 曙请求参数,调用响应的方 法进行逻辑运算,并可以根据用户需要访问数据库服务器( d a t a b a s es e r v e r ) 。 在业务逻辑处理完毕后,w e b 服务器将处理结果通过帅响应( h t r pr e s p o n s e ) 发送给浏览器显示给最终用户。 相对于c s 体系结构,多层b s 体系结构能够分散服务器的压力,增强系 统的可扩展性,使应用系统具有良好的可重用性和可维护性,同时简化客户端, 减少维护费用,其多层的体系结构使得企业的系统更稳定、更健壮,满足系统 不断增长的业务量需求。因此,基于c s 结构的企业应用系统正逐渐被以应用 服务器技术为特点的多层b s 体系结构所取代。 2 1 2j a v ae e 平台技术 2 1 2 1 基于j a v ae e 的w c b 多层体系结构 j a v ae e ( j a v ae n t e r p r i s ee d i t i o n t m ) 是s u n 公司最近定义的一个开发分布 式企业级应用的规范,增加了很多新的功能,例如支持j s f ( j a v a s e r v e rf a c e s ) 表示层框架等。它的目标是提供与平台无关、可移植、支持并发访问安全和完 全基于j a v a 的开发服务器端中间件的标准。j a v ae e 不是j a v a 2 标准版( j 2 s e ) 的替代品,它不再象以前那样只注重大型商业系统的开发,而是更关注小到中 型系统的开发,简化了这部分系统开发步骤。 j a v ae e 服务器以容器的形式为所有的组件类型提供后台服务。将一个完 整企业级应用的不同部分纳入不同的容器( c o n t a i n e r ) ,每个容器中都包括若干 组件。j a v ae e 组件可以安装部署到以下几种容器中( j a v ae e 的架构如下图 2 2 所示) 。 1 w e b 容器。管理所有j a v ae e 应用程序中j s p l 4 5 l ( j a v as e r v e rp a g e s ) 页面和s e r v l e t 组件的执行。w e b 组件和它们的容器运行在j 2 e e 服务器上。 2 e j b 容器。管理所有j a v ae e 应用程序中企业级b e a n 的执行。e j b ( e n t e r p r i s ej a v a b e a n s ) 和它们的容器运行在j a v ae e 服务器i - _ s l 。 3 应用程序客户端容器。管理所有j a v ae e 应用程序中应用程序客户端 5 武汉理工大学硕士学位论文 ,、 一,、 、。 i p p - c l 一一、。_j j s ps e r v l e t a p p l e t 容器 w e b 容器 应用程序客 1卜、 $ 4卜、 r 叫r 数据库 户端 e j be j b 应用程序客户端容器 啪容器 客户端机器 、 j a v a e e 服务器 , 、一一一 图2 2j a v ae e 体系结构 组件的执行,应用程序客户端和它们的容器运行在j a v ae e 服务器上。 4 a p p l e t 容器。是运行在客户端机器上的w e b 浏览器和j a v a 插件的结合。 通过这四个容器,j a v ae e 能够灵活地实现企业级应用架构,业务逻辑被 封装成可复用的组件,并且j a v ae e 服务器以容器的形式为所有的组件类型提 供后台服务。这种基于组件、具有平台无关性的可复用的组件,使得j a v ae e 程序的编写十分简单。 2 1 2 2j a v ae e 的四层模型 j a v ae e 提供了一个多层次的分布式应用模型和一系列开发技术规范,其 中多层次分布式应用模型是指根据功能把应用逻辑再进行细分,每个层次支持 相应的服务器和组件,组件在分布式服务器的组件容器中运行,容器间通过相 关的协议进行通讯,实现组件间的相互调用,以下是j a v ae e 典型的w e b 多层 模型结构,如图2 3 所示,其中: 客户层可以是桌面应用程序,也可以是基于w e b 的应用程序,主要负责向 最终用户提供友好的可视化交互界面。 w e b 层产生表示逻辑。根据用户请求,接受请求参数,并调用业务逻辑层 处理请求,在获得处理结果后动态生成表示单元返回给客户层浏览器。j a v ae e 平台为w e b 层提供了j s p 、s e r v l c t 组件及w e b 容器一应用服务器。j s p 和s e r v l e t 组件接受用户请求,并根据逻辑处理结果产生动态的显示页面。应用服务器则 负责对j s p 、s e r v l e t 等组件的管理工作。 业务层主要负责处理应用的核心业务逻辑,以满足特定业务领域的业务逻 辑处理需求。j a v ae e 平台为业务层提供了e j b 组件及e j b 容器。由于e j b 本 6 武汉理工大学硕士学位论文 图2 3 基于j a v a e e 的w e b 多层体系结构 身也存在内部结构复杂、体积庞大的缺点【9 】,因此在一般企业级应用系统中不建 议采用e j b 作为业务层的处理组件,而是建议进行轻量级开发,从而降低程序 开发难度。 企业信息系统层( e i se n t e r p r i s ei n f o r m a t i o ns y s t e m ) 是处理企业数据信息 的系统软件,包括e r p 、数据库系统等等。主要负责对企业数据信息的管理、 存储等持久化工作。本文所要介绍的物流信息系统主要采用数据库系统。 j a v a e e 通过提供统一的开发平台,降低了开发多层应用的费用和复杂度, 同时提供对现有应用系统集成的有力支持【埘。 2 1 3m v c 设计模式 设计模式是情境中标准设计问题的重复性解决方案【1 l j ,都是从实践经验中 抽象而来,它不仅描述对象,而且描述对象之间的通信方式,存在于不同级别 的抽象,并可以重用,帮助设计者更快更好的完成系统设计。 为了有效地提高分布式应用系统中组件的充用能力和对事物控制的灵活 性,依据系统的用户界面、业务逻辑以及业务流程控制的分层思想,提出了一 个松散耦合应用程序解决方案:m v c ( m o d e l v i e w c o n t r o l l e r 模型视图控制器) 设计模式f 1 2 j ,它源于传统的面向对象语言s m a l l t a l k 8 0 ,其基本思想是将应用数 据和业务逻辑、数据的表示以及数据的交互相分离,即分离为三个不同的实体, 主要有:模型( m o d e l ) 、视图( v i e w ) 和控制器( c o n t r o l l e r ) ,如图2 4 显示 m v c 模式三个主要组成部分及其关系: m v c 模式的处理过程:首先控制器接受用户的请求,并决定调用模型进行 7 武汉理工大学硕士学位论文 方法调用一一- 事件 图2 4m v c 设计模式【1 3 i 处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控 制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户1 1 4 1 。 视图( v i e w ) :表示模型的状态,是应用系统的外观。对应w e b 应用中的 用户界面层,负责向用户提供友好的、交互的界面。视图元素通过浏览器展示 给用户,这些视图元素可以是h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ) ,也可以 为x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 或者a p p l e t 。在m v c 模式下视图不应 当处理数据,其工作仅限于对视图上数据的采集和处理以及接受用户的请求, 然后将用户的请求提交给控制器处理并向用户显示所获得的返回信息,当模型 层返回数据发生变化时,视图也要自动更新,以便维持系统数据的一致性【1 5 1 。 模型( m o d e l ) :业务逻辑层,处理业务逻辑和数据访问,即业务流程和业 务规则都属于模型部分。模型接受视图的请求数据,然后将处理的结果返回给 视图,是用来实现具体功能的模块,是应用程序的主体部分。模型包含了应用 程序的核心,它封装了应用程序的数据结构和事务逻辑,集中体现了应用程序 的状态,但它并不了解视图和控制器的信息。一个模型可以为多个视图提供数 据,多个视图的不同显示通过c o n t r o l l e r 层的控制调度实现1 1 6 1 。此外,所有属于 系统持久化状态的数据都应该保存于模型对象中。一个模型的接口提供了访问 和更新模型状态以及执行封装在模型中复杂进程的方法。当模型发生变化时模 型就会通过控制器通报视图。 8 武汉理工大学硕士学位论文 控制器( c o n t r o l l e r ) :流程控制层,定义了系统的行为,所实现的行为包 括业务处理和修改模型状态。控制器是联系模型和视图之间的纽带,它控制模 型与视图之间的交互过程。一方面控制器接受来自系统视图层的用户参数信息, 并将其组装转换为系统模型层所能够解释的数据或者事物对象,同时控制器也 将识别用户的动作,将其解释为对m o d e l 层的方法调用;另一方面,控制器会 调用适当的v i e w 层组件将m o d e l 层的逻辑处理结果向用户显示反馈信息。 在m v c 模式中,存在三个十分重要的关系:v i e w 和m o d e l 之间的关系、 c o n t r o l l e r 和m o d e l 之间的关系以及c o n t r o l l e r 和v i e w 之间的关系。视图和 模型之间有如下关系:当模型中的数据状态发生了变化,模型会通知视图数据 有更新,视图则重新请求数据,正确显示模型数据;每一个视图在显示给用户 时,都要求去查询模型或者访问模型中封装的方法和数据,一个模型可以对应 多个视图,同时,也可以为一个模型创建新的视图而无需修改模型。而控制器 和模型之间的关系相对比较简单,即控制器只负责向业务处理模型转交用户的 请求。控制器和视图之间的关系如下:视图可以向控制器提交用户的请求,而 控制器可以选择显示的视图,也可以决定视图应该显示什么,同时也能够决定 是否接受视图提交的用户请求。 因此,在物流信息系统开发过程中,采用m v c 模式,能够将应用逻辑、处 理过程和显示逻辑分成不同的组件来实现。通过三者之间的分离达到层次间的 松散耦合,以实现代码重用和易于修改,提高系统的灵活性、重用性和可维护 性,更易于实现大规模w e b 应用系统的开发和管理【r n 。 2 1 4 基于j a v ae e 和m v c 开发多层的w e b 物流信息系统 开发一个物流信息系统首先要考虑的问题是系统整体框架的特性及系统的 健壮性和可扩展性。基于j a v ae e 平台技术的w e b 多层体系结构具有以下优势: j a v ae e 企业级应用具备j a v a 语言“一次编写,处处运行”的先天性优势, 具有平台无关性;提供了完善的组件,提高了系统的可重用性、健壮性和稳定 性,节约了应用系统的开发成本,这些优势正好满足了物流信息系统的开发要 求。 如何提高系统的开发效率和系统的可重用性也是系统设计的重要问题。 m v c 是设计交互式应用被广泛采用的一种设计模式,也是j a v ae e 蓝图推荐 在开发w e b 应用时使用的方法1 1 9 】。m v c 模式分离了数据的控制和表示,由于 9 武汉理工大学硕士学位论文 不存在耦合,将多数据集表述在多视图中就变得很容易,同时代码冗余被最大 限度地减少。对于开发人员来讲,可以分清开发者的责任:程序设计人员可以 专注于业务的处理,网页设计人员专注于用户交互的界面。基于j a v ae e 平台 和m v c 设计模式,易于构建可复用软件系统框架,同时简化软件开发,提高软 件性能和可维护性,达到提高软件质量的目的【z 叭。 鉴于以上分析,本文将结合j a v ae e 多层体系结构和m v c 模式来设计某 企业物流信息系统,解决了该物流信息系统的体系结构问题。 2 2s t r u t s 2 、s p r i n g 、h i b e r n a t e 框架技术 随着软件系统的复杂程度增加,软件系统的架构( a r c h i t e c t u r e ,体系结构) 1 2 1 】设计显得越来越重要。在设计模式中,框架是一组协同工作的类或模块,它 们为特定类型的软件构筑了一个可重用的设计【2 4 1 ,这些类或模块之间以特定的 方式合作,彼此不可缺少。可以说,一个框架是一个可复用的设计组件,它规 定了应用的体系结构四l ,阐明了整个设计、协作组件之间的依赖关系、责任分 配和控制流程,表现为一组抽象类及其实例之间协作的方法,它为组件复用提 供了上下文关系。框架具有成熟性、稳健性、可复用性、可扩展性、易维护和 可移植性【2 2 j 等优点,因此使用框架可以降低开发成本、缩短开发周期,可以处 理系统很多细节问题,比如:事务处理、安全性、数据流控制等问题。 2 2 1s t r u t s 2 框架 s t r u t s 2 框架是传统s t r u t s1 和w e b w o r k 结合后的框架m ,是以w e b w o r k 优秀的设计思想为核心,突破了s t r u t s l 原有的局限性。在s t r u t s 2 中,除了支持 j s p 作为表示层技术之外,它还整合了j s f 和a j a x ( a s y n c h r o n o u sj a v a s c r i p ta n d x m l ) ,这些对于开发人员用来设计富客户端都是很有优势的;另外,因为继 承了w e b w o r k 的设计思想,在s t r u t s 2 中可以使用大量拦截器来处理用户请求, 从而用户的业务逻辑控制器可以与s e r v l e ta p i ( a p p l i c a t i o np r o g r a m m i n g i n t e r f a c e ) 分离,实现了业务逻辑控制器与s e r v l e ta p i 的低耦合,提供了在c s 模式下进行代码测试的可行性。 1 0 武汉理工大学硕士学位论文 2 2 1 1s t r u t s 2 的体系结构 s t r u t s 2 是在m o d e l 2 的基础上实现的一个m v c 架构。它只有一个中心控制 器,采用x m l 定制转向,使用a c t i o n 调用业务处理逻辑。s t r u t s 2 由s e r v l e t 、 标签库、实用类库等构成,提供了自己的控制器,同时整合了其它的一些技术 实现m o d e l 层和v i e w 层。在模型层s t r u t s 2 很容易与数据库访问技术结合,如 j d b c 和o j b 等:在视图层s t r u t s 2 能够与j s p 、v e l o e i t y 、s i t e m e s h 、j s f 等表 示层组件结合。下面就分别从模型、视图和控制器角度来研究s t r u t s 2 的体系结 构。s t r u t s 2 框架体系结构【2 5 】响应客户请求的时候各个部分的工作原理如下图2 5 所示: l 圈m 崤隶 a a i o n c e n t 矗t c l e a n u p 其他过滤器( 如两t e m 矗h 等) s t r u t s 2 的核心控制嚣:f i l t e r d i s p a t c h e r。 t a c t i o n 映射器 + a t t i o n 映射署 、 a c t i o n 代理 厂飞氟矿 l 拦截器2 s t r u t s 2 标签库 倒如i t t m l 、 拦截嚣3 配置管理嚣 f o r e s , d 螺 a c t i o n l 上、 - 1 、r e s u l t 视图模板 i j s p l f r e e m a r k e r 7 拦截器3 , d g i - - - - i 等等 拦截器 拦藏墨l 一啪r r p 响应 1 、 l 、 图体系结构1 2 5 1 1 从视图角度。允许使用其它的模板技术,如 、 作为视图技术,还提供了自定义的标签库,通过这些自定义标签 武汉理工大学硕士学位论文 可以非常好的和系统的模型部分交互。当s t r u t s 2 的控制器返回逻辑视图名时, 逻辑视图并未与任何的视图技术关联,仅仅是返回一个字符串,该字符串作为 逻辑视图名。在s t r u t s x m l 中配置a c t i o n 时,不仅需要指定a c t i o n 的n a m e 属性 和c l a s s 属性,还要为a c t i o n 元素指定系列r e s u l t 子元素,每个r e s u l t 子元素定 义一个逻辑视图和物理视图之间的映射。 2 从控制器角度。在s t r u t s 2 框架中f i l t e r d i s p a t c h e r 是核心控制器,它用来 接受客户端的请求。对于业务逻辑操作则由a c t i o n 来扮演了真正的逻辑控制实 现者:a c t i o n 所处理的u r l ( u n i f o r mr e s o u r c el o c a t o r ,统一资源定位) ;a c t i o n 组件所对应的实现类:a c t i o n 里包含的逻辑视图和物理资源之间的对应关系。每 个a c t i o n 都要处理一个用户请求,而用户请求总是包含了指定u r l 。当f i l t e r d i s p a t c h e r 拦截到用户请求后,根据请求的u r l 和a c t i o n 处理u r l 之间的对应 关系来处理转发。控制器的作用是从客户端接受请求,并且选择执行相应的业 务逻辑,然后把响应结果送回客户端。 3 从模型角度。s t r u t s 2 为模型部分提供了a c t i o n 对象,s t r u t s 2 不要求a c t i o n 类继承任何s t r u t s 2 基类,或者实现任何s t r u t s 2 接口,因此,s t r u t s 2 的a c t i o n 类是一个普通的p o j o 矧( p l a i no l dj a v ao b j e c t ,简单的j a v a 对象) 类,在a c t i o n 类里包含了与请求参数相对应的属性,并且为该属性提供对应的s e t t e r 和g e t t e r 方法,去掉了s t r u t s l 中的繁琐的f o r m b e a n 。用a c t i o n 实例来封装请求参数和 处理结果和封装具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适 的视图组件以产生响应。 s t r u t s 2 通过s t r u t s x m l 等配置文件将上面这些组件和对象关联起来一起工 作。 2 2 1 2s t r u t s 2 的基石拦截器 拦截器的设计思想与a o p l 2 翻 2 7 1 ( a s p e c to r i e n tp r o g r a m ,面向切面编程) 是 密切相关的,a o p 从程序运行角度来考虑程序的流程,取得业务处理过程的切 面,在特定切面通过系统自动插入拦截器的方法,实现了动态地拦截发送到指 定a c t i o n 的请求,并且在a c t i o n 执行的前后自动执行某些代码,也可以在一个 a c t i o n 执行前阻止其执行。 对于s t r u t s 2 框架而言,有一些通用功能对于所有的a c t i o n 都是必需的,例 如输入校验、解析文件、上传表单中的文件域等,传统方法就是通过在a c t i o n 武汉理工大学硕士学位论文 中分别调用不同的方法来实现这些需求,这种做法造成了该a c t i o n 与特定方法 高耦合,降低了a c t i o n 类的复用性,那么在s t r u t s 2 中将其配置成默认的拦截器 应用,把多个a c t i o n 中需要重复指定的代码提取出来,放在拦截器里定义,这 种方式解决了很多a c t i o n 类之间不必要的耦合,从而提供更好的代码重用性。 拦截器链( i n t e r c e p t o rc h a i n

温馨提示

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

评论

0/150

提交评论