




已阅读5页,还剩76页未读, 继续免费阅读
(计算机应用技术专业论文)基于mvc模式的web系统的解决方案.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着企业信息化地位的提高,传统的企业开发平台正面临着严峻的挑战。现 代的企业信息系统业务逻辑多变、安全要求高、管理数据多,要求开发平台提供 足够的灵活性来适应现代企业应用系统开发的需要。j 2 e e 就是能够满足这些需 要的用于开发企业应用系统的软件平台。j 2 e e 平台简化了企业解决方案的开发、 部署,具有能够管理相关复杂问题的多层体系结构,并且为搭建具有可伸缩性、 高灵活性、易维护性和易扩展性的企业应用系统平台提供了良好的机制。 m v c 设计模式是一种能够有效分离数据和表现的解决方案,它提供了分离 功能层的机制。本文分析研究了数据集成的特点,遵循m v c 模式的分层机制, 在j 2 e e 平台下构造了一种改进的m v c 模型框架,并对其关键技术进行论述。 本文对采用改进后的模型框架开发的数据集成应用系统丰田销售系统进行了 详细论述,阐述了改进后模型的可行性和有效性。提出了模型的进一步改进方向。 关键词:设计模式,m v c ,j 2 e e ,模型框架 a b s t r a c t w i t ht h ee n h a n c i n go f i n f o r m a t i z a t i o nw i t h i ne n t e r p r i s e , t h et r a d i t i o n a le n t e r p r i s e d e v e l o p m e n tp l a t f o r mi sn o wf a c i n gf l i n t yc h a l l e n g e s b e c a u s eo f t h ef i e q u e n tc h a n g e o fi n t e r n a ll o g i c ,r i g o r o u ss e c u r i t yd e m a n da n dm a s s i v ec o n 仃o u e dd a t a , m o d e r n e n t e r p r i s ei n f o r m a t i o ns y s t e md e m a n dt h a td e v e l o p m e n tp l a t f o r ms h o u l dp r o v i d e e n o u g hf l e x i b i l i t ya d a p t t ot h ed e m a n do fd e v e l o p m e n to fm o d e r ne n t 靠p l i s e a p p f i c a t i o ns y s t e m j 2 e ei ss u c has o f t w a r ep l a t f o r m , w h i c h 锄m e e tt h ea b o v en e e d s a n da d 印tt od e v e l o pe n t e r p r i s ea p p l i c a t i o ns y s t e m i ti sak i n do f a r c h i t e c t u r ew h i c hi s p r o p o s e db ys u nc o r p o r a t i o ni no r d e rt os i m p l i f yt h ed e v e l o p m e n ta n dt h ed e p l o y m e n t o ft h ee n t e r p r i s es o l u t i o na n dm a n a g er e l a t e dc o m p l e xq u e s t i o nb yu s i n gj a v a2 p l a t f o r m j 2 e eh a sp r o v i d e dt h eg o o dm e c h a n i s mi nt h ew a yo fb u i l d i n gt h e e x p a n d a b l e , f l e x i b l ea n de a s i l y m a i n t a i n e de n t e r p l i s ea p p l i c a t i o ns y s t e mp l a t f o r n l m v cd e s i g np a t t e r ni sas o l u t i o nw h i c hc a ns e p a r a t ec o n t r o lf r o mr e p r e s e n t a t i o n , a n d p r o v i d e st h em e c h a n i s mt h a ts e p a r a t e sf u n c t i o nl e v e l t h i st h e s i sh a sa n a l y z e da n ds t u d i e dt h ed a t ai n t e g r a t i o nc h a r a c t e r i s t i c , f o l l o w e d t h el a m i n a t i o nm e c h a n i s mo ft h em v c p a t t e r n , c o n s t r u c t sa ni m p r o v e df r a m e w o r ko f m v cb a s e do nj 2 e ea n dd e s c r i b e st h ee s s e n t i a lt e c h n o l o g y i nv i e wo fa a p p l i c a t i o n s y s t e mo f d a t ai n t e g r a t i o i 卜t 0 y o t as a l e ss y s t e mw h i c hi su s e da b o v ef r a m e w o r k , t h i st h e s i sc a r r yo nt h ed e t a i l e de l a b o r a t i o n , a n a l y s i si t se f f e c ta n dv e r i f i e st h e f e a s i b i l i t ya n dv a l i d i t y o ft h ei m p r o v e df r a m e w o r k , a n dp o i n t so u tt h ef l l r t h e r i m p r o v e m e n td i r e c t i o n k e yw o r d s :d e s i g np a t t e r n , m v c ,j 2 e e , m o d e lf r a m e n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:皱z 盔埠 日期:少司年g 月乒日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘厂允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签 日期: 第一章绪论 第一章绪论 随着互连网络的普及,i n t e m e t i n o :a n e t 极大地改变了人们工作、学习和生活 的方式。网络为人们提供了大量的信息和便捷的服务手段,与此同时也带来了无 限的商机和新的应用需求。 为了适应经济全球化的发展趋势,提高企业核心竞争力,各类企业在信息化 建设方面的投入也越来越大。于是,如何快捷地、经济可靠地构建系统开发平台, 成为研究的重点之一。 1 1 技术发展现状与趋势 现代企业通过建立科学先进的管理理念,借助先进的计算机技术去整合企业 现有的生产、经营、设计、制造和管理,及时为企业决策提供准确、有效的信息, 应对各种情况并做出快速反应,以增强企业核心竞争力。 早在2 0 世纪8 0 年代,世界5 0 0 强企业就启动了信息化工程。相对而言, 我国企业开始实施信息化的时间较短,但是步伐很快。对企业而言,要想最大程 度的获得信息化带来的好处,必须要根据企业特殊的需求定制软件。所以,企业 实旆信息化管理,就需要有适合的软件平台。 按照传统的方式开发的企业信息化平台要想更改业务流程,必须重新设计和 编码,需要花费大量的人力和时间,已经不能适应现代企业的飞速发展。现代企 业需要一种新型的企业应用平台,来应对企业飞速发展带来的系统维护代价太高 的现状。 s u n 公司的j 2 e e ( j a v a 2 p l a t f o r m e n t e r p d s e e d i t i o n ) 定义了开发和运行企业 级w e b 应用的标准,它可以用于开发大型的、多层次的以及分布式的企业级w e b 应用【1 1 。j 2 e e 简化了构建企业级应用的复杂度,使用j 2 e e 构建的企业应用系统 不仅有轻便、易维护和易升级的优点,而且能够集成原有的业务系统和数据。由 于j 2 e e 的显著特点,众多企业选择基于j 2 e e 来构建信息化平台。 但是,即使使用最先进的软件平台j 2 e e ,开发企业级应用仍然是一个难题。 要设计良好的体系结构,使之具有良好的可扩展性和易维护性,对应用系统的设 电子科技大学硕士学位论文 计人员来说是一个挑战。尤其是在w e bs e r v i c e 应用开发方面,经常需要考虑采 用什么样的系统框架技术才能更有利于模块的设计和编码,以及具有更好的灵活 性和更易于日后系统的维护和扩展升级。 m v c ( m o d e l - v e w - c o n t r o u e r ) 模式最早于二十世纪八十年代提出,它最初 是为s m a l l t a l k 语言设计的一种能够有效分离数据和界面的解决方案。当前, m v c 已是在分布式应用软件( 如w e b 应用程序 中被广为采用的一种设计模 式【2 1 。目前,在j 2 e e 环境中基于m v c 模式的应用框架层出不穷,如s t r u t s 、 j s f 等,它们都有各自独到之处,可以解决某一类特定的应用问题。虽然这些新 兴的框架各有侧重,但是发展却非常迅速,在开源( o p e n s o u r c e ) 社区上活跃着 众多专业人士,推动着这些项目的发展i 1 2 课题背景与研究内容 企业实施信息化的目的在于【3 】: 增加收益。 降低成本。 提高产品或服务质量。 提高企业竞争能力。 获得更多的市场机会。 改善企业文化。 然而,由于历史或其它的原因,许多企业已拥有多种基于计算机管理的业务 系统,但是企业内的部门各自为政,缺乏信息建设的统一规划,因而信息孤岛现 象越来越严重。据i d c 2 0 0 1 年报告,在全球最大的f o r t u n e1 0 0 0 家企业中,平 均都有1 4 个数据库和4 8 个业务系统,而且随着市场的交化、客户需求的变化, 企业还在不断地增加它的应用。出于降低维护成本和提高企业竞争力的考虑,如 何集成企业原有的业务系统,同时使新系统符合规范和标准就变得迫在眉睫。基 于这一点,现代企业新的业务系统必须建立在主流企业信息平台上,j 2 e e 显然 是一个很好的选择。 如何将企业内部信息和应用一体化,快速构建基于w e b 的管理信息系统成 为摆放在企业面前的一个难题。解决这个问题的方法就是使用一个开放的、高效 的、先进的、安全的信息化开发框架。设计模式可以使人们更加简单方便地复用 2 第一章绪论 成功的设计和体系结构【】,m v c 设计模式具有一个显著的特点潜在的框架 结构。 本文将立足于构建基于计算机信息管理的企业应用系统,在分析研究企业应 用中被广泛采用的j 2 e e 平台的特点与核心技术、软件设计模式的基础上,重点 论述一种改进的m v c 模型设计。这种模型能够较好的满足当前以w e b 应用为 中心的企业应用系统的结构设计与实现,基于这种模型的框架非常适合开发大型 企业化应用系统。结合一个应用实例分析论述改进的m v c 模型框架的应用过 程。 1 3 论文组织 软件平台是用来构建支撑应用软件的独立软件系统,它是开发和运行应用软 件的基础,是任何一个应用软件得以实现的必要条件。使用软件平台,可极大降 低软件开发难度,提高软件开发效率和软件开发质量。所以选择一个好的平台也 是应用系统开发中一个重要的环节。 软件设计模式的出现为复用成功的解决方案提供了一种方式,它描述了在面 向对象软件设计过程中针对特定问题的解决方案。在界面应用领域,由基础设计 模式组成的m v c 模式应用非常广泛。依据m v c 结构模型,在基于j 2 e e 的 w e b 应用中产生了如s t r u t s 、j s f 等m v c 模式框架,本文针对数据集成应用, 提出了一种解决这类应用的改进的m v c 模式模型结构,给出并分析了一个应用 案例。 本文在第二章着重分析了j 2 e e 企业应用平台技术及其相关内容,对现代企 业应用系统的特征进行了分析;第三章分析研究了软件设计模式,着重介绍了 m v c 模式及其在j 2 e e 中的应用;第四章首先简单分析了j 2 e e 环境中已有的 m v c 框架技术,然后针对数据集成应用,提出了改进的m v c 模式结构模型, 介绍了其在j 2 e e 中的实现技术,在此基础上着重分析了一个丰田销售系统的框 架;第五章着重分析了一个丰田销售系统视图层的设计;第六章着重分析了一个 丰田销售系统控制层的设计;第七章着重分析了一个丰田销售系统模型层的设计; 最后,在第八章中介绍了系统的测试情况;在第九章中总结了改进的m v c 模型 和框架的特点,并给出了系统的改进方向。 电子科技大学硕士学位论文 第二章j 2 e e 企业应用平台技术分析 随着网络技术的迅速发展和普及,软件体系结构发生了很大变化,b s 和三 ( 多) 层结构成为网络上各种应用软件的基本结构形态。软件体系结构的这种变 化,奠定了软件平台的地位和基本内涵。作为被广泛应用的基础构架平台之一, j 2 e e 提供了一个开发企业级应用系统的标准环境。 2 1j 2 e e 技术 j 2 e e 全称l a v a2h a f f o r me m e r p r i s ee d i f i o n ,是s u n 公司定义的开发分布 式企业应用系统的规范和平台,同时也是一种利用j a v a 平台简化企业解决方案 的开发、部署和管理相关复杂问题的体系结构。j a v a 语言从创生之日起,就获得 了广泛接纳i 经历了巨大的发展。越来越多的技术都成为j a v a 平台的一部分, 为了适应不同的需要也开发出了很多全新的a p i 和标准。最终,s u n 公司联合 了多家业界巨头,在开放的j a v a 设区组织名义下,把所有与企业开发相关的标 准、a p i 整合起来,构成了j 2 e e 平台【5 】o 截至目前,j 2 e e 共有4 个版本:j 2 e e v l 2 ( 1 9 9 9 年1 2 月1 7 日发布) 、 j 2 e e v l 3 ( 2 0 0 1 年7 月2 7 日发布) 、j 2 e e v l 4 ( 2 0 0 3 年1 1 月2 4 日) 和j 2 e e v 5 0 ( 2 0 0 5 年6 月2 0 日发布,最初被称为1 5 版) 。经过5 年多的发展,1 2 e e 的功能更加强大,图2 1 展示了,j 2 e e 规范5 0 版本定义的体系结构图。 j 2 e e 技术的基础就是l a v a 标准版( j a v a2p l a t f o r ms t a n d a r de d i f i o n ,简称 j 2 s e ) 。j 2 e e 不仅巩固了标准版中的许多优点,例如“w r i t e o n c e ,r u n a n y w h e r e ” 的特性,方便地存取数据库的j d b c a p i 技术,在i n t 锄e t 应用中较高的安全性 等,而且还提供e j b ( e m e r p r i s ej a v ab e a n s ) 、j a v as e r v l c t 、j a v a s e r v e fp a g e s 和 x m l 等技术的全面支持,其发布之初就定位于成为企业级应用系统平台和支持 多层技术的体系结构。 作为一种多层体系结构技术,j 2 e e 提供中间层集成框架用来满足无需太多 费用而又需要高可用性、高可靠性以及可扩展性的应用需求。通过提供统一的开 发平台,j 2 e e 降低了开发多层应用的费用和复杂性,同时提供对现有应用程序 4 第二章j 2 e e 企业应用平台技术分析 集成的强有力支持,完全支持e j b 等企业级组件技术,有良好的向导支持打包 和部署应用,添加目录支持,增强了安全机制,提高了性能。 图2 - 1j 2 髓体系结构 对于企业,j 2 e e 平台有许多优判习: 1 j 2 e e 为企业级运算的许多领域( 比如数据库连接、企业业务组件、面向 消息的中间件( m o m ) 、w e b 相关组件、通信协议以及互操作性等) 设立了标准。 2 j 2 e e 促进人们基于开放的标准开发软件;如此构建的系统实现,出自名 门、安全稳固,因此j 2 e e 构成了一种可靠的技术投资。 3 j 2 e e 是一种标准的开发平台,基于此开发的软件组件能够在不同厂商的 产品中相互移植,从而避免了被一家厂商锁定。 4 在软件开发过程中采用j 2 e e 能够缩短开发周期,使产品尽快投放市场一 一这是因为,系统的很多底层架构和基础部分都已经由产品厂商按照j 2 e e 规范 标准实现出来了。因此大多数r r 企业可以不再开发中间件,集中精力构建符合 自己商业需要的应用。 5 j 2 e e 提高了程序员的生产力,因为对于j a v a 程序员们,相对来说很容易 电子科技大学硕士学位论文 就能学会基于j a v a 语言的j 2 e e 技术。所有企业软件开发都能够在j 2 e e 平台 上、利用j a v a 语言完成。 6 j 2 e e 增进了现存各种异构系统之间的互操作性。 j 2 e e 规范是由许多技术构建而成的,一般地,最常用的j 2 e e 技术有 j a v a s e r v l e t 、j s p 、j d b c 、j t a 、j n d i 、r m i 、e j b 和j i v i s 等。 s e r v l e t j a v as e r v l e t 是一个服务器端的技术,它接收来自w e b 浏览器的h r r p 请 求信息,然后返回h t y p 响应信息。s e r v i a 可以采用多线程技术,在编写回送 给客户机的表示逻辑方面,具有性能优于c g i 的特点。因为s e r v l e t 是用j a v a 语言编写的,可移植性较强,可以从一个平台移植到另一个平台上。s e r v l e t 是开 发表示逻辑的企业j a v a 标准。 通常,s e r v l e t 采用请求响应模型。来自客户机的请求到达s e r v l e t 引擎时, s e r v l e t 容器会调用适当的s e r v l e t 进行处理,然后把响应信息回送给客户机。最 常用的s e r v l e t 类型是哪s e r v l e t ,它是专门为采用m 四协议的请求提供服 务。h 1 1 ts e r v l e t 内嵌了三个主要的对象:h t t p r e q u e s t 、h t t p s e s s i o n 和 h t t p r e s p o n s e ,分别用于获取请求信息、管理会话信息和处理响应信息。 j s p + j s p 技术为开发人员提供了一个简单的、类似于h t m l 的界面,用于创建 s e r v l e t 。j s p 可以包含h t m l 代码、j a v a 代码和j a v a b e a n 代码模块。j s p 技 术可以提供与s e r v l e t 相同的功能,但开发界面却非常简单易用。在首次请求一 个j s p 页面时,j 2 e e 应用服务器的w e b 容器将会把该页面编译成一个s e v l e t , 然后去执行这个s e r v l e t ,为当前和后续的请求提供服务。 j s p 和s e r v l e t 结合使用,利用j s p 的简洁易用和s e r v l e t 的强大功能可以 满足大部分的实际应用。这两种j 2 e e 技术主要用来响应来自客户端的请求。 j d b c j d b c 全称是j a v a 数据库连接( j a v a d a t a b a s e c o n n e c t i v i t y ) ,它是j a v a 标 准的数据库连接技术。j d b c 规范定义了一组标准的j a v a a p i ,用于连接数据库。 这些a p i 包括:用于修改数据库的a p i ;使用s q l 查询访问数据库的a p i ; 支持基本的和复杂事务处理的a p i 。 j t a j a v a 事务a p i ( j a ;c a t r a n s a c t i o n a p i ,j t a ) 允许w e b 应用开发人员访闯数 据库系统,或任何数据存储系统中的事务功能。事务处理可以协调数据库操作, 6 第二章j 2 e e 企业应用平台技术分析 确保所有的数据源保持数据的准确和一致,而企业级应用一般都需要这类事务管 理。j t a 定义了高级事务管理的规范,用于分布式应用的资源管理,是企业级应 用必需的技术之一。 j n d i j a v a 名字和目录接口( 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 ,y n d i ) 提供名字 和目录服务,是管理创建分布式应用时所需的核心组件和对象。使用j n d i 有助 于确保适当级别上的名字和目录的惟一性。 r m i 远程方法调用( r e m o t em e t h o di n v o c a t i o n ,砌m ) 是j a v a 应用访问远程j a v a 对象的j a v a 标准,j a v a 应用系统可以使用r v l l 访问远程对象,使得远程对象 就像本地对象一样。r m i 提供了一种分布式的应用框架,使远程客户机可以与远 程方法和服务进行交互。 e j b 企业级j a v a b e a n ( e n t e r p r i s e j a v a b e a n s ,f j b ) 是企业级的j a v a 标准,用于 建立服务器端的业务逻辑。e j b 在j 2 e e 的f j b 容器内运行,开发人员可以利 用e y b 容器提供的各种服务建立e y b 。 e j b 是j 2 e e 提供组件支持的核心技术。目前,j 2 e e 规范中定义了四种基 本类型的e j b :实体e j b 、消息驱动e j b 、有状态会话e j b 和无状态会话e 瑭。 实体e j b 用于表示持久存储的数据,它驻留在e j b 容器内。有状态会话e j b 和 无状态会话e j b 都是通过r m i 接受请求,区别是是否保留与其服务的客户机 的相关信息,一般地,通过使用会话e j b 实现业务逻辑,为客户机、j s p 、s e r v l e t 和其它e y b 提供服务。消息驱动e j b 为企业级j a v a 应用引进了一种异步处理 方式,当j m s 中定义的某个消息到来时,这个b e a n 中的一个方法就开始执行。 盯讧s j a v a 消息服务( j a v am e s s a g es e r v i c e ,y l v i s ) 提供了一组标准的企业级消息 处理的j a v a a p i ,使j a v a 应用和组件可以发送和接受消息。j m s 提供的消息处 理方式包括:队列模式、基于主体的发布订阅系统。当然,j 2 e e 提供的技术和 规范不仅仅只有提到的这些,此处只是对文中使用到的技术做一个简单介绍,详 细信息请参阅相关资料二 7 电子科技大学硕士学位论文 2 2j 2 e e 的多层应用模型结构分析 众所周知,开发系统的最佳途径是把系统按照职责切分为若干个层次( 每个 层次都是具有特定职责的结构层) 6 1 ,即通常所讲的多层体系结构。作为企业级 应用平台,j 2 e e 有完整的多层应用模型结构。一般地,j 2 e e 可以划分为三层: 表示层、业务层( 商业层) 、数据层。表示层负责处理和最终用户之间的交互;业 务层则负责处理业务流程;数据层主要是指数据库,也包括对外部系统的资源访 问。有时为了更详细的划分系统的职能层,应用系统平台也可以表示成五层【捌: 客户层、表示层、逻辑层、集成层和资源层【1 4 1 。 相对来说,划分的层次越多,应用系统的业务就越有弹性。如图2 - 2 中的五 层划分,集成层就可以发挥出明显的作用隔离业务层( 逻辑层) 和资源层, 业务层受资源层变化的影响大大减少。但是,换个角度来看,较少的层次划分, 如将集成层和资源层整合为一层数据层,客户层和表示层整合为表示层,在 某些情况下更有利于问题分析。在本文中,将按照三层划分来分析j 2 e e 的应用 模型结构【埘。 百 i 些墨墨: _ 一些竺曼卜一些墨墨i 图2 - 2 应用系统的层次结构 传统的以大型主机为中心的系统应用模式由于诸多弊端而被淘汰 8 】,体系结 构技术最终发展到了目前的多层分布式系统应用模式。 结合j 2 e e 技术以及它们的操作环境和关系,图2 3 按照三层结构模型划 分,同时从客户机和服务器的方面展示了每一个元素的物理位置。 第二章j 2 e e 企业应用平台技术分析 图2 - 3j 2 e e 多层结构与技术 本文研究的改进m v c 模型框架的设计及其实现都是基于图2 3 中所示的 这些技术。显然,j 2 e e 的这些技术根据其各自的作用和特点都可以划分在三层 结构的某一层中。 2 2 1 表示层 多层架构中的客户层仅仅是指图形用户界面,用来实现人机交互和数据显示, 负责向w e b 层请求应用处理,例如信息查询、更新等。按照三层架构结构划分, 表示层除客户层外,还包括服务器端的w e b 层。一般地,表示层很少处理应用 逻辑,其应用代码可以从w e b 服务器上下载到本地的浏览器中执行,或者是从 服务器端下载数据包和数据描述包,在客户端的应用程序中执行。表示层基本上 9 电子科技大学硕士学位论文 不需要任何管理工作;用户只要通过服务器端的身份认证,就可以使用互联网协 议传输反馈信息并且在客户端显示。 2 2 2 业务层 在三层结构中,业务层处于第二层。业务层有时也称为商业层,它可由一台 或者多台服务器组成。 中间层可由一台或者多台服务器组成,它可以继续分为w e b 层和业务逻辑 层。其中,w 曲层由w e b 服务器及其控制下的w e b 服务器扩展构成,是客户 与业务逻辑层的接口和中转站。一方面它接受浏览器的客户请求,由w e b 扩展 模块解释请求的参数、重组为请求信息后传送到应用服务器,然后将返回的处理 结果送至浏览器;另一方面,客户可以预设感兴趣的服务内容,由服务器主动将 信息发给客户,增强信息发布的及时性。业务逻辑层实现核心业务逻辑服务和访 问数据库等工作。该层具有良好的可扩充性,可以随着应用需要任意的增加服务器 的数目。 2 2 3 数据层 企业信息系统( e i s ) 层由数据库和已有的系统组成,负责管理应用系统的信息 资源。它根据应用服务器的请求进行资源操作,并将操作结果返回应用服务器。 2 3j 2 e e 的结构与核心构建技术 在图2 - 1 中展示了j 2 e e5 0 的体系结构,本节就j 2 e e 的结构和核心技术 做简要的介绍。 2 3 1j 2 e e 的结构 j 2 e e 的这种基于组件、具有平台无关性的结构使得开发企业级应用变得简 单。因为业务逻辑被封装成可复用的组件,丽j 2 e e 服务器使用各种容器为j 2 e e 的各类组件提供后台服务。这些服务由j 2 e e 应用服务器提供,系统设计和开发 人员就可以专注于解决业务逻辑问题。 1 0 第二章j 2 e e 企业应用平台技术分析 ,。 j 嬲服务器、 、 l 涮肾巽i i r s e r v l e t j 口页面 1 _ j i 应用程序客 g eb莓器 客户端应用程序( a p p l i c a t i o nc l i e n t s ) 由j a v a 语言编写,通常是图形 用户界面( g u i ) 应用程序,在桌面计算机上执行。相对于a p p l c t 而言, 客户端应用程序是一种较重量级的客户端程序。a p p l i c a t i o n c l i c n t s 同本 地的其它应用程序使用的方法一样,而且,它还可以很方便的访问的 j 2 e e 中间层。 a p p l c t 小程序和g u i 组件它们是嵌在浏览器中的一种轻量级客户端, 也可以在那些支持a p p l e t 的应用程序或者设备上运行。a p p l c t 小程序可 以被用来为j 2 e e 应用开发功能强大的图形用户界面。一般而言,仅当 使用w e b 页面无法充分地表现数据或应用界面的时候,才使用它们。基 于安全性考虑,a p p l c t 不能使用j 2 e e 的s e r v i c e 和a p i 。 s e r v l e t ,j s p ,j s f 应用程序、过滤器和w e b 事件监听器它们通常被应 用在w e b 服务器上,是w e b 服务器功能的扩展,它们接受w 曲请求 并做出响应。通常s e r v l e t 、j s p 、j s f 应用程序和过滤器生成动态w e b 页面,这些页面用作应用程序的用户接口;它们也可以生成x m l 或者 其它格式化的数据,供其它应用程序或组件处理。j 2 e e 规范定义了一类 特殊的s e r v l c t ,这类s e r v l e t 提供对使用s o a p h t r p 协议的w e b 服 务的支持。s e r v l c t ,j s p ,w e b 过滤器和w e b 监听器整合在一起,构成 电子科技大学硕士学位论文 了w e b 组件( w e bc o m p o n e n t s ) 。w e b 应用程序就是由这些w 曲组件 和h m d 页面等数据组成。w e b 组件被要求在w e b 容器之中运行。j 2 e e 的规范要求,一个w e b 服务必须有一个w e b 容器,能够支持一些其它 的协议,具有安全机制。w e b 容器中的组件可以调用e j b 组件来完成复 杂的业务逻辑。 e j b 即企业级的j a v a b e a n s ( e n t e r p r i s ej a v a b e a n s ) ,它们运行在支持事务 的环境中,是j 2 e e 的核心之一,主要用来实现服务器端的业务逻辑, 它们可以通过使用s o a p h t i i 协议来提供w e b 服务。e y b 规范定义 了一个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使 其较容易地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性 等。 通过上述的四类组件,j 2 e e 能够灵活地架构企业级应用系统。事实上,j 2 e e 规范中定义的组件和技术还有许多,将在下文中对它们做一些简单介绍。通过使 用j 2 e e 的这些组件和技术,将设计模式应用在企业级应用系统的设计中,既能 大大缩短系统设计周期和开发的周期,又有利于应用系统的升级和维护。 2 3 2d 2 e e 的核心 在j 2 e e5 0 的规范中定义的j 2 e e 提供的标准服务【1 1 = h t r p h t t p s 、j t a 、 r m i - i i o p 、j a v a i d l 、j d b c a p i 、j a v a p e r s i s t e n t t 七a p i 、j m s 、j n d i 、j a v a m a i l 、 x m l p r o c e s s i n g 、j 2 e ec o n n e c t o ra r c h i t e c t u r e 、s e c u r i t ys e r v i c e s 、w e bs e r v i c e s 。 所有的这些技术规范和标准就是j 2 e e 平台的核心技术。在本文实际应用的开发 过程中使用到的技术主要就是本章第一节介绍的技术,这里就不再赘述。 2 4 现代企业应用系统的特征分析 企业应用系统的体系结构经历了巨大的发展【3 0 】。第一代企业应用是集中式的 大型机应用,在2 0 世纪8 0 年代后期和9 0 年代初期,几乎所有新的企业采用 采纳了两层体系结构( 即客户机朋艮务器体系结构) ;后来又发展到三层体系结构; 目前企业应用系统被广泛采纳的是基于w e b 的多层体系结构。 以w e b 为中心的企业正在改变发布高效的、企业级分布式系统的方式。从 前建立企业系统的方法已不能解决今天企业的r r 需求。为了满足成千上万的并 1 2 第二章j 2 e e 企业应用平台技术分析 发用户全天候的即时访问需求,开发人员必须不断完善其系统。而且,当代的企 业级应用决不可能是一个个的独立的系统。企业一般都会部署多个彼此连接的、 相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它 企业的相关应用连接,于是构成一个结构复杂的、跨越i n t r a n e t 和i n t e r n e t 的分 布式企业应用群集其中,连接企业内部各种应用的技 术称为e a i ( e n t c r p r i s ea p p l i c a t i o ni n t e g r a t i o n ,企业应用集成) ,而连接企业间各 种应用的技术称为b 2 b i ( b u s i n e s s - t o - b u s i n e s si n t e g r a t i o n ,企业闻集成) ,采用 e a i 、b 2 b i 技术及早先的多层体系结构就是当今企业级应用的最大特征。 日曰 图2 - 5 企业级应用的体系结构 图2 5 可以简单地描述现代企业应用的体系结构,这个体系结构的主体是 m v c 框架,即本文第三章介绍和分析的内容。 企业级应用需要使用优秀的企业级应用体系结构,而优秀的企业级应用体系 结构通常来自于优秀的解决方案。在系统设计时就要求考虑体系结构的合理性、 灵活性和健壮性,从而既可满足企业级应用的复杂需求,也为今后系统的调整和 升级留有余地。体系结构影响应用的整个生命周期,所以采用好的体系结构,即 可以增强应用系统的灵活性,也可以降低系统维护的开销和难度,为企业带来较 大的利益,延长应用系统的生命周期。 。 一个理想的企业级应用系统平台应该具备下列特点:开发、部署和维护的有 效性;系统运行的健壮性和稳定性;具有故障恢复能力;可以同时支持数百用户; 回回回 电子科技大学硕士学位论文 能够处理海量数据;具有高安全性;数据的高可用性;可以快速开发和部署新的 应用程序:简化组件重用;支持行业标准和通用编程接口;可以适用于大、中、 小各种规模的应用系统;系统费用随系统规模的增长而线性增长;不断进行技术 升级,满足不断涌现的需求。 j 2 e e 定义了开发和运行企业级w e b 应用的标准,可以用于开发大型的、多 层次的以及分布式的企业级w e b 应用。j 2 e e 技术为组件开发提供了广泛的支 持,同时也提供了丰富的开发工具和服务,便于开发模块化的、可重用的和平台 独立的业务逻辑。应用j 2 e e 平台技术,可以满足现代企业应用的需要,构建出 稳定、可靠的高可用性的应用系统。 2 5 本章小结 本章首先研究了j 2 e e 的相关技术,分析了它的多层模型结构及其特点,在 最后分析讨论了现代企业应用系统的特点。 1 4 第三章软件设计模式与m v c 研究 第三章软件设计模式与m v c 研究 设计模式系统地命名、解释和评价面向对象系统中一个重要的和重复出现的 设计,使用设计模式,企业应用系统的设计人员可以设计出复用性和灵活性好的 系统。设计模式使得可以更加简单方便地复用成功的设计和体系结构。简而言之, 设计模式可以帮助设计者更快更好地完成系统设计。 1 v w c 模式被广泛应用在图形界面应用系统中。 3 1 统一建模语言u m l 在讨论软件设计模式之前,有必要对统一建模语言( u m l ) 进行一个简单的 介绍。 3 1 1u m l 的技术特点分析 统一建模语言( u n i f i e dm o d e i i o gl a n g u a g e ) 是一种通用的可视建模语言,用 于说明、可视化、构造并文档化软件系统的体系结构【3 2 】。 在设计和开发一个软件期间所产生的中间描述或文档称为模型。模型展现系 统的一个抽象视图,突出了系统设计的某些重要方面,如子类和超类的关系,而 忽略了大量的底层细节,如方法代码的编写。所以,模型比系统的全部代码更容 易理解,通常用来阐明系统的整体结构或体系结构。u m l 就是这样一种可以描 述模型的语言。 , u m l 是一种标准建模语言,它与程序设计语言无关。而且,u m l 符号集只 是一种语言而不是一种方法学,它可以在不做任何更改的情况下很容易地适应任 何公司的业务运作方式。 u m l 提供了多种类型的模型描述图【2 8 】,当在某种给定的方法学中使用这些 图时,它使得开发中的应用程序更易理解。最常用的u m i , 图包括:用例图、类 图、序列图、状态图、活动图、组件图和部署图。 1 5 电子科技大学硕士学位论文 3 1 2u m l 的表示 1 n 咀,语言强调模型的可视化,对软件系统的静态结构、动态结构、相互的联 系等,都定义了相应的图形符号。将这些图形符号按照一定的方式组合起来,形 成了能够描述系统的i 舡,图f l l 】。 在u m l 中定义了一些在各种图中常用的元素,例如n a m e ( 名字1 、l a b e l ( 标 签) 、e x p r e s s i o n ( 表达式) 、n o t e ( 注释) 等,并给出t 它们的表示符号。例如:注释 是用一个折叠了一个角的矩形内的正文来表示。 此外,u m l 还定义了一些称为“扩展机铝旷的元素。扩展的基础是u m l 的元素,然后给这些元素的一些变形加上新的语义。新的语义可以有三种形式: 重新定义,增加新的或者对某种元素的使用增加一些限制。u m l 有以下几种扩 展机制【4 q : 衍型:用于对模型元素的分类或标一记,引入新的模型元素。用衍型引入的新 模型元素是原来的模型元素的子元素。 约束:是一种为模型元素指定必须为真的语义或条件的机制。用户可以用o c l 语言定义约束,也可以用自然语言定义约束。 标记值:用来表示模型元素的一些附加的特征。 注解:是写在注释的表示符号之内的正文串。所使用的语言容易被入理解,不 必考虑工具实现。 3 1 2 1 用例图( u s ec a s ed i a g r a m ) 用例用来捕捉用户使用系统的方式,并以一种用户和开发者都能理解的方式, 形成一个对于计算机系统需求从外到内的定义。用例图描述了系统的功能和用户 ( 参与者) ,它用来展示系统参与者之间的关系以及他们所使用的用例( 以及用例 之间的关系) 。 在用例图中有两个概念:参与者( a c t o r ) ,代表系统的用户,包含人和其它 系统;用例( u s ec a s e ) ,代表了系统向用户提供的服务或功能。图3 - 1 展示了 一个基本的用例图。 1 6 第三章软件设计模式与m v c 研究 图3 - 1 用例图 用例使用椭圆形表示。用例名可以出现在椭圆形内部或椭圆形的下面。一个 用例图可以通过“子类”关系或“扩展”( e x t e n d ) 关系和另一个用例图相关。“子 类”,关系表明了被使用的用例是使用用例过程的一部分。箭头实际上是对于用例 中过程的无条件调用。 如果一个用例中的过程是另一个用例中定义的过程的可选过程或部分可选过 程,那么“扩展”用例和“被扩展”用例之间就有一个“扩展”关系。随后在“扩 展”用例中指定的条件下,“扩展”用例中的过程就部分或全部地替代了“被扩展” 用例中的过程。 图3 - 2 用列之间的扩展关系和包含关系 系统的边界在用例图中表示为一个边界矩形,用例在矩形内部,参与者在矩 形的外部,系统的名字出现在矩形的顶端。 1 7 一 芹一 电子科技大学硕士学位论文 丰田销售系统 斗乏 嵌竺竺兰兰) 彳 统用户? 、 o 一 图3 - 3 丰田销售系统用例图 3 1 2 2 类图( c i a s sd i a g r a m ) 类定义了存在于系统内部的对象的模型。类所具有的属性通常是对象的简单 数据成员,类的操作定义了可执行于对象的方法。可以定义属性和操作对于其他 对象的可视性。 而类图用来定义系统的静态结构模型。静态结构模型识别了对象、类和它们 之间的关系。 类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛津6年级期末数学试卷
- 清华强基计划数学试卷
- 华夏盛典营销活动策划方案(3篇)
- 门店施工方案范本(3篇)
- 农村小型鱼池施工方案(3篇)
- 海南景区喷泉施工方案(3篇)
- 美式小区施工方案(3篇)
- 北京市昌平区2024-2025学年八年级下学期第一次月考历史题库及答案
- 安徽省六安市金安区2023-2024学年高二上学期第二次月考生物考点及答案
- 心动传媒面试题目及答案
- 云南省澜沧拉祜族自治县2025年上半年事业单位公开招聘教师岗试题含答案分析
- 养老护理员基础照护试题(含参考答案)
- 教师职业技能提升培训教程
- 2025年版房屋租赁合同模板下载
- 2025年第三类医疗器械培训试卷(含答案)
- 2025年医院财务科招聘考试题目(附答案)
- 面试指导:空中乘务面试常见问题与答案
- 2025年医德医风培训试题(附参考答案)
- 二人合伙开店的合同协议
- 北师大版五年级数学下册常考题:分数除法(单元测试)含答案
- 2024广西公需课高质量共建“一带一路”谱写人类命运共同体新篇章答案
评论
0/150
提交评论