已阅读5页,还剩59页未读, 继续免费阅读
(计算机软件与理论专业论文)基于j2ee的国家cbmis信息系统研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学硕士学位论文摘要 论文题目:基于j 2 e e 的国家c b m i s 信息系统研究与设计 专业:计算机软件与理论 硕士生:朱华仁 指导老师:梁华金 摘要 管理信息系统以前多是采用二层体系结构,即c s 模型。c s 两层架构在一 个相对专用、独立的系统中,是一个较好的系统建立方法;但随着部门业务规模 的扩大,以及为了适应在i n t e r n e t 上开展服务的需求,需要分布式应用的支持, j 2 e e 平台提供了一个多层结构( 多层b s 结构) 的分布式应用模型,该模型具 有重用组件的能力、基于扩展标记语言的数据交换、统一的安全模式和灵活的事 务控制。 本文将利用j 2 e e 平台构建c b m i s 管理信息系统,使其具有灵活性、可伸缩 性,更适应网络环境。本系统采用基于j a v a 的组件开发业务层,使系统具有较 好的移植性,j 2 e e 多层分布式应用框架使系统设计清晰。采用浏览器方式使客 户端变得瘦小,便于系统维护。通过对j 2 e e 多层部门应用体系结构和j 2 e e 组件 技术的研究,给出了多层分布式应用框架,满足了不同用户对不同视图的需求。 本文首先对j 2 e e 应用系统模型中的j 2 e e 多层体系结构、关键组件技术、服 务技术、w e b 服务支持、及j 2 e e 多层应用开发和部署等方面做了深入研究,接 着,给出了国家c b m i s 信息系统设计的原则,以及对在系统设计中遇到的问题作 了深入地探讨。最后,对系统的物理结构,功能设计方面提出了一个详细的解决 方案,为系统设计与实现提供方法与技术支持。 关键词:j 2 e e ,j 2 e e 多层体系架构,管理信息系统 中山大学硕士学位论文 t i t l e :t h er e s e a r c ha n dd e s i g no f t h en a t i o n a lc b m i si n f o r m a t i o n s y s t e mb a s e do nj 2 e e m a j o r :c o m p u t e rs o f t w a r ea n dt h e o r y n a m e :z h uh u a r e n s u p e r v i s o r :l i a n gh u a j i n a b s t r a c t i nt h ep a s t , m a n a g e m e n ti n f o r m a t i o ns y s t e m f r e q u e n t l y r i s e st w o - t i e r a r c h i t e c t u r e ,n a m e l yc sm o d e l ,w h i c hi s ag o o dm e t h o dt ob u i l das p e c i f i ca n d i n d e p e n d e n ts y s t e m h o w e v e r , w i t l lt h ee x p a n s i o no ft h es c a l eo fb u s i n e s sa n dt h e r e q u i r e m e n to fp r o v i d i n gs e r v i c e so nt h ei n t e m e q ,ad i s t r i b u t e da p p l i c a t i o ni sn e e d e d f o rd l s t r i b u w x la p p l i c a t i o n , j 2 e ep l a t f o r mp r o v i d e sam u l t i - t i e rb sa r c h i t e c t u r e , w h i c hh a st h ea b i l i t i e st or e u s ec o m p o n e n t sa n de x c h a n g ed a t ab a s e d0 ne x t e n s i b l e m a r k u pl a n g u a g e ,a sw e l la sau n i f i e ds e c u r i t ym o d e la n daf l e x i b l et r a n s a c t i o n c o n t r o lm e c h a n i s m 。 i no r d e rt om a k et h es y s t e mb ef l e x i b l e ,s c a l a b l ea n da d a p t a b l et oi n t e r a c t , j 2 e ep l a t f o r mi su s e dt oc o n s t r u c tac b m i sm a n a g e m e n ti n f o r m a t i o ns y s t e mi nt h i s p a p e r n eb u s i n e s sl a y e ro fs y s t e mi sd e v e l o p e db a s e d o nj a v ac o m p o n e n t s ,s ot h a t t h es y s t e mh a sh i 曲p o r t a b i l i t y j 2 e em u l t i - t i e rd i s t r i b u t e da p p l i c a t i o na r c h i t e c t u r e c l a r i f i e st h ed e s i g no ft h es y s t e m b yu s i n gb r o w s e r , t h ec l i e n ti st h i na n de a s yt o m a i n t a i n m o r e o v e r , j 2 e em u l t i - t i e rd i s t r i b u t e da p p l i c a t i o na r c h i t e c t u r ec a l ls a t i s f y v 函o u sr e q u i r e m e n to f u s e r s f i r s t l y ,t h et e c h n i q u e so fj 2 e ea p p l i c a t i o nm o d e l ,i n c l u d i n gj 2 e em u l t i - t i e r a r c h i t e c t u r e ,k e yc o m p o n e n t s , w e bs e r v i c e s , a n dd e v e l o p m e n t & d e p l o y m e n to fj 2 e e m u l t i - t i e ra p p l i c a t i o n , a r ee x p l o r e di nt h i sp a p e r s e c o n d l y ,t h ep r i n c i p l e st od e s i g n t h en a t i o n a lc b m i sm a n a g e m e n ti n f o r m a t i o ns y s t e ma r cg i v e n , a n dt h ep r o b l e m si n d e s i g na r ed i s c u s s e dd e e p l y f i n a l l y ,ad e t a i l e ds o l u t i o nf o rf u n c t i o n a ld e s i g na n d p h y s i c a ls t r u c t u r eo ft h es y s t e ma r ep r o p o s e dt os u p p o r tt h ei m p l e m e n t a t i o no f s y s t e m k e y w o r d s :j 2 e e ,j 2 e em u l t i - t i e r e ds y s t e ma r c h i t e c t u r e ,m a n a g e m e n ti n f o r m a t i o n s y s t e m s 中山大学硕士学位论文论文原创性声明内容 论文原创性声明内容 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究 工作所取得的成果。除文中已经注明引用的内容外? 本论文不包含任何其他个人 或集体已经发表或撰写过的作品成果。对本文的研究作出重要贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:珠算: 日期:加7 年f t 月r 扩日 中山大学硕士学位论文 学位论文使用授权声明 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学校有权保留 学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版,有权将学 位论文用于非赢利目的的少量复制并允许论文进入学校图书馆、院系资料室被查 阅,有权将学位论文的内容编入有关数据库进行检索,可以采用复印、缩印或其 他方法保存学位论文。保密的学位论文在解密后使用本规定。 学位论文作者签名:求辎? 翱签名学年舍 日期:沁7 年,月,孑日日期:似唧年,月0 e l 中山大学硕士学位论文 第l 章绪论 第1 章绪论 1 1 课题研究的背景及意义 为了提高企业信息化程度,传统的管理方式和管理手段已经不适应外界市场 环境的变化,其中有些企业开始在探索使用计算机来管理企业业务,于是一些管 理信息系统开始建立,但是最初的这些系统多是采用两层( c s ) 客户服务器结构, 虽然c s 体系结构具有强大的数据操纵和事务处理能力,但随着业务管理模式的 转变和业务规模的扩大,应用程序的复杂程度也越来越高,系统的不足也逐步凸 显出来: ( 1 ) 移植性差:c s 结构缺乏作为企业级应用平台的一些特性,难以扩展 到互联网环境中去,不同平台上开发出来的软件,很难交互使用,客户端软件和 服务器端软件只能工作在特定的硬件平台和操作系统环境下,而且要求应用开发 者自己去处理事务管理、消息队列、数据复制和同步、通信安全等系统级的问题。 这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应 用程序以外的问题。这使得系统移植和互操作变得复杂。 ( 2 ) 升级维护复杂:客户端需要安装专用的客户端软件。首先涉及到安装 的工作量;其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维 护。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非 常高。 ( 3 ) 信息共享性差:现在大型的企业都是跨国界的,管理上也是采用分层、 分布管理的方式,而两层c s 体系结构的系统不能适应这种网络环境,无法做到 通过浏览器上网,就可以进行信息处理,无法满足大型企业的各级进行信息交互、 共享需求。 i n t e r n e t i n t r a n e t 技术的发展使用户可以共享网络资源,用户简单地使用 浏览器就可以从i n t e r n e t 上查询各种信息。业务的发展与技术的矛盾,要求企 业寻找更高效的技术体系,在i n t e r n e t 和i n t r a n e t 环境下,采用分布式构件技 中山大学硕士学位论文第1 章绪论 术,建立高可靠性的中间软件服务系统,可满足企业信息化建设的需要。w e b 环 境下分布式应用的发展,使越来越多的企业开始研究适应其自身业务发展的基于 w e b 环境下建立的易于管理、可重用、可伸缩、健壮的i n t e r n e t 应用服务。 i n t r a n e t 应用与分布式对象技术的紧密结合,使整个i n t e r n e t 环境成为一个大 的分布式对象环境,从而提供更灵活、更可靠、更复杂和更具有扩展性的网络信 息服务将是未来发展的趋势。因此,针对企业管理信息系统地域分布广泛、各级 信息共享问题,研究创建高效、安全的分布式多层b s 体系结构的管理信息系统 非常必要。m 1 2 课题研究的现状 目前的企业多采用传统的c s 结构,也就是所谓的两层结构。这种结构在近 些年来不但得到了广泛的运用,而且相当成功。然而随着信息系统结构的复杂性 和规模的日益扩大,两层c s 结构成功的背后却逐渐暴露出其构架上的缺陷:当 同时存在大量客户端数据请求时,服务器有限的系统资源将被用于频繁应付与客 户端之间的连接,从而无法及时响应数据请求;数据库服务器成为系统可靠性的 极大隐患;客户端程序的分发工作繁琐令人难以接受:所开发的程序移植性差。 今天信息技术部门所面临的问题是如何能够创建通向未来的没有中断的跨 越l a n ,w a n 和i n t e r n e t 平台的分布式可伸缩性的应用结构,以满足当今复杂 的、不断发展变化的业务需求,同时又能确保企业在系统、应用、信息及人员上 的投资。能够适应这种变化的结构是多层分布式计算体系结构。多层体系结构能 够在低费用的条件下比现行的两层客户服务器或主机终端应用结构提供更好、 更及时信息的可能性。多层分布式计算应用服务技术是目前数据库应用发展的潮 流,传统的客户服务器的应用,正朝着三层或多层结构发展。 三层结构是传统客户服务器结构的发展,代表了企业级应用的未来,即将 应用分为表示层、业务逻辑层和数据层。表示层负责和用户的交互,同时也提供 一定的安全性,确保用户不会看到机密的信息。逻辑层也称中间层,是表示层和 数据层的桥梁,它响应表示层的用户请求,执行任务服从数据层抓取数据,并将 l 】李怀璋,王青基于b s 结构的质量管理系统的研免微电子学与计算机2 0 0 1 年。4 :5 7 - 5 9 2 中山大学硕士学位论文第1 章绪论 必要的数据传送给表示层。数据层定义、维护数据的完整性、安全性,它响应逻 辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如o r a c l e , s y b a s e ,d b 2 ,m ss q ls e r v e r 等。 分布式多层b s 构架克服了c s 结构和局域网为中心、系统难以扩展、维护 成本高、软件移植性差等缺点,它把表示逻辑、业务逻辑、数据库等操作分离开 来,各层相对独立。这种多层分布式计算模型( m u l t i - h e r dd i s t r i b u t e dm o d e l ) 适应了企业应用的发展要求,使企业计算具有良好的可扩展性、可靠性、稳定性、 安全性等特点。同时,通过组件( c o m p o n e n t ) 技术的使用,缩短了系统开发的周 期和降低了开发成本,大大降低了企业应用系统开发的复杂度。当前可以使用的、 具有一定竞争能力的用来开发分布式多层体系结构的应用程序的中间件技术包 括:n e t ,c o r b a 和j 2 e e 三大主流的组件模型。 1 2 1 n 盯 n e t 是微软公司提出的一种分布式运算框架,以x m l 为基础,以w e b 服务 为核心,辅以其它各种技术实现,旨在利用i n t e r n e t 上计算资源和带宽资源, 提高工作效率。n e t 平台体系结构包括:n e t 框架、v i s u a ls t u d i o n e t 以及 n e t 服务等。 n e t 平台最重要部分是n e t 框架,n e t 框架提供了语言的中立性和语言互 操作性,是一个通用的运行环境,与操作系统有密切的联系。 与n e t 框架联系最密切的开发工具是v i s u a ls t u d i o n e t , v i s u a l s t u d i o n e t 是语言中立的,可以把它看作是一个开放的程序设计平台,各种语 言都可以被插入到这个平台上。 n e t 服务是微软基于x m l 的w e b 服务平台,主要是帮助开发者通过“w e b 服务”创建任何类型的设备可进行访问的协同应用。1 n e t 是微软公司提出的多层分布式技术,得到了底层操作系统平台强大支 持;较好地解决w i n d o w s 应用系统的分布和通信问题,是w i n d o w s 环境专属的分 布式架构。 埘n e t 的业务优点,h t t p :w w w m i c r o s o t t c o m i n f o l m i a r t 4 0 4 a s p 3 中山大学硕士学位论文第1 章绪论 1 2 20 0 r 队 公共对象请求代理体系结构( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e , c o r b a ) 是由o m g 组织制定的应用软件体系结构和对象技术规范,其核心是一套标 准语言、接口和协议,以支持异构分布应用程序间的互操作性及独立于平台和编 程语言的对象重用。 c o r b a 体系结构有对象请求代理( o b j e c tr e q u e s tb r o k e r ,o r b ) ,c o r b a 服 务( c o r s as e r v i c e s ) ,c o r b a 设施( c o r b af a c i l i t i e s ) 和业务应用程序对象 ( a p p l i c a t i o no b j e c t s ) 4 个基本要素。 c o r b a 通过将分布式计算和而向对象计算的结合,实现软件重用,并且发挥 了面向对象技术的特长提出了更加适合分布式应用的对象模型。c o r b a 使应用程 序能够使用一个共同的接口,即接口定义语言( i n t e r f a c ed e f i n i t i o nl a n g u a g e , i d l ) ,使用i d l 规范编写的构件可以跨语言和操作系统进行移植。 c o r b a 技术体系独立于网络协议,独立于编程语言,独立于软硬件平台,互 操作性和开放性很好,c o r b a 系统可以较好地实现异构环境下的信息和软件资源 的共享。1 c o r b a 的缺点是庞大面复杂,并且技术和标准的更新相对较慢,c o r b a 规范从1 0 升级到2 0 所用时间非常短,而再往上版本发布就相对十分缓慢,在 具体应用中使用不是很多。 1 2 3j 2 e e j 2 e e 是s u n 公司推出的开放的、基于标准的平台,j 2 e e 用于开发、部署和 管理面向w e b 的以服务器为中心的应用程序。j 2 e e 是一种技术规范,它给开发 人员提供了一个工作平台,定义了整个标准的应用开发体系结构和一个部署环 境。j 2 e e 技术规范以容器为中心,容器是运行在服务器上的软件实体,用于为 特定类型构件提供运行环境和服务。j 2 e e 体系结构包括四个容器:a p p l e t 容器、 应用程序客户容器、w e b 容器、e j b 容器。 嘲( 美) o m g 编著c o r b a 系统结构、原理与规范北京:电子工业出版社,2 0 0 0 中山大学硕士学位论文第1 章绪论 j 2 e e 的核心技术包括:j s p 2 0 ,s e r v l e t 2 4 ,e j b 2 1 和j d b c 3 0 等。j 2 e e 容器和技术构成了体系框架,从而满足无需太多费用而又需要高可用性、高可靠 性以及可扩展性应用的需求。通过提供统一的开发平台,j 2 e e 降低了开发多层 应用的费用和复杂度,同时对现有应用程序的集成提供了强有力的支持并且有良 好的向导支持打包和部署应用,添加目录支持,增强安全机制,提高性能。 j 2 e e 最新w e bs e r v i c e sf o rj 2 e e 规范定义了在j 2 e e 应用程序服务器中如 何支持w e b 服务。从而使得j 2 e e 开发的应用程序在不同应用服务器之间保持良 好的移植性,更适合i n t e r n e t 环境。“1 利用j 2 e e 开发应用具有以下好处: ( 1 ) 支持异构环境。基于j 2 e e 的应用程序具有j a v a 的跨平台性,不依赖 于任何特定的操作系统,系统可以跨平台移植,这对于企业开发很重要。 ( 2 ) 保留遗留i t 资产。由于企业必须适应新的商业需求,但是对于企业来 说应该充分利用已有的企业信息系统方面的投资,由于j 2 e e 拥有广泛的业界支 持和一些重要的企业计算领域供应商的参与,j 2 e e 架构可以充分利用用户原有 的投资。 ( 3 ) 高效开发。j 2 e e 允许公司把一些任务交给中间件供应商完成,而开发 人员只需要创建业务逻辑,这样就缩短开发周期,降低开发成本。 1 3 本课题的主要工作 本课题主要对j 2 e e 应用系统模型中的j 2 e e 多层体系结构、关键组件技术、 服务技术、w e b 服务支持、及j 2 e e 多层应用开发和部署等方面做了深入研究。 通过对j 2 e e 多层应用体系结构和j 2 e e 组件技术的研究,给出了国家c b m i s 信息 系统设计的原则,结合实际需求构造了多层分布式应用框架,以及对在系统设计 中遇到的问题作了深入地探讨。对系统的物理结构,功能设计方面提出了一个详 细的解决方案,为系统设计与实现提供方法与技术支持。 【4 】曹鸣鹏,赵伟,许林英j 2 e e 技术及其实现计算机应用,2 0 0 1 ,l oz2 1 - 2 3 5 中山大学硕士学位论文 第2 章基于j 2 e e 多层分布式结构概述 第2 章基于j 2 e e 多层分布式结构概述 j 2 e e 是一种利用j a v a2 平台来简化多级企业解决方案的开发、部署和管理 相关复杂问题的体系结构。j 2 e e 提供了一套完整的开发多层分布式应用的技术 和设施,是当今众多厂商支持的多层分布式应用的标准,具有易维护、易扩展、 开发效率高以及安全性高等特点,是当今建立大规模分布式企业应用的一种高效 解决方案。 本章从j 2 e e 多层体系架构、关键组件技术、服务技术、w e b 服务支持、以 及j 2 e e 多层应用开发和部署等方面做必要的研究,为c b m i s 管理信息系统的设 计与实现提供方法、技术基础。 2 1j 2 e e 多层体系架构 j 2 e e 平台使用一个多层分布式应用程序模型。应用程序的逻辑根据其实现 的不同功能被封装到组件中,组成j 2 e e 应用程序的大量组件根据其所处的不同 层被安装到不同的机器中,这样就形成了j z e e 体系结构。其结构图如图2 1 所 示。按照层次来讲,j 2 e e 划分为四层,如图2 _ l 所示: ( 1 ) 客户层( c l i e n tt i e r ) :j z 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 应用中,为独立的客户程序或其它在网络系统中运行的程序,不经 过w e b 层直接访问业务层。 ( 2 ) w e b 层( w e b t i e r ) :j 2 e e w e b 组件可以由j s p 页面、基于w e b 的a p p l e t 以及显示h t 地的s e r v l e t 组成。 ( 3 ) 业务层( ( b u s i n e s st i e r ) :业务领域内需要的业务逻辑代码由运行在 业务层的e j b 来执行,e j b 从客户端接收数据,对数据进行处理,再将数据发送 到企业信息层;将执行结果返回给客户程序。运行在业务层的e j b 依赖于容器提 中山大学硕士学位论文第2 章基于j 2 e e 多层分布式结构概述 供如事务、生命期、状态管理等复杂的系统级功能。 ( 4 ) 企业信息系统层( e i st i e r ) :企业信息系统层运行企业信息系统软件, 包括企业基础设施系统,如:e r p ,数据库等。“ i o p l e tc o n t a i n e r w e bc o n t a i n o r e j be o n t a i n e r h t t f la 口p l e tl - g # # 燃 s s l is e r v b t l i j 2 s e 镕镕镕 ( 蛐) 一 l s 甘v * t p , i d _ = a d a l i c a t i o no l i e n t ! 盖c c n t a n e r 妄 i 与 目 望 苫 鲁 g 蓦 盆 三 d h z 号 ) l 1 却0 i 赫t _ _ _ - 匿 舌h # 7 菩 1 1 _ _ 三l 二二搬e ea 蒯。;粕。s e 忑ii _ 二二。舅 望 o i l i i 1o ,+,1 i 二l d a t a b a s e i 1o l l e n tl a y e rz w e bd h e n t 4 腰l a v 图2 1j 2 髓体系架构 j 2 e e 架构通过把表现逻辑、业务逻辑和后端数据服务分割开来,向开发者 提供了一种基于组件的设计、开发、装配及部署企业应用程序的模块化方式,提 供了一个高性能的环境。j 2 e e 应用为每种类型的应用构件提供相应的容器。如 图2 - 1 所示体系结构包括应用客户端容器、a p p l e t 容器、w e b 容器及e j b 容器, 容器为其内运行的组件提供运行时服务。 ( 1 ) 应用客户端容器:负责所有w e b 客户端组件的运行。a p p l e t 容器可以 看作特殊的应用客户端容器,它负责在w e b 浏览器和j a v a 插件( j a v ap l u g i n ) 上运行j a v aa p p l e t 程序,应用客户端容器和a p p l e t 容器对应多层结构中的客 户层。 ( 2 ) w e b 容器:管理所有s e r v l e t ,j s p 等w e b 组件的运行,对客户请求响 应和返回结果提供运行时支持,w e b 组件及其相关容器运行在j 2 e ew e b 服务器 中。 ( 3 ) e j b 容器:负责所有e j b 的运行,它自动支持e j b 组件的事务处理和 生命周期管理,以及b e a n 的查找和其他服务,e j b 及容器运行在j 2 e e 应用服务 s l 宁波j 2 e e 结合u m l 在企业级系统中的应用计算机工程与科学,2 0 0 4 ,2 6 ( 3 ) :8 2 - 8 6 7 - 中山大学硕士学位论文 第2 章基于j 2 e e 多层分布式结构概述 器中。e j b 容器是支持j 2 e e 多层构架的基础结构,是一个控制业务实现的运行 环境,并提供了诸如事务服务、持久性、安全性等重要的系统级服务,从而使开 发人员不必开发这些基础服务,而把注意力放在业务逻辑的实现上。嘲 2 2j 2 e e 组件技术 组件是指在应用程序中能发挥特定功能的软件单位。简单地说,就是几种特 定的j a v a 程序,这些程序有固定的格式和编写方法,它们的功能和使用方式在 一定程度上被标准化。最基本的j a v a 组件是j a v a2 标准版中的j a v a b e a n s ,它 是按照特定格式编写的j a v a 类文件,j 2 e e 的组件在j a v a b e a n s 基础上进行了拓 展,提供了更多的应用组件,主要包括客户端组件、w e b 组件、e j b 组件和资源 连接组件等。 2 2 1 客户端组件 客户端组件位于w e b 应用的客户层。j 2 e ew e b 应用可以和多种客户端程序 连接,w e b 客户端包括动态生成的网页( 包含各种各样的标记语言,如h t m l ,x m l 等) ,以及在客户机上运行的w e b 浏览器。a p p l e t 是基于j a v a 的小型客户端组 件。客户端要么直接与运行在j 2 e e 服务器上的业务层通信,要么通过运行于w e b 层的j s p 或s e r v l e t 与业务层通信。 2 2 2w e b 组件 j 2 e ew e b 组件主要包括j s p 页面和s e r v l e t ,它们都能与服务器端的业务逻 辑组件进行交互。w e b 组件在j 2 e ew e b 容器中运行,w e b 容器支持多层结构的 w e b 层,通过h t t p 协议对w e b 请求进行响应,并将处理结果返回给客户。 s e r v l e t 是运行在j a v a 虚拟机上的对象,它在服务器上运行,并对客户请 求产生响应,在j 2 e e 应用程序中,客户将通过j s p 同s e r v l e t 进行通信,s e r v l e t 嘲卓琳,谭庆平利用u m l 开发j 2 e e 应用计算机工程与科学,2 0 0 4 2 6 ( 1 ) :8 4 8 7 8 中山大学硕士学位论文 第2 章基于j 2 e e 多层分布式结构概述 将调用会话b e a n 并同多个实体b e a n 交互。s e r v l e t 是企业级系统的二垒手,当 得到一个请求,它可能自己处理并向客户端发送一个响应,但较多情况是:它们 接受请求,进行转化,并交给系统的其它部分进行处理。s e r v l e t 是独立于各种 平台的j a v a 类,可以使用j a v a 的w e b 服务器装载和运行。s e r v l e t 容器是服务 器或应用服务器的一部分,它提供了网络服务,通过这些网络服务请求和应答对 以m i m e 为基础的请求进行解码,形成以m i m e 为基础的应答。“1 一个s e r v l e t 容 器能够建立在w e b 服务器的核心中,也可以通过服务器本身的扩展a p i 作为附加 组件安装在一个w e b 服务器中。s e r v l e t 容器还可以嵌入或安装到支持w e b 的应 用服务器中。所有的s e r v l e t 容器必须将h t t p 作为请求和应答的规程。 j s p ( j a v as e r v e rp a g e ) 提供了一种在网页中嵌入组件的方式,并且允许生 成相应的网页最终发送给客户。j s p 网页可以包含h t m l ,j a v a 代码及j a v a b e a n 组件。一个j s p 网页包括: ( 1 ) 格式化w e b 文档的模板数据。通常模板数据使用h t m l 或x m l 元素,文 档设计人员可以编辑这些元素,而不会影响文档中的动态内容。由于将数据的表 示与动态内容的生成分离开来,所以大大简化了开发工作。 ( 2 ) j s p 元素和脚本小程序用于生成动态内容。大多数j s p 网页利用 j a v a b e a n s 和e j b 组件来处理复杂的应用。标准的j s p 操作包括访问和实例化 b e a n s ,设置和检索b e a n s 的属性,下载a p p l e t 。通过定制标签可以扩展j s p 的 功能。 2 2 3 企业j a v a b e a n s 组件( e j b 组件) e j b ( e n t e r p r i s ej a v ab e a n s ) 是用于开发安全、可扩展、事务型的一种分布 式组件模型,系统使用e j b 组件实现了业务逻辑功能,如计划管理,合同管理等 等具体处理部分,包括会话( s e s s i o n ) b e a n 、实体( e n t i t y ) b e a n 和消息驱动 ( m e s s a g e d r i v e n ) b e a n 三类。 ( 1 ) 会话b e a n 代表的是客户端所要求完成的工作,会话b e a n 是商务过程 对象。它们执行商务逻辑、商务规则、算法和工作流程。会话b e a n 本身有两种 川朱敏,朱晴婷,李嫒嫒j s p w e b 应用教程清华大学出版社, 2 0 0 4 9 中山大学硕士学位论文第2 章基于j 2 e e 多层分布式结构概述 类型。一种是有状态( s t a t e f u l ) 会话b e a n ,另一种是无状态( s t a t e l e s s ) 会话 b e a n 。 有状态会话b e a n 是为商务过程设计的会话b e a n ,这些商务过程往往要跨越 很多方法和事务处理,为了实现这个目标,有状态会话b e a n 保留每个客户的状 态。无状态会话b e a n 用于商务过程中只需要一次请求对话的情况,这种单一请 求的商务过程不需要在方法调用过程中保持状态。 ( 2 ) 实体( ( e n t i t y ) b e a n 是一种持久性数据组件,代表存储在外部介质中 的持久对象或者已有的企业应用系统资源。也就是说,它是数据的一个对象包装 器,这样能够方便地操作和管理对象,表现为一个紧凑的形式。实体b e a n 的生 命周期相对较长并且状态是持续的。与数据库中的数据记录相对应,每个实体 b e a n 包含一个主键( p r i m a r yk e y ) 标识,该标识与组件代表的数据库记录主健相 同。客户端应用可以利用该主键定位e j b 容器中实体b e a n 的对象实例,进而定 位组件代表的数据库记录。 按照实体b e a n 持久性的实现形式,可以将实体b e a n 分为容器管理持久性 ( c o n t a i n e r m a n a g e dp e r s i s t e n c e ,c m p ) 和组件管理持久性( b e a n - m a n a g e d p e r s i s t e n c e ,b m p ) 两种类型。b m p 组件是指所有的数据库访问操作,都是由组 件的开发者开发,即关于对象持久化的操作必须由开发者编写代码;而c m p 组件, e j b 组件的安装者只需要描述哪些操作涉及到数据库,所有数据库的操作可以通 过e j b 容器或服务器完成,这样既减少了开发者编写代码的负担,还可以达到一 种数据存取平台无关性。因此,在设计中,采用了c m p 2 0 实体b e a n 。 ( 3 ) 消息驱动b e a n 是一类特殊的e j b ,不能直接对其进行调用,是能够接 收j m s 消息的特殊的e j b 组件。消息驱动b e a n 通过提供一种在e j b 容器内部处 理消息的方式来实现j m s 的异步属性。嘲当应用程序客户或者一个应用程序通过 2 a s 发送一条消息时,容器调用适当的消息驱动b e a n 来处理这条消息。 消息驱动b e a n 没有主接口、本地主接口、远程接口或者本地接口;消息驱 动b e a n 不具有任何返回值;消息驱动b e a n 是无状态的。 消息驱动b e a n 完全由e j b 容器管理,通过实现实例池进行并发消息的处理, 而j m s 消息消费者必须通过在服务器端的会话池中创建m e s s a g el i s t e n e r 类实 嘲( 美) e dr o m a n 著,刘晓华等译精通e j b ( 第二版) 北京;电子工业出版社2 0 0 2 - 1 0 中山大学硕士学位论文第2 章基于j 2 e e 多层分布式结构概述 现这一功能,这是消息驱动b e a n 与j m s 消息消费者的不同之处。消息驱动b e a n 的最大优势是“编写一次,随处配置”。 e j b2 1 的新特性主要集中于有关s o a p 和w s d l 的w e b 服务,包括两种新推 出的w e b 服务应用程序接口( j a x r p c 和j a x m ) 。它们可以用来与其它w e b 服务模 块通信,并适当地在w e b 模块中运用无状态会话b e a n 和消息驱动b e a n 。就是说, 基于新的标准,e j b 将逐渐成为w e b 服务的开发平台。 2 3j 2 e e 服务技术 j 2 e e 服务器提供了方便编程的各种服务技术,这些技术是多层分布式应用 需要但不需要编程者开发,例如数据库连接服务、命名服务、事务服务、安全服 务、连接框架等。它们为基于j 2 e e 多层分布式应用的开发提供支持,在应用中 通过调用相应的a p i 来使用这些技术。 2 3 1 数据库连接服务( j a b o ) j d b c 是一组j a v a a p i ,它提供了一组标准的a p i 调用来进行数据库的访问。 它屏蔽了j a v a 程序对各种数据库访问的差异,j a v a 程序可以使用同样的可移植 的接口访问数据库,使j a v a 的应用范围扩展到了数据库领域。 运用j d b c 能够以多种不同的方式建立一个j a v a 服务器程序与多种不同数据 源的连接。所选用的驱动程序将影响到系统的性能与功能。 j d b c 数据库驱动具有四种类型:j d b c o d b c 桥、部分j a v a 、j d b c n e t 、纯 j a v a 。其中类型4 驱动性能最好,是w e b 应用开发的最佳选择。 2 3 2 命名和目录服务( j n d i ) 命名服务将对象和名称联系在一起,可以通过它们指定的名称找到相应的对 象。j a v a 命名和目录接口( j n d i ) 是一个为j a v a 应用程序提供命名服务的应用程 序编程接口( a p i ) ,是j 2 e e 技术中一个完整的组件。容器为组件提供运行环境, 中山大学硕士学位论文 第2 章基于j 2 e e 多层分布式结构概述 以j n d i 命名上下文的形式提供给组件。j 2 e e 组件使用j n d i 接口来确定它的环 境命名上下文。组件创建j a v a x n a m i n g i n i t i a l c o n t e x t 对象,在 i n i t i a l c o n t e x t 中查找环境命名上下文( j a v a ;c o m p e n v ) 。组件的命名环境直 接存储在环境命名上下文中,或任一它的直接或间接子上下文中,j 2 e e 组件可 以访问系统提供对象或用户定义对象。j 2 e e 平台允许命名用户定义的对象,如, 企业b e a n s 、环境入口对象、j d b c 的d a t a s o u r c e 对象、消息连接对象等。j n d i 提供了企业级应用所需要的系统注册、存储以及获取组件等功能。 2 3 3 事务服务 事务( t r a n s a c t i o n ) 是任务的单独基本操作或单元执行的任务,具有原子性。 j 2 e e 事务服务用于保证应用程序的数据读写进程互不干扰。如果一个数据操作 能整个完成,它就会被批准执行;否则,就当什么都没做。事务服务提供了j t a a p i ,可以在e j b 层或w e b 层实现,而不用开发者自己实现这些功能,简化了数 据操作。 2 3 4 安全服务 j 2 e e 提供了严密的安全措施,用于保证系统资源仅能由授权用户使用。一 般是分为两步;首先是验证,即用户必须经验证确定其身份,典型的做法是用户 提供验证数据( 如用户名和密码) 。第二步是授权,当通过验证的用户设法访问系 统资源时,系统要根据安全策略确定该用户是否有权限进行相应的操作。 2 4j 2 e e 对w e bs e r v i c e s 的支持 w e b 服务是使用标准技术实现、被发送到因特网上;并能被访问者发现和使 用的过程。通过使用w e b 服务,公司能够轻易地把应用程序连接到任何客户端上, 客户端包括桌面应用程序、w e b 浏览器、移动设备以及p d a 。w e b 服务让开发者 能建立这样一种电子商务应用:可以连接到任何客户( 供应商和业务伙伴) ,而与 中山大学硕士学位论文 第2 章基于j 2 e e 多层分布式结构概述 平台和编程语言无关。 j 2 e e 最新的w e bs e r v i c e sf o rj 2 e e 规范定义了在j 2 e e 应用程序服务器中 如何支持w e b 服务。它定义了w e b 服务的客户端模型、部署模型和运行环境模型, 从而使w e b 服务可以在不同的应用服务器之间保持良好的移植性。j 2 e e 提供了 w e b 服务总框架,包含w e bs e r v i c e sf o rj 2 e e ,j a x - r p c ,s a a j ,j a x r ,e j b 2 1 等技术。 j 2 e e 中开发w e b 服务通常有j a x r p c 和j a ) ( m 两种方式。j a x - r p c 是一种远 程调用方法,利用基于x m l 的远程调用实现w e b 服务;而j a x m 主要是基于消息 的w e b 服务方式,用于实现数据传输。j a ) ( m 不是j 2 e e 平台中的一部分,它是一 个可选的开发包。通过j a x m 发送和接收基于s o a p 的消息,也可以利用e j b 2 1 消息驱动b e a n 可以接收j a ) ( ms o a p 消息。由于信息系统与合作伙伴较多的需要 一种数据传输、共享方式,因而本系统采用了j a x m 实现w e b 服务。 2 5j 2 e e 多层应用开发与部署 j 2 e e 开发有j 2 e e 产品提供者、应用程序组件提供者、应用程序组装者、工 具提供者、实施者、系统管理员6 种角色。j 2 e e 应用程序的开发、部署过程主 要分为三步:首先,应用组件提供商负责开发e j b 模块、w e b 层程序和应用客户 模块;其次,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 植物多酚的提取研究进展
- 2025年融资专员岗位招聘面试参考试题及参考答案
- 2025年农业经理岗位招聘面试参考题库及参考答案
- 2025年卫生保健管理员岗位招聘面试参考试题及参考答案
- 2025年媒体策划经理岗位招聘面试参考试题及参考答案
- 2025年科研项目经理岗位招聘面试参考试题及参考答案
- 单位人力资源管理制度范文大全十
- 浅谈事业单位绩效考核存在的问题与应对策略
- 2025年产品推广经理岗位招聘面试参考试题及参考答案
- 2025年流程专员岗位招聘面试参考题库及参考答案
- 环境监测职业生涯规划
- 华北理工大学冀唐学院《医用化学》2021-2022学年第一学期期末试卷
- ICU保护性约束护理
- 浙江省导游词
- 质量互变规律、否定之否定规律
- 火力发电厂自动化控制系统与设备考核试卷
- 2024年秋季新北师大版八年级上册物理课件 4.5设计舞台灯光秀
- 大学生职业生涯规划书建筑消防
- 中医冬季养生课件
- 热轧无缝钢管施工方案范本
- 养殖场兽医的聘用合同示本
评论
0/150
提交评论