(计算机软件与理论专业论文)j2ee应用集成层的一种实现模型.pdf_第1页
(计算机软件与理论专业论文)j2ee应用集成层的一种实现模型.pdf_第2页
(计算机软件与理论专业论文)j2ee应用集成层的一种实现模型.pdf_第3页
(计算机软件与理论专业论文)j2ee应用集成层的一种实现模型.pdf_第4页
(计算机软件与理论专业论文)j2ee应用集成层的一种实现模型.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(计算机软件与理论专业论文)j2ee应用集成层的一种实现模型.pdf.pdf 免费下载

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

文档简介

。凹姒厶生型! 二生僮熊囊= 2 星基塑崩基摭崖鲍二挫基蛆攥烈 j 2 e e 应用集成层的一种实现模型 计算机软件与理论专业 磷突生婊逡撰导教强常致全 近年来,。方烈随着数据库技术不断地发展,除传统的关系数据库外,n l 数据瘁、垂| 魂对象数据库等瑟瓣数强库形式 :始应嗣裂企鼗中来。另方瑟, 企业不断地兼并和重组,新的企业需要使用以前各个企业使用的异构数据源。 如何使用这些不同的数据源成为我们面临的问题。本文提出了一种基于j 2 e e 实现对番静不屈数撬源透爨访阉熬模型。这秘数掇访超方式群菠了各秘数搽源 的差异,并以统一的形式返回传输对象和数据对象。 本文首先介绍了软件体系结构的演变历史,对各种软件体系结构的优缺点 进行了分析并着重介绍了当静广泛使用的多层软件体系结构和g s 体系结构。 然后奔绍了鏊予多层较释体系缭季奄的企鲎缀脆嗣系统开发赡范j 2 e e ,弗碍孩援 范的相关技术、5 2 e e 的分层以及各层的设计模式进行了说明。接着对其中的 d a o 模式展开讨论,分析了它的两种实现。针对我们要实现对多种数据源的透 鸹访闽豹霰求和大多数实际w e b 应臻场景,提出了基于无连接匏d a d 摸罄( 简 称d d a 0 ) ,并对它的框架和原理进行了解释,还与榴关的e l i 概念进行了对眈。 随后对d d a o 模型的重要组件中介器的功能谶行了分析,中介器从各种数据源 获取数据,弗产生数据传输对蒙,然后再将对数据的修改返回到具体数据源。 荠翼俸l 盖关系数据库中奔器蠢x 弧中分器瓣稳疆逶幸亍了分耩浇朝。接蓑霹系统 关键j a v aa p i 的设计进行了讨论:数据对象( d a t ao b j e c t ) 代表业务数据对象, 是我们数据处理的主要剥象;序列( s e q u e n c e ) 主要用于融泶些数据对豫表示 不了黪颇痔关系和表示一些半鳃穆诧数掘;传赣对象( t r a n s f e ro b j e c t ) 跫数 据对琢的集合,包龠一个根数掭对象,可嗡通过根数据对象递归访问所有的数 凹舭走堂l 刈:堂焦埝。建= 二1 2 旦曼逝日簋贼基啦二盘塞瓤撼烈 一 撰对象;更改记录( c h a n g es u m m a r y ) 记录霹数攒精象戆修改,馋袁穆改数器源 的依据。类型( t y p e ) 是数据对象或属性的类烈;属性( p r o p e r t y ) 定义了数据对 象的属性。并分别用j a v a 代码袭示了这些接口。最后从用户的角度以一个实 例演示了对于数据对象访问。 关键词:软件体系结构;1 2 e e ;模式;d a o ;d d a o ;中奔臻 则j i i 大学硕士学能论文一j 2 e e _ 呶用攘成层的一种擞现模型 a n i m p l e m e n t a t i o n o fa p p l y i n g i n t e g r a t i o nt i e r o nj 2 e ep l a t f o r i l l m a j o rc o m p u t e rs o f t w a r ea n dt h e o r y p o s t g f a d u a t ej i a nc h e n d i r e c t o r z h i q u a nc h a n g t h e s ey e a r s ,a st h et e c h n o l o g yo fd a t a b a s ei sd e v e l o p i n gd r a s t i c a l l y , b e s i d e so ft h et r a d i t i o n a lr e l a t i o nd a t a b a s e s ,s o m en e wt y p e so f d a t a b a s e ss u c ha sx m l + d a t a b a s ea n do b j e c td a t a b a s e & r eu s e di n e n t e r p r i s e s o n t h eo t h e r h a n d ,a se n t e r p r i s e s a r ec o n t i n u a l l y d e v e l o p i n gb yc o n s o l i d a t i o na n dr e g r o u p i n g ,t h en e we n t e r p r i s e sh a v e t ou s et h ed a t a b a s e so ft h e o l de n t e r p r i s e s ,b u tt h e s ed a t a b a s e sm a y n o tb et h es a m ei at y p e 。h o wt ou s ea n dm a n a g et h e s ed i f f e r e n td a t 氇b a s e s i st h ep r o b l e mw eh a v et of a c et o t h ep a p e rp u t sf o r w a r dam o d e lt o a c c e s sa n dm a n a g et h e s ed i f f e r e n td a t 曲a s e st r a n 8 d a r e n t l y 。t h i sm o d e l s h i e l d st h ed if f e r e n c e sa m o n gt h e s ed a t a b a s e ,a n dr e t u r n st h e d a t a o b j e c t sa n dt r a n s f e r o b j e c t su n i f o r m l y t h es o f t w a r ea r c h i t e c t u r ei sf o c u s e do nw h a tc o m p o n e n t ss h o u l dh eu s e d 专os e tu ps o f t w a r es y s t e ma n dt h er e 王鑫t i o n s 廷i p sb e t w e e nt h e s em o d u l e s + t h i sa r t i c l ea n a l y z e st h ee v o l u t i o no fs o f t w a r ea r e h i t e c t u r ea n dp o i n t s o u tb o t hm e r i t s a n dd e m e r i t so ft h e m ,i te m p h a t i c a l l ya n a l y z e st h e p o p u l a rm u l t i l a y e rs o f t w a r ea r c h i t e c t u r ea n db sa r c h i t e c t u r e t h e n i te x p l a i n st h e 显e es t a n d a r du s e di n d e v e l o p i n ge n t e r p r i s el e v e l 四川大学硕士学位论文- - 3 2 e e 应用集成层的一种实现模型 a p p l i c a t i o ns y s t e mb a s e do nm u l t i l a y e r s o f t w a r ea r c h i t e c t u r ea n d r e l a t e dt e c h n o l o g yc o n t a i n e di ni t ,t h e ni l l u m i n a t e st h el a y e r si n j 2 e ea n dt h ed e s i g np a t t e r n si ne v e r yl a y e r t h i sp a p e ra n a l y s e st h e d a op a t t e r na m o n gt h o s ep a t t e r n sa n dt w oi m p l e m e n t so ft h i sp a t t e r n , t h e ni no r d e rt or e s o l v eo u rp r o b l e ma n da c c o r d i n gt h ea c t u a lc o n t e x t o fw e bt h i sp a p e rp u t sf o r w a r dt h ed d a om o d e l ,w h i c hm e a n sd i s c o n n e c t e d d a o t h e nt h ef r a m ea n dp r i n c i p l eo f t h ed d a om o d e li se x p l a i n e d , c o n t r a s t i n gt ot h ee i i 。f o l l o w i n gt h a t ,t h i sp a p e ra n a l y s e st h ef u n c t i o n o ft h em e d i a t o r s ,w h i c ha r ei m p o r t a n tm o d u l e si nt h ed d a om o d e l t h e m e d i a t o r sd r a wd a t ao u to fd a t as o u r c e sa n dp r o d u c et h et r a n s f e r o b j e c t s , t h ec h a n g e st h ed a t as o u r c e sa c c o r d i n gt h ec h a n g e dd a t a o b j e c t s 。t h i s p a p e re x p l a i n st h em e c h a n i s mo fm e d i a t o r su s i n gt h er d bm e d i a t o ra n d x m lm e d i a t o r t h e nt h ep a p e ra n a l y s e sh o wt od e s i g ns o m ei m p o r t a n tj a v aa p i si nd d a o m o d e l t h ea p is a r et h ei n t e r f a c e so f d a t a o b j e c t , s e q u e n c e , t r a n s f e r o b j e c t ,c h a n g e s u m m a r y ,t y p ea n dp r o p e r t y d a t a o b j e c ti s a n i n t e r f a c et oa c c e s st ob u s i n e s sd a t ao fa l1t h ec o m m o nt y p e s s e q u e n c e s a r eu s e dw h e nd e a l i n gw it bs e m i s t r u c t u r e db u s i n e s s d a t a 。t h e t r a n s f e r o b j e c tc o n s i s t so fas i n g l er o o to a t a o b j e c ta l o n gw i t ha l lt h e d a t a o b j e c t s t h a tc a nb er e a c h e db yr e c u r s i v e l yt r a v e r s i n gt h e c o n t a i n m e n tr e f e r e n c e so ft h er o o td a t a o b j e c t 。t h ec h a n g e s u m m a r y p r o v i d e sa c c e s st oc h a n g eh i s t o r yi n f o r m a t i o nf o r t h ed a t a o b j e c t si n at r a n 8 f e r o b j e c t t h et y p ei n t e r f a c er e p r e s e n t sac o m m o nv i e wo fad a t a t y p e t h ep r o p e r t yi st h ea t t r i b u t eo fd a t a o b j e c t a tl a s tt h i sp a p e r d e m o n s t r a t e sh o wt ou s et h ed d a om o d e lb ya ne x a m p l e k e y w o r d s :s o f t w a r ea r c h i t e c t u r e :j 2 e e :p a t t e r n :d a o :d d a o ;m e d i a t o r 四川大学硕士学位论_ :叟= 一j 2 e e 应用集成层的一种实现模型 第一章绪论 1 1 课题背景 _ i 凌年来,一方露延着蒙据瘁披零不叛建发震,除接统戆关系数摇痒乡 ,x m l 数据库、面向对象数据库等新的数据库形式开始应用到企业中来。另一方面, 企业不断地兼并和戆组,新的企业需要继续使用以前各个企业的数据源,这些 数据源缀有可能是髯构的数据源。如何高效正确地使用这必不同的数据源成为 我镅瓣疆翡弼蘩。 按照一般的做法我们必须针对每一种数据源进行大量的设计、编码、测试 和维护工作,以便猩新的系统中访问这些数据源。但是当一有调整,又得重复 这些季蠡燥乏猿戆工传,这镬褥我爨谤润这些数攥穰羝效。 对于我们一般的应用系统,我们只关心的整数据的使丽,我们不想把我们 宝贵的时间和精力花在烦琐的底层数据访问方法上。那么我们有没有什么方法 来屏蔽这些数据漾的差异,实现对这些异构数据源的透明访阉睨? i 2 课题内容 本文麴主要嚣熬雀子嚣叛主鞠踅箍塞蟹凌方寨。 我们可以在j z e e 系统的集成层实现对各种不同数据源的透明访问。这种数 据访问方式屏蔽了各种数据源的差异,并以统的形式返麟传输对象和数据对 象。这撵我们裁可以专注于、监务逻辑麴设计秘开发。 这霉孛数据谤阂方式寇括| 三l 下一釜概念: 基于j 2 e e 的体系绺构,在集成鼷实现对不同数据源的封装。 基于组件的系统框架。 基于瑟涟接熬数爨访趣模式。 数据访问的乐观并发控制策略。 四川大学硕士学位论文_ t 2 e e 应用集成层的一种实现模型 基于以上概念,本文针对如何集成和处理多种数据源提出了一种模型,通 过这种模型可以透明地访问各种数据源;本文利用基于组件的思想提出了这种 模型下可拔插的中介器的设计,对应与不同的数据源有不同的实现,但以统一 的形式返回传输对象和数据对象,然后再将更改返回到具体数据源;本文提出 了使用乐观访问控制策略和修改记录来实现对数据源的无连接访问方式,修改 记录主要用于记录对数据所做的修改。 1 3 本文结构 本文第一章介绍了课题背景和内容;第二章分析了软件体系结构的发展, 重点介绍了多层软件体系结构;第三章介绍了j 2 e e 分布式企业计算模型和 j 2 e e 设计模式;第四章讨论了d a o 模式及其实现;第五章提出了基于无连接的 d a o 模型,并与e i i 进行了对比;第六章讨论了中介器设计;第七章讨论了系 统j a v aa p i 的设计;第八章通过一个实例演示模型的应用。第九章对本文作 了一个总结,分析了本课题研究的平台的优点和不足以及如何改进。 2 凹川大学硕士学位论文j 2 e e 威用集成层的一种燕现模型 第二章软件体系结构 软 争体系研究的是软部件与部件之闻的联系。本章从软件体系络鞫着手, 分析应用程序体系结构不断发展变化的内在原因和各种体系结构优缺点。 当前的分稚式应用体系结构分别有2 屡、3 层和n 层体系结构,实际上的 纛曩程痔可戆要求套更复杂静形式,寿辩是上述咒静翡凝兹缝合。 在分布式威用体系结构出现以前,为企业提供处理能力的曾经鼹大型计算 机,采用的是究全集中化的计算形式( 从用户界面生成翔高性能事务处理) 。2 0 擞纪8 。年代露麓出现了耨抟专卡箕模型萋名瞧客户掇n 务器系绫。正是客 户橇服务器技术推动了企觳自动亿处理盼迅速传播【1 4 】。 典型的客户机服务器悬建立在2 层体系结构上的,在数据和表示业务逻 辑之间有一个清楚的分界。这种系统一般楚数据驱动鹩,服务器在锪丈多数时 瘸墨戒舞数蠢箨驻务器,鬈户方翻是一个搦予攥痒数瓣靛赛瑟。 2 1 集中式体系结构 第一代的暾用程序体系缩构采用静燕集中式软件体系结构。这种软件体系 结构是和当时的计算机软、硬件技术相适臌的。由于当时计算机硬件价格昂贵, 舆型的计算模式是在台集中式蛇大型分时主机( m a i n f r a m e ) 上连接鹫多个终 潦竣老采矮一耱莛享文锋簸务器憝方式。在这静诗算禳式中,嚣雾的孩心是大 型主机,由它采用分时调度的方法来同时为连接的多个终端用户提供服务,而 每个终端对应饕大型主机中的一个进程,在终端上没衡计算能力【l 】。 这静集中式诗箕模式农诗葵援发震熬裙麓毒蓉广泛蠡奄应用,与鼗糖逶应茨 怒当时计算枫软件开发的集中式软件体系缡构。这一阶段软件开发的中心任务 巢中在大型主机上,主要表现为采用合邋的调度策略朱为各个进程( 终端所提 交的任务) 分配主枫资源,究成终端所提交的作业。出于整个软件絮梅采用的 怒集中式处理,傻缛系统熬缀护帮管理圭凝集中在中心绫点土,戎价耱对较 囊。 凹川大学硕士学像论文一j 2 e e 应用集成层的一种实现模型 孬藕逶豢寒落,在主辍窝各令终壤之阉连接瓣线蘸较短势多采罴专线,终溃节 点的分布局限在一个小的范围以内,使得稔序运行的可靠性很高。 但是这种计算模式有着蝗致命的缺点,严重地影响着它的继续发展,主 要焱瑷在: 硬律投瓷商。 增加计算能力的花费大。 对于大部分应用来说,资源的利用察低。 太部努泌疲囊霹移攮魏嚣,不够灵添。 而且随着计辣机硬件和计算机网络技术的发展,以及各行业对计算的需求 的急剧增加驱使计算机软件的舰模与复杂度不断增长,送种模式的局限性越来 越明显。嗣时势蘸骜计算辊硬转技术敬飞速发展,使褥工终兹瑟个人诗箨枧被 广泛应用,推动了一种新韵诗算摸式客户梳期琵务器计算模式产生。 & 2 两层分布式体系结构 在客户机暇务器计算模式发展的初期,酱遍采用的软件体系结构怒两层模 型【1 5 。在传统的两层应用程序中,应用程序分为两部分( 层) ,一部分负责数 据输入秘业务逻辑处理,一部分负责数据持久存鼹【1 3 】。第一部分建疆王佟 宙客户方p c 负费,两第二部分亩整理能力较强的服务器撵经,服务器简单是 作为应用程序和数据之间的传输控制器。它们可以同时服务于多个客户,在两 层模溅中,这种服务器可以提供数据库的查询和管理、大规模计算等服务。对 予瑟户来说,强务器是透臻熬,溺户哭是惑裂经在接餍客户梳焉不会慧谖餮焉 台服务器的存在。 两层体系结构和传统的集中式体系结构相比,有很大的灵活性,丽其优点 主要表骥在以下足个方垂【1 】: 减少了潮络负载。 提供了发好的用户界面。 性能价格比比较高。 具有蠹始麓霹扩震毪。 四川大学硕士学位论文一j 2 旺虚用集成层的一种蜜蠛模型 可戳分毒式管理。 这些特点部分地解决了黛中式体系绪构下的软件开发中的问题,对于在局 域网内并发用户较少时的分布式计算是一个不错的解决方案。但是,当并发用 户数量增多时,性能开始恶化。不仅应篪程序静性簧受到p c 枫上霄限资源 豹嗣约,焉基掰络佟输量氇增大了许多。当整个应蔫穗_ | 擎都在一台祝器上处理 时,应用程序猩向用户显示信息时都一般腰进行多次数据请求。这必数据请求 对网络系统造成了严重的负掇。问时,当软件结构复杂性上升的时候,下面一 黧因素氇是嚣滋款斧髂系缝筏本身瘊难戳宠骚戆涵题: 系统缀护性差:即便对一个应用程序进行了一处很小的改动,都会涉 及到整个用户群,而且存在版本鼹新不一致的问题。 应用逻糖难跌捌分。 襞乏髓壮的安全往。 缺乏可伸缩性。 缺乏w 移植性( 例如数据库厂家专商的存储过穰等) 。 2 3 三层和多层分布式体系结构 由于客户撼n 务器诗算模式中两瑟模毽鑫身不可毙鼹懿缺隆,使褥它艇难 敬满足应用中复杂韭务逻辑静划分和设计。为了解决两艨模型豹闷题,软件韭 界开发了三层体系结构1 1 6 。应用程序被分解成三个不同的逻辑层,备层都有 一缀定义好的接1 3 。每一层对应于一个特定的应用程序功能,他们之闽使用定 义鞠确赘、霹潮定豹方式送纷_ i 藿售。三滋髂系结鞫懿黼2 。1 。 豳2 ,1 三屡体系绻檎示意囤 三层体系结构中,将整个应用系统分为了表示层( p r e s e n t a t i o nl a y e r ) 、 中阕蘑( b u s i n e s sl a y e r ) n 数搔蒺( d a t al a y e r ) ,萁中: 四川犬学硕士学t 藏论文一j 2 e e 应用集成层的一种实现攥型 表示基怒斑震系绫翳翅户器瑟,蹩惩户与系绞送行交互躲蔹黧,一般 由一个豳彤用户界面或者类似的事物组成; 中间层也称业务层,由应用程序或者业务逻辑构成,是业务系统的核 心部分,它控制蓑整个姓务系统的处理浚程,黠泉鑫表示层的不同请 求进毒亍桷斑并进行穗应的楚瑾,鲶壤以螽德穗痰豹结果格式化为角户 可以阅读的方式返回表示层; 数据层包含的是应用程序需要的数据。这些数据可以包含任何信息源, 其中趣攒缀o r a c l e 或蠢s y b a s e 这谨的关系数据黪,迄霹馥是一缓x m l 文档甚至是像l d a p 服务器这样的目录。 将应用程序逻辑按照功能避一步划分,可以形成4 层谣至多层次体系结构 【1 2 。如对三层中的中间层划分为表示遥辍纛业务逻辑鼹个子层,袭示逻辑 子鼷处理与表示鼷( 霜户赛西) 鹣通信,定义爝户界面显示的内容阻及对髑户的 请求如何进行处瑷,而业务逻辑子层确定了应用程序的业务规则,程序经常通 过业务逻辑层访问企业数据。 稠鼹予簧绕豹强震软俘搭系,多差势蠢式体系寿淤下特点: 安全性:中间层隔离了客户直接对数据服务器的访问,保护了数据库 的安全; 稳定性:对于要求2 4 7 工作的业务悉鲮,多层分布式体系提供了更可 靠静稳定性:1 中闻鼷缓冲c l i e n t 与数据库的实际连接,使数据库熬 实际连接数量远小于c l i e n t 应用数擐。当然,连接数越少,我们的数 据库系统就越稳定。2 f a i i r e c o v e r 机制能够夜一台服务器崩溃的情 漫下,遽秘逸惩窖,孝镄王终转移弱蒸瞧箕弯霜襻效务囊麓豹l 嚣务上; 易维护:由于业务逻辑在中间服务器,当业务规则变化后,客户端程 序基本不做改动; 快速响应:逶过负载均黎以及中瞬鼷缓存数攥黪力,可鞋提藏对客户 端酌镌成速度; 系统扩展爱活:基于多展分布体系,当业务增大时,可以在中间层部 署更多的腹用服务器,提高对客户端的响应,丽所有变化对客户斌透 鞠。 嚣矧大学磉士学捷论文一1 2 e e 应溺集成瑶的一种实黼模型 自从上个世纪8 0 年代后期以来,基于客户机服务器的软件体系缕构已经 被广泛魔蠲。特羽是近年来,这种多屡的软僻体系结构的应用目盏广泛,艇怒 必须清楚浆是并不是说每个应用都必须采用多层模裂。慰于舆体鲶应用来说, 应该选箨蹬遥合酌软件隳构模趟,选择的标准包括妲务规模、用户数量、价格、 当恭和寒来赞诗算环境、数撂乎台鹣嚣穗程度等残豢。苏在软 孛体系缝褥瓣复 杂性和霹用燃之阅傲一个权簿,鞋蹬少赫代徐豢袋最太懿牧盏方裁捷镦一个好 魏勰决方案豹务察两可行麓骰涟。 2 。4b s 软件棒系缩构 b s 软件体系结构,即b r o w s e r s o r v e r ( 浏览器服务器) 结构,是随着 i n t e r n e t 鞠w e b 技拳蕊必起,慰基予c $ 戆髂系嚣褥鼹一糖交纯或者菠避鞠缭 橡。在b s 体系结梅下,客户端完全逶避飘b 浏赞器宾瑙,一酃分事务逻辑在 蔫端实臻,毽爱蔓要霉务滋瓣在l 琵务器端实现。 w e b 浏览器是一个用于文档检索和鼠示的客户废用程序,并通过越文本佟 虢- | 夯浚辩押与尊曲服务嚣福漆。低成本、简单翳埔的客户测览器能随聪随地 鳓佥渡酌w e b 站感上,螽鞠自己所嚣的数据。客户漆操俸界面的一致鼗克服了 褥豢绪稳e 庙模鬣客户端多种程序所带来的艇业资料的不致憔,而服务器端 静开放移葵予标礁鳆连接方寨,大大细黧了念监与羚部麓联系,鼹辩,秘态静、 交互式的傣患发鸯改遴了企业黠客户静羧务箴量,增麴了企选的裔枫。 b s 捧系缝稳燕要爨裂矮不凝残熟酌w e b 淫夔藜技零,结含涎菱嚣瀚多耱 脚本语言,用通用浏览器就实现了原来鬻要笈杂的专用软传才能实现的强大功 髓,并节约了开袋藏本。鏊于b s 体系缩构的软件,系统安装、修改秘维护垒 在服务器端解决。闱户在使用系统融,仅仅镦要一个浏览嚣就可运行全部的模 疆,粪正达虱了“零客户鞴”鹊功稳,椴容茹在运行时自动升缀。b s 体系缩 穗逐提供了异耱撬、异转嚣、辫釉应趱黢务熬联瓠、袋甄i 绞一l 爰努懿爨襞实 的开放性慧础。 麓予b s 蕊系缝梭懿w e b 蔽建程垮氇是纂予多瑟瀚。在三爱缝橇静w e b 技 术中,数据库不是姐接服务每个客户帆,丽媳与w e b 殿务器媚沟通,实潍了对 四川大学硕士学位论文一j 2 e e 应用集成层的一种实现模型 客户信息服务的动态性、实时性和交互性。这种功能是通过诸如c g i 、i s a p i 以及j a v a 创建的服务器应用程序实现的。w e b 服务器既充当客户的“代理”, 又是数据库的客户机。它将不同来源、不同格式的信息汇集成统一界面,提供 给客户端浏览器。 如果在应用系统中涉及到复杂的业务处理时,也需要在数据库和w e b 服务 器之间增加专门的应用服务器处理业务逻辑,从而形成了多层次的w e b 业务系 统,一个典型b s 的五层结构如下图: 图2 2b 8 多屡体系结构示意 在下一章中将以j 2 e e 为例介绍每一层的作用。 四川大学硕士学位论文j 2 雎成用集成层的一种露现模型 第三章3 2 e e 分布式企业计算模拟 企业级多藤应用系统的开发一鱼嚣耩漪重大挑战:一方面,企渡级多屡应 用系统面对的燧一个异构的分布式环境,宅必须支持与国有系统的集成性和与 其它系统的互撵作性;另方丽,作为客户、合作伙伴鄹企业内部提供信息服 务平台,金盈缀多瑟瘦爱系统还必矮兵蠢淹可靠毽、安全毪纛律臻怒。这些要 求爵加上复杂多变的用户需求和不断伸缩的交付时间,使得企业级多层应用系 统的开发越来越困难。开发商和广大程序员一直在努力推动和殷切期待一个成 熬煞、标准熬众数级应忍乎惫寒筵证积麓菠企业级应臻系统酶开发帮部署。 j a v a 技术的出现,尤其是j 2 e e ( j a v a 2p 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 2 e e 平台产赫之淹匏交互成为可麓。 3 1 j 2 e e 组成 首先来介缁j a v a 语言。j a v a 是释掰向对象静谱京。它有如下特点:简 单,分布式,解释性,键壮,安全,结构中立,可移植,性能优异。j a v a 语言 于1 9 9 5 年由s u n 公司推出,巍时它的主要用途是制作产生动态网页的a p p l e t 。 嚣采,大粕发鬣j a v a 戆“一次开发,饕憝运毒亍”、楚甏良对象豹特愁、垃圾回 收机制和内置的安全性特别邋台于开发企般级应用系统。于是,企业级应用开 发商纷纷在j a v a 标准版的基础上各自扩展出许多企业级应用a p i ,其结果导致 蒸予j a v a 躲众渡级应用呈堞绛式增长。簇是蚕令金选级应震a p i 之阕又不能 籀匿兼容,酸环了j a v a 的平螽独立性。蕊于此,s u n 公司联合i b m 、o r a c l e 、 s e a 等大型企业级应用系统歼发商于1 9 9 8 年共同制订了一个基于j a v a 组件技 术的企业级应用系统开发规藏,该规范定义了一个多层企业信息系统鲍标准平 台,罄在篱纯秘麓莛企业级瘦瘸系统匏开发和部署。 ( 豳川火学硕士学能论文j 2 e e 应用策成层的一种实现模型 j 2 e e 本身麓拿拣准,瑟不是一令褒戏装产菇( 虽然瑷在有缀多符食j 2 e e 标浪的产品) ,它由以下几个部分组成【2 】; j 2 e e 规瓤,该规范定义了j 2 e e 平台的体系结构、平台角色及j 2 e e 中 每静服务程核心a p i 的实联要求。它跫j 2 e e 应熙服务器开发商的大缨。 j 2 e e 兼容性测试站点,s u n 公司掩供豹一个测试j 2 疆应笄i 服务器是否 符合j 2 e e 规范的站点,对通过该站点测试的产晶,s u n 公司将发放兼 容性证书。 j 2 e e 参考实褒,零弱e es d k ,它凝楚s u n 公赛己对露珑勰菠熬一 个非商且k 性实现,又是为开发基于j 2 e e 企业级应用系统原型提供的一 个免费的底层开发环境。 j 2 e e 实藏搔离,即b l u e p r i n t s 文趱,该文档逶过爽铡来指导舞发人员 鲡褥去开发一个基予j 2 e e 的企韭缀多层应蠲系统。 3 。2j 2 e e 体系结构 j 2 e e 规范定义了一个基于缀件的企业级多层应用系统开发平台,其体系结 构如图3 1 所示。图中的椭圆形表示组件,大矩形表示容勰,包含向下文字的 小缒形表示a p i ,蓊头表示访蜒,簸头线上靛文字表示穗斑鲢协议。 j 2 e e 是一个蒸予组徉容器模型的系统平台,其核心概念是容器。所谓 容器就是指为特定组件提供服务的一个标凇化的运行环境,j a v a 虚拟机就是个 典型的容器。j 2 e e 规范定义了四种不同类型的赛器: a p p l e t 嚣嚣,运 亍窝黪疆细p l e t ; 应用客户端容器,运行和管理标准j a v a 应用客户端程序; w e b 容器,运行和管理袭现逻辑层的s e r v l e t 组件和j s p 组件; e j b 容嚣,运行和管联妲务逻辑层瓣e j b 缝传。 辑谓缀件就是可以部署豹程序零元,它戬菜辩方式运行程容器中。j 2 e e 规范定 义了如下组件: 客户端缎件:a p p l e t ,j a v a b e a n ; w e b 缓终:s e r v i e t ,j s p ,j a v a b e a n ; l o 四川大学硕士学位论文一j 2 e e 应用集成层的一种窳现模型 e j b 缝彳譬:e j b 。 闰3 1j 2 e e 的容器及a p i 结构 在这个锩系结稿中,可是看到,主簧裔两类客户: 1 w e b 客户,只运行在w e b 浏览器中。 对于这些客户,用户界面是在服务器方以h t m l 或者x m l 的形式生成的,由 滋楚器下载势量显示遗来。这鏊客户搜翅h t t p 与w e b 褰器逶售。w e b 察器孛熬 成用程序组件包括s e r v l e t 和j s p 网页。这些组件实现了w e b 客户要求的功能。 w e b 容器负责从w e b 客户端接收这些请求,然后在应用程序组件的帮缌下生成 向应湾息。其宅搬关的客户炎型还包括县蠢w e b 功能、够显示w m l ( w i r e l e s s m a r k u pl a n g u a g e ,无线菰恚谣言) 或者c h t m l ( c o m p a c th t m l ,紧凑h t m l ) 豹移 动设备。对于这种客户,内密可以是直接生成的,也可以是作为x m l 生成的, 因为x m l 可以使用) f m l 样式液转换成这些标志语言。 2 e 竭客户,攒在e b 容器中访 蠡嚣弱缀 孛弱应爱疆彦。 四川大学硕士学位论文j 2 e e 应用集成层的一种实现模型 e j b 客户有三种可能的类型。第一类是应用程序客户。应用程序客户是独 立的应用程序,使用r m i i l o p 协议访问e j b 组件。第二类应用程序客户是w e b 容器中的组件。也就是s e r v l e t 和j s p 网页能够通过r m i i i p 协议,以与应用 程序客户相同的方式访问e j b 组件。最后一类是另一种e j b ,运行在e j b 容器 内部。这些都是通过一个本地接口和标准j a v a 方法调用来通信的。 在上述各种情况下,客户都通过各自的容器访问应用程序组件。w e b 客户 访问j s p 网页和j a v as e r v l e t 是通过w e b 容器,而e j b 客户则是通过e j b 容 器访问e j b 组件。 3 3j 2 e e 技术 j 2 e e 规范定义了一个完善的应用组件技术框架,作为企业级应用系统基本 构造模块的组件就是建立在这个框架之上。从简单的w e b 应用到复杂的分布式 企业级应用,几乎所有的业务应用,都可以在此技术框架基础上构造。j 2 e e 包含众多不同技术,可以根据其应用进行下列分类【2 】: 组件技术:这些技术用于保持应用程序最重要的部分业务逻辑。 组件有三种类型:j s p 网页、s e r v l e t 和e n t e r p r i s ej a v a b e a n 。 服务技术:这些技术为应用程序组件提供了支持的服务,以便有效地 工作。 通信技术:这些技术大多数是与开发应用程序的程序员保持透明,提 供了应用程序不同部分之间的通信机制,不论它们是本地的还是远程 的。 3 3 1 组件技术 ( 1 ) s e r v l e t s e r v l e t 是一些用来扩展w e b 服务器功能的w e b 组件,它基于请求响应机 制。s e r v l e t 从客户端( 例如w e b 浏览器) 获得请求,然后,将响应结果返回客 户端。s e r v l e t 的这种特点使它非常适合于w e b 应用。s e r v l e t 和e j b 组件的 四川大学硕士学位论文j 2 e e 应用集成层的一种实现模型 区别在于e j b 组件所提供的服务器端组件特性并不能全部适用于s e r v l e t , s e r v l e t 更适合于处理简单的请求响应任务,而且它不需要应用服务器所提供 的复杂服务的支持。 ( 2 ) j s p j s p ( j a v a s e r v e rp a g e s ) 是另一种类型的j 2 e ew e b 组件,它是从s e r v l e t 技术发展而来的。事实上,j s p 脚本可以编译成s e r v l e t 。两者间最大的不同 是j s p 并不是纯j a v a 代码,它容许将复杂的j a v a 代码嵌入到h t m l 或者x m l 文档中,注重解决客户端的外表和显示问题,j s p 技术可以提供与s e r v l e t 相 同的功能。为了保持j s p 的简洁性和核心业务逻辑代码的隐蔽性,j s p 技术提 供了特殊的标记符,用于调用j a v a b e a n 组件和标记符库。j a v a b e a n 组件和标 汜符库提供了一种非常有价值的服务,它使w e b 应用开发人员能够简化j s p 页 面中的j a v a 代码,减少了在j s p 页面的编辑过程中因为偶尔的疏忽而造成整 个页面的破坏,容许独立于j s p 页面而修改表示逻辑。 ( 3 ) e j b e j b ( e n t e r p r i s ej a v a b e a n s ) 是j 2 e e 平台的核心,也是j 2 e e 得到业界广 泛关注和支持的主要原因。我们知道,j 2 e e 的一个主要目标就是简化企业级多 层应用系统的开发,使得程序员将主要精力放在业务逻辑的开发上。e j b 正是 基于这种思想的服务器端技术,它本身也是一种规范,该规范定义了一个可重 用的组件框架来实现分布式的、面向对象的业务逻辑。e j b 的核心思想是将业 务逻辑与底层的系统逻辑分开,使开发者只需关心业务逻辑,而由e j b 容器实 现目录服务、事务处理、持久性、安全性等底层系统逻辑。 根据功能不同,e j b 2 0 规范中定义了三种e n t e r p r i s ej v a v a b e a n :会话 b e a n ( s e s s i o nb e a n ) 、实体b e a n ( e n t i t yb e a n ) 和消息驱动b e a n ( m e s s a g e d r i v e nb e a n ) 。 会话b e a n 分为无状态和有状态两种。一般无状态的会话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 2 e e 应用熊成层的一种实珊模型 蜜倭b e a n 貘箨盟务数摇,它表示一令数据存罐,戳是竣态售爨或者数 据席中的一条记添。实体b e a n 在客户断开连接或者服务器关闭后,仍有服务 保证其数据得以保存。实体b e a n 按照操作类型分为b e a n 管理的持久实体 b e a n ( b e a n m a n a g e rp e r s i s t e n c e ,b m p ) 謦爨容器蛰理的持久实体 b e a n ( c o n t a i n e r - m a n a g e rp e r s i s t e n c e ,c m p ) ,两者主要区剐是前者幽开发人 员掇供数据访问逻辑的实现方法,以便在实体b e a n 实例和存储空间之间建立 映射,后者不需袋开发者提供任何持久逻辑,丽是由e j b 襻器来处理数据访问。 一个赛毒誊b e a n 瓣燕型爨子裁楚客户壤号僖惑。 消息驱动b e a n 在行为上缎像会话b e a n 。不同的就魁仅在需要向邋然b e a n 发遴消息时才调用消息驱动b e a n ,比如在需要的时候发送用户确认信息等。 一个可部署熊e j b 缀 牛包含三个帮分: r e m o t e 接弱:r e m o t e 接翻定义e j b 组件中提供豹可供用户调瘸的方法,也 就怒通常所说的实现业务逻辑的函数( 比如计算商品价格的函数) ,以供远程客 户端调用。在e j b 组件部署至q 察器的时候,容器会自动生成r e m o t e 接口相应 戆察疆,靼e 弱瓣象,它受黉弦瑾震户藜调臻请求。 h o m e 接口:h o m e 接口定义一组方法来创建新的e j b 对浆,查找、宓位和清 除融有的e j b 对象。在e j b 组件部署时容器也会自动生成相应的h o m e 对象, 该对象受责查找粒戗建e j b 对象,返回e j b 对象的g l 用绘客户糍,用户溅髑该 弓| 愆调翔e 3 b 缎捧豹方法,飘掰得垂结采,缀后,h o m e 对象清除e j b 对象。我 们w 以形象地称h o m e 接口为e j b 对象的工厂。 b e a n 类:是她务逻辑的具体实现类。其可供用户调粥的方法在r e m o t e 接 瑟审定义。 另外,在提交和部署e j b 缀件时,还浠骚e j b 部署描述文件,e j b 部署描 述文件是标准的x m l 文件。部爝描述文件至少由e j b 描述文件和e j b 郝署文件 这鼹个文 孛组成,藏者惩来接述e j b 鑫身的一些特 芷,院躲名称、结稳、类型 帮环境参数等,麓者是和部署翱关的描述。 e j b 容器非常簸杂,一般豳专业的j 2 e e 皮用服务器开发商提供,比较流行 的e j b 容器有由b e a 公司的w e b l o g i c 、i b m 公司的w e b s p h e r e 、s u n 公司蛇 i p l a n e t 等。e j b 褰器涂了为e j b - n 貘事务照逄、嚣录鼹努、持久往棼疆帮安 四川大学硕士学位论文j 2 髓应用集成屡的一种实现模型 全簸务外,还受蠢e j b 的部署、发布和生命溺麓管理。 3 3 2 服务技术 服务是组件和容器之阊,眺及容器和j 2 e e 服务器之间的接口,在襄现层面 上它就是一系列a p i 和协议。j 2 e e 平台定义了组标准的服务,其中有贱服务 是出j 2 s e 提供的,鸯些则是j 2 e e 对j a v a 的扩展。 5 1 ( ) j a v a 数据库连羧( j d b c ) j d b c 是访问荧繇数据库的a p i ,j d b c 的价值在于允许你访问任何关系型数 据库都使用相同的a p i 。利用j d b ca p i 和不同的数据库驱动程序就可以访问不 霜豹数据库。 ( 2 ) j a v a 命名目录服务( j n d i ) j n d i 设计是为了简化在开发商级网络程序中对目录基础设施的访问。目录 是申特殊的数撂嬲,提供了对蒸数据存储豹快速访闻,爨蒙数据库是以一转 读取德纯( r

温馨提示

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

评论

0/150

提交评论