(计算机应用技术专业论文)基于struts框架的企业办公系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于struts框架的企业办公系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于struts框架的企业办公系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于struts框架的企业办公系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于struts框架的企业办公系统的设计与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(计算机应用技术专业论文)基于struts框架的企业办公系统的设计与实现.pdf.pdf 免费下载

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

文档简介

y 中国农业大学硕士学位论文中文摘要 摘要 框架是特定应用领域中的面向对象软件重用技术,是由特定应用领域的软件体系结构所决定 的软件构架。应用框架可以降低软件开发的成本、提高软件质量随着面向对象技术、w e b 技术 和j 2 e e 技术的发展,软件框架技术在w e b 开发中得到了广泛应用。s t r u t s 作为一个开源的w e b 层框架,是m v c 及j 2 e e 若干核心模式的标准实现。方便了代码的编写和管理,适用于大型、 复杂的w e b 应用开发。本文即以o f f i c em a t e 企业办公系统的开发作为背景展开讨论。 论文分为四部分。第一部分介绍了课题的研究背景、企业办公系统的发展历程以及国内、外 的研发现状,从而引出o f f i c em a t e 企业办公系统的需求。第二部分分析了w e b 层应用程序的体 系结构、m v c 设计模式及实现;着重对基于s t r u t s 框架的w e b 应用系统的工作原理和主要开发 技术进行了探讨。第三部分介绍了o f f i c em a t e 企业办公系统的设计和实现,详细探讨了s t r u t s 框 架在系统实现中的运用,以及系统实现过程中的关键问题和解决方案。第四部分总结了课题研究 和系统建设过程中主要工作和未来工作展望。 关键词:j 2 e e ,m v c ,s t r u t s 框架,企业办公系统 中国农业大学硕士学位论文 英文摘要 a b s t r a c t f r a m e w o r ki sa p p l i c a t i o no fo b j e c t o r i e n t e ds o f t w a r er e u s et e c h n o l o g yi ns p e c i f i cd o m a i n sa n da s o 行w a r ua r c h i t e c t m ed e c i d e db ys p e c i f i cd o m a i n s f r a m e w o r k sc o n t r i b u t et os a v ec o s ta n de n h a n c e s o f t w a r eq u a l i t yd u r i n gd e v e l o p i n gp r o c e s s w i t hs o p h i s t i c a t e dt e c h n o l o g i e sl i k eo b j e c t - o r i e n t e d ,w e b a n dj 2 e eb e i n ga p p l i e d ,s o f t w a r ef r a m e w o r kt e c h n o l o g yi su s e de x t e n s i v e l yi nw e ba p p l i c a t i o n d e v e l o p m e n t a sab e s tp o p u l a ro p e n s o u r i f r a m e w o r k ,s t r u t sf r a m e w o r ki sas t a n d a r di m p l e m e n t a t i o n o fm v ca n ds o m ec o r ej 2 e ed e s i g np a t t e r n s ,w h i c hg r e a t l yf a c i l i t a t e sw r i t i n ga n dm a n a g i n gc o d e s s t r u t sf r a m e w o r ki se s p e c i a l l ys u i t a b l et od e v e l o pl a r g e - s i z ea n dc o m p l e xw e ba p p l i c a t i o n s t h et h e s i s d i s c u s s e sa p p l i c a t i o na n dr e s e a r c ho fs t m t sf r a m e w o r kw i t ho f f i c em a t ee n t e r p r i s eo f f i c ea u t o m a t i o n s y s t e m t h et h e s i sc o n s i s t so ff o u rp a r t s t h ef i r s tp a r ti n t r o d u c e si e s e a r f j lb a c k g r o u n d d e v e l o p i n gh i s t o r yo f o f f i c ea u t o m a t i o ns y s t e ma n dr e s e a r c hs t a t u si nq u oi no r d e rt op r e s e n tg e n e r a lr e q u i r e m e n t so fo f f i c e m a t ee n t e r p r i s eo f f i c ea u t o m a t i o ns y s t e m t h es e c o n dp a r tf o c u s e so nh o l i s t i ek n o w l e d g eb o d yo fw e b a p p l i c a t i o n s ,l i k ew e ba p p l i c a t i o na r c h i t e c t u r e ,m v cd e s i g np a t t e ma n di t sj 2 e ei m p l e m e n t a t i o n w e l la sw e bt i e rf r a m e w o r k s ,e m p h a s i z e sa r c h i t e c t u r e , w o r k i n gp r i n c i p l e sa n dc r u c i a lt e c h n o l o g yo f s t r u t sf r a m e w o r k t h et h i r dp a r td e s c r i b e ss y s t e ml e v e la n a l y s i sa n dd e s i g no fo f f i c em a t es y s t e ma s w e l la si m p l e m e n t a t i o np r o c e d u r eo ft h es y s t e mb a s e do nt h es t r u t sf r a m e w o r k ,d i s c u s s e ss o l u t i o n st o s o m ek e yi s s u e sd u r i n gs y s t e mb u i l d i n g l a s tb u tn o tl e a s t ,t h et h e s i ss y n o p s i z e sa s s i g n m e n t s ,i s s u e s , a n do r i g i n a ii d e a si nr e s e 峨ha n ds y s t e mc o n s t r u c t i o na sw e l la sd e s i g n sf u t u r er e s e a r c hr o a d m a p s k e y w o r d s :j 2 e e ,m v c ,s t r u t sf r a m e w o r k ,e n t e r p r i s eo f f i c ea u t o m a t i o ns y s t e m n 插图和附表目录 图2 - 1 多层结构的w e b 应用程序一m 5 图2 - 2j 2 e e 多层应用结构一6 表2 - 1j 2 e e1 a 的容器6 图2 - 3m v c 设计模式m m 一一8 图2 - 4 模型1 的结构9 图2 - 5 模型2 的结构一“l o 图2 - 6j a v aw e b 应用的结构1 0 图3 - 1 框架在高层系统结构中的位置n 图3 - 2s p r i n g 框架的结构t 1 4 图3 - 3w e b w o r k 框架的结构和工作流程 图3 - 4s t r u t s 框架与w e b 应用的关系m 一 图3 s 模型2 的体系结构 1 5 1 7 1 7 图3 6s t r u t s 框架的体系结构- - m 一一一一1 7 图3 7s t r u t s 框架使用前后的比较1 8 表3 - 1s t r u t s 框架中的主要包一”1 9 表3 - 2s t r u t s 框架中的标签库m m 一1 9 表3 - 3s t r u t s 框架中的组件m ”1 9 图3 - 8s t r u t s 框架的工作原理2 l 图4 - 1o f f i c em a t e 企业办公系统的网络拓扑图“2 4 图4 2o f f i c em a t e 企业办公系统的模块结构图m m 2 6 图4 - 3 电子日历的类图一一一m 一2 9 表4 1p e r s o n a l c a l e n d a r 的表结构- 2 9 表4 - 2g r o u p c a l e n d a r 的表结构2 9 图4 - 4 通讯簿的类图m 3 0 表4 - 3p e r s o n a l c o n t a c t 的表结构一m 一3 0 表4 - 4g r o u p c o n t a c t 的表结构”3 0 图4 - 5 会议安捧设计的类图 表4 - 5m e e t i n g 的表结构一 表4 - 6 m e e t e r s 的表结构一表4 7m e e t i n g r o o m 的表结构 图4 - 6 考勤管理系统的用例分析 表4 8d e p a r t m e n t 的表结构一一一 表4 - 9d a i l y - 耳m e t r a c k i n g 的表结构 表4 - 1 0m o n t h _ t i m e t r a c k i n g 的表结构 表4 1 1s p e c i a l _ t i m e t r a c k i n g 的表结构 表4 - 1 2y e a r t i m e t r a c k i n g 的表结构 3 l 3 1 3 1 3 2 3 2 3 3 3 3 3 3 3 3 3 3 袭4 - 1 3s y m b o l 的表结构3 4 图4 7 用户信息管理予模块的类设计一一3 5 图4 - 8 用户注册予模块的类设计3 5 图4 - 9 用户登录子模块豹类设计3 6 v 中国农业大学硕士学位论文 插图和附表目录 表4 - 1 4u s e r m a n a g 的表结构一m m m m m m m m 3 7 图4 1 0 系统用户、角色和系统资源的关系m 3 8 表4 1 5r e s o u r c e8 9 表结构3 8 表4 - 1 6a c t i o n s 的表结构m 一一- 3 8 表4 1 7r e s a c t 的表结构一3 9 表4 - 1 8r i g h t s e t t i n g 的表结构一3 9 表4 - 1 9s y s l o g 的表结构”3 9 图5 - 1 用户注册子模块的结构图一m 一”4 2 图5 - 2 用户登录界面4 4 图5 - 3 用户注册界面4 4 图5 - 4 用户管理界面m ”4 5 图5 5 持久层的位置一t 一一4 9 图5 6o m a t e d b 通过数据源访问数据库一5 0 图5 - 6 软件的本地化和国际化的区别5 7 图5 - 7s t r u t s 框架实现的国际化m m 5 7 图5 - 8w e b 应用程序的输入,输出流5 8 v l 独创性声明 y7 7 4 :z 0 5 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其它人已经发 表或撰写过的研究成果,也不包含为获得中国农业大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示了谢意。 研究生签名 时间:多神,年二月1 4 h 关于论文使用授权的说明 本人完全了解中国农业大学有关保留、使用学位论文的规定,即:学校有权保留 送交论文的复印件和磁盘,允许论文被查阅和借阅,可以用影印、缩印或扫描等复制 手段保存、汇编学位论文。同意中国农业大学可以用不同方式在不同媒体上发表、传 播学位论文的全部或部分内容。 ( 保密的学位论文在解密后应遵守此协议) 研究生签名: 孑旅 时间:力矿乡一年占月一日 导师签名:孑勺力蠢瞬 时间:歹心年莎月,钿 中国农业大学硕士学位论文 第一章绪论 第一章绪论 办公自动化1 1 1 1 7 1 1 8 1 ( o f f i c e a u t o m a t i o n 。简称o a ) 是将现代化办公和计算机网络功能结合起来 的一种新型办公方式,利用计算机、网络、通信等技术。收集、处理、存储和传输信息以提高办 公效率和辅助决策,形成高效和智能的办公环境,使办公自动化、网络化、无纸化,实现协同工 作。0 a 是当前新技术革命中一个非常活跃、具有很强生命力的技术应用领域,是信息化社会的 产物。 随着软件规模和复杂度的不断升级尤其是面向对象技术、计算机网络技术、通信技术和多 媒体技术的发展,软件设计方法和开发环境产生了巨大变化,人们对软件的特性和基础结构有了 更深刻的认识。在设计理论和方法方面,系统总体结构设计和规格说明的重要性已远远超过算法 和数据结构。最近几年,我国办公自动化的研究和实践呈现出迅猛的发展势头,已经成为政府机 关、工矿企业、商业、高等院校和研究机构等单位的必备系统。 为了快速反应瞬息万变的市场行情,现代企业一般具备如下的特点p 】:随着市场的变化及时 修正计划执行中各种偏差:迅速有效地解决好本企业内部组织间的冲突:信息流畅、数据共享, 以真实的信息准确地支持上层决策。计算机网络和w e b 技术的迅速发展为现代企业提供了功能强 大的信息处理平台,使得o a 系统的体系结构、计算模式等必须与i n t e m e t 技术相融合。 1 1 课题研究背景 国内很多企业的日常办公还停留在手工操作上,大量信息得不到共享,为信息的管理、分类、 索引和使用带来相当大的困难。信息的大量冗余使得难以挖掘出有效数据以支持决策,增加了管 理的困难。尽管已有不少政府机关单位、大型企业开发了办公自动化系统,但大多采用以关系型 数据库为基础的m i s 系统或是在老版本l o t u s d o m i n o n o t e s 平台上开发的办公自动化系统由于 当时网络技术和信息管理软件的局限,已经不能满足现代企业的需要,如集成化程度低、资源共 享不充分、缺乏韧性、适应性差等。并且这些办公系统大多仅仅能提供文档的存储、管理、查询, 远远不能适应网络化信息时代的要求现代企业需要一个高度自动化的办公系统,该系统应该能 够显著提高办公效率、降低成本、充分利用资源、加快工作流程以及适应环境变化等 第一代o 伍c em a t e 企业办公系统采用w i n d o w sn t 、a s p 、s o l s c r v c t7 0 作为开发平台。 随着现代企业需求的不断变化,客户迫切需要一套信息采集、处理、传递与共享高度自动化的办 公系统,提高系统的功能性、可伸缩性、可用性、可扩展性以及可靠性为此,要求开发一套具 备跨平台、开放性、安全性高等特点的现代企业办公系统,并将企业的传统业务整合成面向w e b 的应用。 1 2 办公自动化系统的现状及分析 1 2 1 办公自动化系统的发展 自2 0 世纪8 0 年代中期至今,国内办公自动化系统经历了三个阶段8 0 年代中期的第一代办 公系统以个人电脑、办公套件为主要标志,实现了数据统计和文档电子化,完成了信息载体从纸 中国农业大学硕士学位论文 第一章绪论 质方式向电子方式的飞跃。从2 0 世纪9 0 年代中期开始,以l o t u sd o m i n o n o t e s 为代表的工作流 群件技术面世,并伴随网络通信技术的发展,第二代办公自动化系统以网络技术和协同工作技术 为主要特征,实现了收、发文从传统的手工方式向工作流自动化方式飞跃。2 1 世纪是知识经济的 时代,知识已经成为经济增长、社会发展及企业成长的关键性资源最大限度地掌握和利用知识 日益成为各单位信息化建设的核心。在这种背景下,以知识管理为核心的第三代办公自动化系统 应运而生。 1 2 a 办公自动化系统的研究现状 目前国内的大部分研究还处于如何利用第二代办公自动化系统、开发以工作流自动化为核心 的办公自动化系统上大多数采用l o m sd o m i n o n o t e s 开发平台。也有少数公司、大学和个人进 行第三代办公自动化系统的研究。目前,基于l o t u s d o m i n o n o t e s 平台的第二代办公自动化系统 应用在国内的一些单位、企业和学校中,如农业银行四川省分行办公自动化系统、宝钢办公自动 化系统等闭基于j 2 e e 体系结构的网上办公自动化系统也有很多,如北京市对外经济贸易委员 会的网上审批系统、山西省工商办公自动化系统和北京市公安部网上办公自动化系统等。 国外的办公自动化研究一直处于领先地位,第三代办公自动化系统得到了广泛支持。m m 公 司的l o t u sd o m i n o n o t e s 产品是用于开发办公自动化系统的主流平台【6 】,其它软件生产厂商也纷 纷开发自己的知识管理平台。 1 2 3 办公自动化系统实现技术的选择 办公自动化系统采用的实现技术总结起来有三大类:一是基于l o t u sd o m i n o n o t e s 平台二次 开发的系统。企业必须购买正版的许可证书,成本和系统维护代价昂贵,并且需要专业n o t e s 程 序员来进行各种设置和日常维护;第二种是由m i s 系统转变而来的,把日程表、会议、考勤、人 事等本应独立的模块组合在一起,再加上统一的用户认证和菜单界面调用,这种系统的缺点是各 模块之间无法实现互动i 第三种是采用j 2 e e 等分布式技术实现的系统,是近几年迅速增长的开 发平台。 l o t u sd o n 】i n o n o t c s 具有独特的体系结构,是一个集数据库、邮件系统、动态w e b 信息发布、 可视化集成开发环境于一体的基础平台。适合处理办公协作流程中产生的非结构化文档信息,并 可以利用灵活的邮件机制在用户、部门之间传递文档。但是l o t u sd o m i n o n o t e s 开发的o a 系统 需要安装客户端软件,存在维修、病毒等各种隐患。采用b s 结构,程序主要安装在服务器端, 员工只需要通过浏览器就可以使用各种功能服务器的损坏率是极低的,这样,企业的维护成本 也会降低c s 结构中的数据传送通过邮件服务中转,例如传递一个通知,实际上是将信息复 制了n 份产生了大量的数据传送,给网络带来巨大压力。同时可能造成病毒在局域网内的快速 传播,安全方面存在潜在的隐患。b s 结构【2 4 】是虚拟数据传送,传送的只是一个标识,具体内容 储存在服务器上另外尽管在l o t u sd o m i n o n o t e s 平台上开发速度快、代码量少,但是数据库 被封装在开发平台之内,灵活性差,难以满足系统的自适应需求。 j 2 e e 规范定义的b s 结构具有独特的优势。采用j 2 e e 技术实现的办公自动化系统,业务逻 辑和业务数据分离应用服务器负责事务管理、生命周期管理,开发人员只关注需要实现的业务 中国农业大学硕士学位论文第一章绪论 逻辑。而无需了解底层的通信和管理细节提高了开发效率和系统的稳定性降低了系统出错率, 易于与现有系统无缝集成 1 3 本文的主要研究内容 在设计开发o f f i c em a t e 企业办公系统时,综合考虑了代码重用、系统管理、操作简便以及应 用安全和后期维护等方面的要求,采用了j 2 e e 平台开发系统,全面贯彻m v c 设计模式。并将 系统的w e b 层构建于s t r u t s 框架之上,不再采用传统j s p 文件简单堆砌的方式。s t r u t s 框架是基 于s e r v l e t 、j s p 以及标签库等技术的一个实现良好的w e b 层框架,利用它可以开发大型、复杂的 w e b 应用系统,并简化代码开发和管理,提高系统的重用性 本文以“基于s t r u t s 框架的企业办公系统设计与实现”为题,主要包括以下几个方面: 分析了w e b 应用程序的体系结构。介绍了w e b 应用程序的多层结构、j 2 e e 平台的基本 结构、m v c 设计模式及其基于j 2 e e 平台的实现方式。 对几种w e b 层框架进行了比较分析。着重阐述了s t r u t s 框架的概念、体系结构和工作原 理。 详细阐述了o f f i c em a t e 企业办公系统的分析和设计。介绍了系统的设计思想和设计目 标、系统网络拓扑结构和软件运行环境,系统软件总体设计和日常办公、日常业务、综 合信息、系统管理四大模块的功能描述以及一些与课题研究相关子模块的类设计和数据 库设计。 详细描述了s t r u t s 框架在o f f i c e m a t e 企业办公系统实现中的运用。以用户管理模块为例, 从s t r u t s 框架的体系结构出发,详细阐述了配置、视图、模型和控制器的实现过程,以 及系统实现过程中的一些关键问题和解决方案。 1 4 本章小结 本章主要介绍了课题的背景,国内外办公自动化系统的发展和研究现状以及现阶段采用的 主要开发技术,最后对本文的主要研究内容做了总结 ,3 第二章w e b 应用程序的体系结构 2 1 软件体系结构与模式 2 1 1 软件体系结构 软件体系结构( s o f t w a r ea r c h i t e c t u r e ) 【”1 为软件系统提供了一个结构、行为和属性的高级抽 象,由系统元素描述、元素间的相互作用、指导元素集成的模式以及模式的约束组成。软件体系 结构指定了系统的组织结构和拓扑结构,显示了系统需求和构成系统的元素之间的对应关系提 供了一些设计的基本原理。软件体系结构是设计抽象的进步发展,满足了更好地理解软件系统, 更方便地开发更大、更复杂软件系统的需要。 2 1 2 模式 模式p 1 ( p a t t e r n ) 描述了一个不断重复发生的问题和解决方案的核心。不同模式处于不同的 抽象层次在软件工程领域,模式进一步细化为三类f 1 :体系结构模式、设计模式、惯用法。模 式源于实践有助于利用软件工程师的集体经验构建软件,是构造高质量软件体系结构的重要方 法使用模式构造的软件系统,支持使用已定义的软件元素构造软件,有助于建立一个复杂、异 构的软件体系结构以及管理软件的复杂度。 2 1 3 软件体系结构模式 体系结构模式( a r c h i t e c t u r ep a t t e r n ) 是最高等级的模式。表示软件系统的基本结构化组织图 式和组织方案每个体系结构模式处理一个软件系统的设计或实现中一种特殊的重复出现的问 题,适用于粗粒度设计的开始阶段。体系结构模式提供了一套预定义的子系统,规定子系统的职 责和子系统之间的规则设计模式( d e s i g np a t t e r n ) 【”疑供一个用于细化软件系统的子系统或组 件设计模式是中等规模的模式,比体系结构模式小,独立于特定编程语言,适用于粗粒度设计 的结束阶段以及需要细化或扩展软件系统的基本体系结构时惯用法( i d i o m ) 是底层模式具体 针对一种编程语言的模式。描述如何使用给定语言的特征来实现组件的特殊方面或它们之问的关 系,适用于实现阶段 软件体系结构设计的核心闯题在于能否使用重复的体系结构模式,达到体系结构级的软件重 用体系结构模式主要有8 种【l l j :层( 1 a y e r s ) 、管道和过滤器( p i p a n d f l l t e ) 、黑板( b l a c k b o a r d ) 、 代理者( b r o k e r ) 、模型一视图一控制器( m o d e l - v i e w - c o n t r o l l e r ,简称m v c ) 、表示一抽象一控 制( p r c s o n t a t i o n - a b s t r a c t i o n - c o n t r o l ,简称p a c ) 、微核( m i c r o k e r n e l ) 、映像( r e f l e c t i o n ) 。面向 模式的软件体系结构把软件系统看成是各种模式的结合。 分层次处理是软件系统问题分析和设计实施的基本方法【”i 在层次方法中,每层由一组相关 的类或组件构成,完成特定的功能;层与层之间存在自上而下的依赖关系,即上层组件访f o t 层 组件的a p i ,而下层组件不依赖上层组件每层对上层公开a p i ,实现细节对外透明恰当地使 用层体系结构摸式对应用系统分层,可以提高系统的伸缩性、可维护性、可扩展性、可重用性和 可管理性。 中国农业大学硕士学位论文第二章w e b 应用程序的体系结构 2 2w e b 应用程序的体系结构 w e b 应用程序使用h 丌p 作为核心的通信协议,也被称为基于w e b 的应用程序。随着w e b 系统复杂度的提高,应用服务器程序采用多层结构( n - t i e ra r c h i t e c t u r e ) ,进一步对原有三层结 构的中间层进行细分。从上而下依次为用户界面层、表示逻辑层、业务层、数据访问层和数据层, 如图2 - 1 所示【2 l l 。 用户界面层 表示逻辑层 业务层 数据访问层 数据层 2 2 1j 2 e e 体系结构 2 2 1 1j 2 e e 技术简介 圈2 - 1 多层结构的w t b 应用程序 j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ,简称j 2 e e ) 是j a v a2 平台的企业版,适用于企业级 体系结构的开发、部署和管理等为开发多层次分布式、针对服务器的应用系统提供了统一的技 术平台【那j j 2 e e 平台已经成为使用最广泛的w e b 应用程序设计技术,主要支持两类软件的开发 和应用聊j :一类是做高级信息系统的w e b 应用服务器,一类是在w e b 应用服务器上运行的w e b 应用程序。 j 2 e e 体系结构扩展了标准的两层结构,提供中间层来满足经济、高可用性、高可靠性、可 扩展性的需求。这种结构简化了客户端,主要程序都运行在能保证正常运行的服务器端,系统更 加安全可靠,也更容易扩充和移植在j 2 e e 的应用中,软件体系架构模式 6 0 l ( 如层模式、m v c 模式、多层分布模式等) 和设计模式( 如截取过滤器、视图帮助器、前端控制器、值对象等) 得 到广泛使用 2 2 1 2j 2 e e 的四层模型 j 2 e e 中一个重要的设计原则是应用程序可以低耦合地使用组件组装,在组装或者部署应用 5 - 中国农业大学颈士学位论文 第二章w e b 应用程序的体系结构 程序时,而不是组件开发时定义或者改变这些组件的相互连接。一个典型的多层j 2 e e 应用结构 如图所示,包括以下四个层次【1 9 l ;客户层、w e b 应用层、业务层和企业信息系统层( e n t e r p r i s e i n f o r m a t i o ns y s t e m ,简称e i s ) ,如图2 - 2 所示。 j 2 e e 应用程序1j 2 e e 应用程序2 卫 1 习 客 田2 - 2 $ 2 e e 多晨应用结构 客户端机器 j 2 e e 服务器 数据库服务器 客户层组件:客户层是用户的使用界面j 2 e e 客户端既可以是w e b 客户端也可以是 应用程序客户端。 w e b 应用层组件:可以是j s p 页面或者s e r v l e t 。w e b 层处理用户输入,并把输入发送 到运行在业务层上的f j b 处理。 业务层组件:业务层满足业务需求,由运行在业务层上的e b 处理。 企业信息系统层:企业信息系统层处理企业信息系统软件,包括企业基础建设系统、企 业资源计划( e n t e r p r i s er e s o u r c e sp l a n n i n g ,简称e r i ) 、大型机事务处理、数据库系 统和其它的遗留信息系统 “容器”指应用服务器提供的特定功能的软件模块,是能提供基本功能的底层平台。j 2 e e 为多层w e b 应用系统提供了容器平台开发者开发的程序组件在相应的容器内部署运行。 寰2 1 j 2 e e l 4 的窑 容器名称描述 应用客户靖罄嚣负责w e b 应用程序在客户嗤组件的执行 p p l c t 容器 特殊的应用客户端容器负责在w e b 浏览墨和j a v a 插件上运行j a v aa p p l c t 程序 应用客户蜡容器和a p p l e t 容器基本对应w e b 应用程序多层结构中的用户接口层 w e b 容器管理j $ p 、j s t l 和s e r v l e t 等w e b 组件的执行,这些组件主要负责程序和w e b 层通 信对应w e b 应用程序多层结构的表示层 f j b 容器负责f _ j b 的运行主要负责数据处理以及和数据库或其它j a v a 程序的通信,对应 w e b 应用程序多层结构的业务层和数据访问层 6 中国农业大学硕士学位论文 第二章w e b 应用程序的体系结构 2 2 2j 2 e e 的核心组件 j 2 e e 平台由一整套服务、应用程序接1 2 1 ( a p i ) 和协议构成,对基于w e b 的多层应用的系 统开发提供支持,主要包括以下技术规范【加】: j d b c ( j a v ad a t a b a s ec o n n e c t i o n ,j a v a 数据库连接技术) j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ,j a v a 命名和目录接口) e j b ( e n t e r p r i s ej a v a b e a n ,企业级j a v a b e a n ) r m l ( r e m o t em e t h o di n v o k e ,远程方法调用) j a v ai d i j c o r b a ( j a v ai n t e r f a c ed e f i n i t i o nl a n g u a g e ,j a v a 接口定义语言) j s p ( j a v as e r v e rp a g e s ,j a v a 服务器页面) j a v as e r v l e t 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 ,可扩展标记语言) j m s ( j a v am e s s a g es e r v i c e ,j a v a 消息服务) j t a ( j a v at r a n s a c t i o na r c h i t e c t u r e ,j a v a 事务框架) j t s ( j a v at r a n s a c t i o ns e r v i c e ,j a v a 事务服务) j a v a m a i l ( j a v a 邮件) j a f ( j a v a b e a n sa c t i v a t i o nf r a m e w o r k ,j a v a b e a n s 澈活框架) 2 2 3m v c 设计模式 2 2 3 1m v c 设计模式概述 m v c 设计模式( 以下简称m v c ) 【l 别是t r y g v er c e n s k a u g 于2 0 世纪8 0 年代为编程语言 s m a l l t a l k - 8 0 发明的一种软件设计模式,主要用于处理用户界面开发面临的问题近几年被推荐 为j 2 e e 平台的设计模式 w e b 应用系统多采用b ,s 模型的三层或多层结构,如图2 - 1 所示,主要包括用户界面设计、 业务逻辑设计、数据库设计三个主要方面。w e b 应用的传统开发方式将业务逻辑和表现逻辑集成 在一起,混合了h t m l 代码与应用程序逻辑,使得界面设计的更改和业务逻辑的更新困难,进而 导致系统容易出错、调试困难、开发进展缓慢理想的w e b 程序要求无论客户是何种类型( 如 测览器、a p p l e t 或手机等) ,数据的查询和处理都使用相同的数据资源,改变客户类型和程序界 面不会影响到数据处理的部分这就要求将程序中“变”和“不变”的部分分开,尽量减少组件 之间不必要的联系使其相对独立并保持松散连接 针对w e b 程序中的用户界面、业务逻辑、数据库三种系统设计需求m v c 将系统划分为模 型层、视图层和控制器层模型层封装了内核数据和功能,是应用程序的核心模型表示业务数 据和业务逻辑,一个模型为多个视图提供数据,提高了应用的可重用性视图层与用户交互,从 模型层获取相关数据,每个视图都有一个相关的控制器组件控制器接受用户输入并调用模型和 视图完成用户的请求m v c 的处理过程是:控制器接受用户的请求。决定调用哪个模型进行 处理模型再根据用户请求进行相应的业务逻辑处理,并返回数据,控制器调用相应的视图装载 模型返回的数据,最后通过视豳返回给用户 7 中国农业大学硕士学位论文 第- - 章w e b 应用程序的体系结构 2 2 3 0m v c 设计描述的优点和不足 m v c 的优点表现在以下几方面: 圈2 3 m v c 设计模式 一个模型在运行时可以同时建立和使用多个视图。提高模型代码的重用性。 相关的视图可以及时得到模型数据的变化,从而使所有关联的视图和控制器同步。 允许更换视图和控制器对象,而且可以根据需求动态地打开或关闭,甚至在运行期进行 对象替换。 模型的可移植性模型独立于视图和控制器。把一个模型独立地移植到新平台工作。而 只需在新平台p m 视图和控制器进行修改,以此构造良好的低耦合组件。 潜在的框架结构可以基于此模式开发应用程序的框架 m v c 的不足表现在以下几方面: 增加了系统结构和实现的复杂性。简单的界面严格遵守m v c ,会增加系统的复杂性, 减少灵活性,并可能产生过多的更新操作,降低了运行效率。 视图与控制器间连接过于紧密视图与控制器是相互分离、却又联系紧密的部件。没有 控制器,视图应用报有限,反之亦然,这样就妨碍了它们的独立应用。 视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能 获得足够的显示数据对未发生变化数据不必要的频繁访问,也将弱化性能 由此可见,m v c 并不适合所有的软件开发。对于存在大量用户界面、业务逻辑复杂的大型 应用程序,m v c 有利于提高健壮性和熏用性m v c 框架在构建初期进展缓慢,但从长远角度看 提高了后期软件开发的效率。 2 2 4m v c 设计模式的实现 早期应用m v c 设计模式的w e b 系统中,程序语言和h t m l 的分离一直难以实现通常在 8 中雷农业大学硕士学位论文第二章w e b 应用程序的体系结构 j s p 页面中执行业务逻辑的程序代码,和h t m l 表示层数据混杂在一起,难以分离出单独的业务 模型,造成h t m l 和j a v a 代码强耦合、调试困难等诸多问题。为了解决这些问题,s u n 公司先 后制定了两种规范唧l - j s p 模型1 ( 以下简称模型1 ) 和j s p 模型2 ( 以下简称模型2 ) 。 2 2 4 i 模型1 模型1 被称为“以j s p 为中心”的m v c 设计模式,是j s p 和j a v a b e a n 技术的结合。j s p 页 面独自响应请求,处理后把结果返回给客户端。所有的数据都通过j a v a b e a n 处理,j s p 页面同时 实现显示、业务逻辑和流程控制功能,从而快速完成应用开发。其结构如图2 - 4 所示: r - 一广? 1 请求。 浏 览 器 4 响应 鱼。j w e b 服务器 应用服务嚣和数据库 使用模型1 开发的w e b 应用是一组j s p 页面。对于快速小规模应用开发比较有优势。但是从 工程角度考虑,不足之处有两点:一是应用的实现依赖过程,一组j s p 页面实现一个业务流程, 如需改动。必须进行多处修改,不利于扩展和更新;二是应用不是建立在模块上业务逻辑和表 示逻辑混合在j s p 页面中,没有进行抽象和分离,不利于应用系统业务的重用和改动因此,模 型1 只是在一定程度上实现了m v c 设计模式 2 2 4 2 模型2 模型2 是模型1 的改进,完全基于j 2 e e 体系结构。模型2 又被称为“以s e r v l e t 为中心”的 m v c 设计模式,是j s p 、j a v a b e a n 和s e r v l e t 技术的结合,充分利用了j s p 和s e r v l e t 两种技术原 有的优点,其结构如图2 - 5 所示: i - - - 一- 一一- 一- 一- 一- 一一一一一一一一一一- - i 。一 l( 控制嚣) 1 请求i s e r v l c t 浏 览 嚣 6 响应 :一一一一一一一一一j - 一一一一一一一一 w e b 服务器 应用服务器和数据库 9 几u 日 中国农业大学硕士学位论文 第二章w e b 应用程序的体系结构 圈2 - 5 横型2 的结构 模型2 实现了m v c 设计模式使用一个或多个s e r v l e t 作为控制器在模型层中,通过j a v a b e a n ( 或e j b 组件) 实现应用的业务逻辑:在视图层中,由j s p 页面产生应用的表示;在控制层中, s e r v l e t 作为控制器处理来自w e b 浏览器的所有请求,然后返回h 兀p 响应信息。从而实现了m v c 的分离机制,弥补了模型1 的不足。 w e b 服务器及应用服务器 : 视图 : 控制器 : 模型 : 田| i 固| | 弓 圈2 - 6 j i v - w e b 应用的站掏 基于对模型1 及模型2 的描述,总结两种模式的异同如下: 模型1 开发速度比模型2 快。尽管在模型l 中j s p 会在第一次被调用时编译成s c r v l e t , 系统却无法将这个动态生成的s e r v l e t 作为静态类型使用。 模型1 的业务逻辑和显示数据逻辑混合在j s p 中,使得二者无法独立演化而模型2 中 的s e t v l e t 不参与显示数据的工作,只负责产生中问数据,并将这些数据以j a v a b e a n 对 象的形式

温馨提示

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

评论

0/150

提交评论