




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)ejb服务器事务服务的设计实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京航空航天大学硕士学位论文 摘要 随蕾汁算机网络技术的发展,为了有效的提高软件重用性莉l 可靠性,基于中间件 技术的软件应用丌发越来越被广泛的运用。为了给用户提供优良的运行环境,各个厂 商都推出了自己的应用服务器j 2 e e 应用服务器就是其中一种。j 2 e e 应用服务器真 真实现了多层体系结构和跨平台性。并大大简化了企业应用解决方案开发、部署和管 理,尤其是分离了业务逻辑层,这使得软件的重用性大为提高了。在国内,有关j 2 e e 技术研究还是比较少的,本文就是对j z e e 技术进行了研究。 e j b 服务器是j 2 e e 服务器核心组成部分之一。e j b 服务器为e j b 组件部署和运行 提供了环境。这种环境包括了各种标准的服务和容器,事务服务就是核心服务之一。 本文讲述了e j b 技术,分析了e j b 服务器的体系结构,并详细分析了事务服务的规范 j t a j t s ,并以此为基础设计了事务服务的原型框架和给出了具体的实现。 关键字:应用服务器e j bj t aj t sj 2 e e 事务服务 南京航空航天大学硕士学位论文 a b s t r a c t w it ht h ed e v e l o p m e n to ft h ec o m p u t e rn e t w o r k s t h ea p p ii c a ti o n d e v e l o p m e n tb a s e do nt h et e c h n o l o g yo fm i d d l e w a r eh a sb e e nu s e dw i d e l yf o r i m p r o v e m e n ti t sr e u s i n ga n ds t a b i t i t y m a n yc o m p a n i e sh a si m p l e m e n t e dt h e i r o w nm i d d l e w a r ea p p li c a t i o ns e r v e rp r o d u c t st os u p p l yg o o de n v i r o n m e n tf o r u s e r s t h ej 2 e ea p p l i c a t i o ns e r v e ri so n eo fm i d d l e w a r ea p p l c a t i o ns e r v e r s t h ej 2 e ea p p l i c a t i o ns e r v e ri m p l e m e n tm u l t i - l a y e ra r c h i t e c t u r e 、a c r o s s d i f f e r e n tp l a t f o r m 、s i m p l i f y i n gt h ee n t e r p r i s es o l u t i o no fd e v e l o p m e n t , d e p l o y m e n ta n dm a n a g e m e n t s p e c i a l i y ,t h eb u s i n e s sl o g i ct i e rw h i c hi s s e p a r a t eb yj 2 e ea p p li c a t i o ns e r v e r m a k e s o f t w a r er e u s i n ge a s y t o d a y ,t h e r e s e a r c ha b o u tt h et e c h n o l o g yo fj 2 e ei sn o tm a t u r ei nc i v i l ,a n dt h ea r t i c l e g i v es o m er e s e a r c ha b o u tit t h ee j bs e r v e ri sac o r ep a r to ft h ea p p l i c a t i o ns e r v e r ,i tp r o v i d e8 n e n v i r o n m e n tf o rt h ee j bc o m p o n e n t sd e p l o y m e n ta n dr u n n i n g t h ise n v i r o n m e n t i n c l u d em a n ys t a n d a r ds e r v i c e sa n dc o n t a i n e r ,a n dt h et r a n s a c t i o ns e r v i c ei s o n eo fc o r es e r v i c e s t h isa r ti c l en a r r a t et h et e c h n o l o g yo fe j b ,t h e a r c h i t e c t u r eo ft h ee j 8a p p l i c a t i o ns e r v e r ,a n da n a l y z et h et r a n s a c t i o n s e r v i c e ss p e c i f i c a t i o nj t s j t ai nd e t a i l b a s e do nt h ea n a l y s e s ,t h ea r t i c l e d e s i g nam o d e lo ft h et r a n s a c t i o ns e r v i c e ,a n di m p l e m e n tt h e m , k e yw o r d s :h p p l i c a t i o ns e r v e r ,j t a ,j t s ,j 2 e e ,t r a n s a c t i o ns e r v i c e 南京航空航天大学硕士学位论文 1 1 中间件技术 第一章绪论 t t i 蚓件足处3 二心j 1 j 软仆和系统软件之问的一,焚软件,足独髓州歪什或数敬:库_ 商 ( 处于其产- 吼的中间实现其:匣连) 的4 类软件是客j 。方与服务方之问的连接件, 它以 _ _ l 己的复杂换嫩了应心软件的简单。 中问件技术是伴随网络丽发展起来的一种面向对象的技术。咀静的计算机系统多 是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网络 j 现后产 生了cj i e n t s e r v e r 的锋服务模式,多个客户端可以共亭数据库服务器和打印服务 器等等,随着网络的更迸一步发展,许多软件需要在不同厂家的网络产品、硬件平台、 网络盼议异构环境下运行,应用的规模也从局域网发展到广域网。在这种情况下, c l i e n t s e r v e r 模式的局限性也就暴露出来了,于是中间件应运而生。中间件是位于 操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异 性和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。 同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能 得到大幅提月,满足了关键业务的需求。 1 2 几种常用的中间件平台 当6 i 主流的分布计算技术平台,主要有o m g 组织的c o r b a 、s u n 的j 2 e e 和 1 i c r o s o f td n a2 0 0 0 。芭们都是支持服务器端中蚓件技术开发的平台,阐述如下: 1 2 1c o r b a 平台 c o r b a 分布计算技术足o m g ( o b j e c tm a n a g e m e n tg r o u p ) 组织罄于众多开放系统 平台厂商提交的分靠对象l :操作内容的基础上制定的公j 对象请求代理体系规范。 c o r b a 分g l i t t 4 算技术,足由绝大多数分巾讣算平台f 商所支持和遵循的系统规范 技术,媳有模磁完整、先进独讧f 系统平台年) f 发语置梭支持手t ! 度j 。泛的特点,已逐 渐成为分佑计算技术的标准。c o b r a 标准主要分为3 个层次:时缘请求代理、公共对 象服务和公共设旎。最底层是对象请求代理o r b ,舰定了分布对象的定义( 接口) 和 语言映射,实现对象闻的通讯和互操作,是分布对象系统中的。软总线。;在o r b 之上 定义了很多公共服务,可以提供诸如并发服务、名字服务、事务( 交易) 服务、安全服 务等各种各样的服务:晟 ! 二层的公共设施则定义了组件框架,提供可直接为业务对象 南京航空航天大学硕士学位论文 使用的i l | 芝务。规定、l k 务埘豫 f 嫂 作所需的办定规则。l i l i c o r b a 般弈的分前吲锋 j “f 引z 川1 1 ;,j ,j e i i i 仃一i l 州f l :j 商的o r b 产品,如b e a m 3 ,l b mc o m p ( ) n e t lb r ( ) k e r ,一仃分 巾对象j 。i ; i 推出的j “1 1 h i j ,细 1 0 n a o b ix 和o o c o b a 由s 等 c o r b a 规范的近期发腱,增加了湎向i n t e r n e t 的特讹,服务质蹬控制年i ic o r b a 构 件橙j 疆( c o r b a ( ;o l n p o n c r ll ( 】j c1 ) 。 j f t i e r n e l 撰成特性也括j 针埘i o p 传输的防火墙f f ir e w ;t 和i ij - 内 1 5 操作的定 义了i 命名格式的命韩服务( m i n gs e r v i c e ) 。 j 帔筹质嫩控制包括能够县有质量控制的异步消息服务,一纰针州嵌入系统的 c o r b a 定义,一组关于实时c o r b a 与容错c o r b a 的请求方案。 c o r b ac c m ( c o r b ac o m p o n e n t 驵o d e l ) 技术,是在支持p o a 的c o r b a 规范( 版本2 3 以后) 錾础上,结合e j b 当河规范的基础上发展起来的。c o r b a 构忭模型,是o m g 组织 制定的一个用于开发和配鼹分布式应用的服务器端中间件模型规范,它主要包括如下 三项内容: a 抽象构件模型,用以描述服务器端构件结构及构件问互操作的结构: b 构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、 持久状念等系统服务的集成: c 构件的配置和打包规范,c c m 使用打包技术来管理构件的二进制、多语言版本 的可执行代码和配罱信息,并制定了构件包的具体内容和旗于x m l 的文档内 容标准。 总之,c o r b a 的特点是大而全,互操作性和开放性非常好。c o r b a 的缺点是庞大 而复杂,并h 技术和标准的更新相对较慢,在具体的应用中使用不是很多。 1 2 2m i c r o s o f td n a2 0 0 0 m jc i o s or cd n a2 0 0 0 ( d i s t r i b u t e di n t e r n e ta p p l jc a t i o n s ) 是m i c r o s o f t 在推 出w i n d o w s 2 0 0 0 系列操作系统平台基础上,在扩展了分布计算模型,咀及改造b a c k o f f i c e 系列服务器端分竹j 计算产品后发柿的新的分m 计算体系结构和规范。 在服务器端,d x a2 0 0 0 提供了a s p 、c o m 、c l u s t e r 等的应用支持:目f 轧d n a 2 0 0 0 在技术结构卜何着巨大的优越陆。一方面,由于m i c f o s o 1 ,避操作系统。r 台厂尚,闭此 d n a2 0 0 0 技术得到了戚联操作系统平台的强大支持:h 方【f 【i ,l i lj 二m c r o s o f t 妁操 作系统、f 台应j ;= | j 广泛,支持泼系统平台的应用,1 :发厂商数目众多,吲此在实际应用 中,脒a2 0 0 0 得到了众多应l = = l 歼发商的采用和支持。 d n a2 0 0 0 融合了当今域先进的分布计算理论和思想,如事务处理、可伸缩性、异 步消息队列、集群等内容。蹦a 使得开发可以基于m i c r o s o f t 平台的服务器构件应用。 其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布对象系统提 供。 2 南京航空航天大学硕士学位论文 以i c r t ,f l 为f 1 一j1 1 i ( 1 m c ( 1 m j c ( ) m + # 车营,从i ) i ) e ,( “i - 至0a t q :n 、x 寺# t 侈1 f h j 什j 一“0i 点l i ;t i v ( v h l 【等挪支持d ( = 伽,也拊川l ? 化内,扪n 数库仃墩技 术,随衍w in t l t w h 2 i ) ) n :j o i ( ij j s o f l 的d c o m 7 ( o t c 、f 1 ;l t 技术,1 7 f i ) n a 2 ( i ( ) o 分m 订算 纳阳i i i :,腿j 。1 、川1 0 j f - 4 什应用t f 5 j | 唧! ,i 、 i - 屯m l 】i 的构f l :f j i 然 录川咀的【i i 1 ( 1 1 1 1 1 h i l l 一。1 、l n ( i u l ) 模) 卧m m 酬作乃i ”t :粜i t f f 系统 的构什技术,1 嘤为水地i l :j ( t l ,i :j 衄川暇务,但是随? fm ic h 嘣j i tj j 务器搽f 1 系统盯和 d c o ii i :j 技m ,( ( ) m 通过i l tj ,;的远袱支持使得构r l :技术延f i 剑j 分m 成用领域。 d c o m , , 0 坩c ( ) m 世将奠 1 觅如而向服务器端分佰应用的业纠受辑r ”f l i j f 1 1 1 通过c o m 的 相关j 】l 务i 殳施,如负找均衡、内存数据库、对象 i g 、构什稃+ 州j 配置等 等,d c ( 、l c c o 卅将c ( 龇i ) c o l i l 、, * t t s 的功能有机地统瞧一起,j 哆陂j 个觋念、功 能强的陶什啦l i j 体系纳脚而d n a 2 0 0 0 是单一厂家提供的分q i ix , j 象j = ;! j 州:模型,丌发 者使川的是目厂家提 j ll l , j 系列”发工具,这比组合多客歼发t 睡世何i 【技引力。 似琏它的小足是依糊j :m 【c r o s o f t 的操作系统f 台,因而仡! c 它丌发系统平台 ( 如h jx 、l i f l u x ) 上j l l l t ;技挥作用。 1 2 3s u n 公司j 2 e e 平台 i 如丁推:曲j j - a v l i f :j 1 越川服务器开发s u nj :足n ;1 9 9 9 年j l j j 了1 a w _ i 2 技术 及年1 天旧| 2 11 11 腿范。,1 2 11 i :的h 椿是:提供与平台无关的、i ,j 。移桃、支持并发访问的 和立个曲,完个坫丁_ t a v “的j l :发服务器端中间件的标讯; mi 2 旺、i ,s t 1 n 给出丁完掺的捧予1 a v a 语言 嬲m 向企业分而j 赢埘规范,其中, 仡分n j - ! 越转f 1 :冉陂i :1 1 旺l i 们t 支持r m i 和i i ( i p ,而 - 服务器 撕j j 、t 用的构造 形式州包括丁1 ;t v “_ iih l 、瞰( j a v as e r v e r 队舒九t m :# 补 爵j ,以支持4 i 刚的业 j 需求i l l h i 。驯4 程序具有“w r il eo n c e ,:l ir l 川 州”1 、”的特性,使得 1 2 e e 投术n :发n 】计算领域缁刊丁快速发展。 :l :和i ) x 、! f ) 【) ( ) i | :、的i f 剧址d n a2 0 0 0 足一个一而川:r 足个觇范不同 的厂j :i l 儿奠吱咙i :ll 的矿i i j 2 l :l j 觇范的产晶,1 2 i ! e 胤池址众多j 家参。j 制定的,它 1 i 为li nj 9 i 雒:“i f l i i i 2 j jr # i i i f 的, :发日l j “i l ,移j 、| 1 0 雨j l 、:ic :f _ 。i j j ”商相;公 ) 1 支持1 i j 业e l k 萍技术 e i b 尼s u n 推出n 1j ,jj i 。h v a 的j | 旺务器端构州二胤范j 2 l i e 的 潍分,ll 从j 2 e l :4 | h 主j 之后,似到了j 泛的发胜l 经成为应用服务器端的标准披术。i :j 叫2 术址任i a v ab e a n 本地构件基础上。发展讹l l i 阳 3 技务器端分布应用构件技术。它坫】- k v n 语苦,提供了 罄丁 a t v a 二进制字节f f i 5 的, 7 1 1 j 方式。e j b 给出了系统f i :ij t t 务器端分n i 阳p 二规范,这 包括了构件、构件容器的接口规范以及构件打包、构件配置等的抓准舰范内容。e j b 技术的推出,使得用j a v aj 占于构件方法开发服务器端分布式应用成为可能。从企业应 用多j ? :靖f ;:l f l c j f f j 度,e 1 1 1j t ! 、l p 务逻牟 层的中问件技术,f :1 阶1 _ i :i 日,它提口e 丁啦 3 南京航空航天大学硕士学位论文 务处羁! 的能力,n 从i j 工 构提出以后,中间层,也就是业务逻犁 层,是处理事务的核 心,从数据存t i f f h ;分离,舣代了存储层的大部分地位。从分佰式汁算的角度,e j b 像 c o r b a 样,抛供了分自j j 弋披术的墒硫。提供了对象之l l j f i c j 通讯r 段。 从1 1 1 l n t ? l 技术心川旧,n 度,| j i j 帛is e r v 【el ,i s i 起成为新。代j 逦川) j f _ 2 务器的 技术幸,j i 准,i | j 1 中的b e ar t j 以分为会活b e a n 和文体l i e ;i d 时栉维j j 、- 会“,肝哲处州蛳 务,现在s e r v l e t 负责与字,t 端通信访问e j b 。并把结粜通过i s t 产:1 - 颤f f 【传圈客户 端。 j 2 e e 的优点是,服务器市场的主漉还是大型极和u k i x 平台,这意味着以j a v a 开 发构件,能够做到”w r i t eo n c e ,f u r la n y w h e r e ”,开发的应用可以配胃到包括w i n d o w s 平台在内的任何服务器端环境中去。 1 3 课题研究的背景 我们课题小组做的研究就是实现j 2 e e 应用服务器核心部分之一的e j b 服务器。 在国内,j 2 e e 应用服务器的肝发尚处于初始阶段,丽国外已经有一些较为成熟的产 品,并已进入中国的市场。目前最具有代表性的j 2 e e 应用服务器产品主要有以下几 个: b e a w e b l o g i c :b e a 公司的w e b l o g i ca p p l i c a t i o ns e r v e r 是个满足w e b 站点对陡能和可靠性要求很高的产品。它实现了j 2 e e 的规范,支持了几乎所有用于 服务端jr 发的j a v a 技术( 包括e j b ,j s p , s e r v l e t 等等) 。开发者可以利用w e b l o g i c 服务器敛为中嘲层平台玎发出具有高度可用性、伸缩性的分布式应用。 i 麟w e b s p h e r e :w e b s p h e r e 是i b m 随需应变电子商务战略的重要成员,它不 仅是一套基于j 2 e e 、x 肌等开放标准应用服务器,而且还是一套集成化的开发工具。 该产品强调在应用开发( w e b s p h e r es t u d i o 和v i s u a l a g ef o rj a v a ) 、数据库( d b 2 ) 和消息服务( m q s e r i e s ) 的集成性。w e b s p h e r e 支持多种平台,符合最新的j a v a 标 准,提供了开发电子商务应用的可靠平台。 国内的中间件领域起步比较晚,不过现在已有不少公司在做j 2 e e 应用服务器, 如金蝶公司,现已实现了基于j 2 e e 规范的应用平台。本次课题的工作是研读j 2 e e 的规范,并分析与设计了j 2 e e 下的e j b 服务器的功用,本文在这次开发中主要是进 行事务服务的研究和设计。 1 4 课题的研究内容 。南京航空航天大学软件工程开发中心一直致力于在软件重用、构件技术和分布 式计算方面的研究,围绕c o r b a 技术已经进行了多年的研究,在软件体系结构、组停 模型、安全和c o r b a 与w e b 的集成方面都有涉及,并且取得了一定的研究成果。 4 南京航空航天大学硕士学位论文 随着网络技术的发展,壤于w e b 的应用程序开发r 益增多,通过对一些网络应 用程序的玎发我们对j z e e 架构有了一定的了解。j 2 e e 是s u n 公司提出的基于j a v a 语言的中问件开发规范,它与c o r b a 规范有着一系列的共同点,因此在继承了前面几 届的基础之上,我们将研究的重点放在了j 2 e e 技术之上。 随着中问件技术的发展,应用服务器作为中间件运行的平台,在j 2 e e 技术中 发挥着巨大的作用,因此我们将对e j b 服务器的研究作为我们对j z e e 技术研究的开 始。 本课题研究的主要内容包括以下几个要点: 1 j 2 e e 技术:通过阅读了j 2 e e 规范,对j 2 e e 的体系结构有了整体的理解。对 于j 2 e e 技术,尤其是其中的e j b 技术,只有深刻的理解了才能够明白e j b 服 务器是如何运行工作的,这对于我们的设计开发e j b 服务器是十分有益的。 2 事务服务:深刻理解了事务的基本概念和事务服务框架,研究了其它事务服 务的实现规范d t p 和o t s ,j 2 e e 事务服务的实现参照了以上两个规范。阅读 并理解了j 2 e e 事务服务实现的规范j t a j t s ,分析了它的构成和各个组成部 分的功用。 3 基于j z e e 规范的事务服务实现,提出了实现事务服务的原型,具体分析了 j 2 e e 事务服务实现的框架并给出了相应的程序。 1 5 论文的组织 第一章介绍了课题研究的背景,并讲述了整个论文的主要研究工作和论文的组 , 织。 第二章介绍了j 2 e e 的应用框架、体系结构、以及j 2 e e 的核心技术,重点是e j b 技术,并给出了整体系统的设计方案。 第三章介绍了事务的概念和特性。分析了事务服务应实现的功能和两种成熟的 事务服务的方法d t p 和o t s 。 第四章介绍了j 2 e e 搴务服务的基本组成,分析了其组成部分的功用,并提出了 一个实现j 2 e e 事务服务的原型。 第五章根据事务服务的原型,具体分析了j 2 e e 事务服务实现的框架和并给出了 相应的程序。 第六章对全文的工作进行了总结,并给出了进一步研究的内容和方向。 南京航空航天大学硕士学位论文 2 1 j 2 e e 综述 第二章j 2 e e 技术 j 2 e e 是一整套功能非常健壮的开发企业级中间件的规范。它是基“f - j a v a 2 平台 开发面向企业分和应用规范。 j a v a 2 平台包括了一种实现j a v a 对象的语言和j a v a 对象的运行环境- j a v a 虚拟 机j v m ( j a v av ir t u a l t a c h i t i e ) 。j a v a 平台以其完全面向对象的设计风格和良好的平 台无关性,成为了应用l :发的理想平台。在一个操作系统下歼发的i a v a 对象可以不 做修改的运行在另外一+ 个操作系统的j v m 上。j 、m 封装丁备年4 t 底层操作系统在体系结 构和语义上的差异,在此基础上为j a v a 对象提供了一个统一的运行环境。j a v a 对象 的源代码被编译为平台无关的中性代码字节码。在运行时刻,字节码由j v m 进行解 释,被映射为真正的相关的操作系统调用而得以执行功能。因此,只要是1 0 0 纯j a v a 语言实现的对象可以被各种具有相应j 的操作系统所有支持。 但仅靠j a v a 2 平台是不够的,为了使j a v a 技术能够适应企业级运算的需要,s u n 公司推出了j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) ,j z e e 概括了当今许多企业所需服 务的共性,并给出了一个开发多层应用的标准环境j 2 e e 平台。j 2 e e 平台提供了一个 多屡结构的分布式应用程序模型,陔模型具有重用组件的能力、基于扩展标 i 三语言 ( x 札) 的数据交换、统一的安全模式和灵活的事务控制:使开发者不仅可阻比以前 更快地筱表对市场的新的解决方案,而且其独立于平台、基于组件的j 2 e e 解决方案 不再受任何提供商的产品和应用程序编程界面的限制。提供商和买主都可以选择最合 适于筵商业应用和所需技术的产品和组件。下面就将介绍j 2 e e 的四层应用程序模型。 2 2j 2 e e 应用框架 j 2 e e 应用框架,也可以说是j 2 e e 的四层应用程序模型“3 : 1 运行在客户端机器的客户层组件 2 运行在j 2 e e 服务器中的w e b 层组件 3 运行在j 2 e e 服务器中的业务逻辑层组件 4 运行在e i s 服务器中的企业信息系统( e i s ) 层软件 南京航空航天大学硕士学位论文 客户层 客户端机器 w e b 层业务逻辑层:企业信息系统层 j 2 e e 服务器 : e i s 服务器 图2 1j 2 e e 应用框架 如上图其实也可以将j 2 e e 应用程序认为是三层结构( 将f e b 层和业务逻辑层组 件合并,因为他们在j 2 e e 服务器上) 。三层结构的应用程序可以理解为在标准的 两层结构的客户端月展务器模式的客户端应用程序和后端存储资源中间增加了一 个多线程的应用程序服务器。 2 2 1 客户端 一个j 2 e e 客户端既可以是一个f e b 客户端,也可以是一个应用程序客户端。 1 w e b 客户端:它由运行在f e b 层的w e b 组件生成的包含各种标记语言( h t m l 、 煳l 等等) 的动态w e b 页面和接受从服务器传送来的页面将它显示出来的w e b 页面。w e b 客户端有时被称之为瘦客户端。瘦客户端一般不做数据查询、执行 复杂的商业规则或连接传统应用程序之类的操作,通常这样的重量级操作交 给在j 2 e e 服务器执行的e n t e r p r i s eb e a n 。这样就可以充分发挥j 2 e e 服务器 7 南京航空航天丈学硕士学位论文 端技术的安全性、速度、耐用、可靠性方面的优势。 2 a p p l e t s :从w e b 层接收的一个w e b 页面可能包含内嵌的a p p l e t a p p l e t 是用 j a v a 语言编写的客户端小应用程序,它运行于j a v a 虚拟机中,后者通常安装 在w e bi 曼i l 览器中。然而为了在w e b 浏览器中成功地运行a p p l e t ,客户端系统很 可能需要j a v a 插件和安全策略文件。 3 应用程序客户端 一个j 2 e e 应用程序端运行在客户端机器上,它使得用户可以处理需要比标记 语言所能提供的更丰富的用户界面的任务。如s w i n g 或窗li t 具包( a w t ) a p i 建立的图形用户界碾。应用程序客户端可以直接访问运行在商业层的 e n t e r p r i s eb e a n 。 2 2 2j 2 e e 服务器 客户端可以直接和运行在j 2 e e 服务器中的业务逻辑层进行通信,如一个运 行在浏览器中的客户端,可以和运行在w e b 层中的j - s p 页面或s e r v l e t 进行通信。 在这里分为两种组件: 1 w e b 组件:j 2 e e 的w e b 组件既可以是s e r v l e t 也可以是j s p 页面。s e r v l e t 是一个5 a v a 编程语言类,它可以动态地处理请求并作出响应:j s p 页面是一 个基于文本的文档它以s e r v l e t 的方式执行,但是它可默更方便的建立静 态内容。在装配应用程序时,静态的h t m l 页蕊和a p p l e t 被绑定到w e b 组件 中,但它们并不被j 2 e e 规范视为w e b 组件;与之相似的还有服务器端的功能 类,这些类也可以被绑定到w e b 组件中,但同样不被j 2 e e 规范视为w e b 组件。 2 业务逻辑组件:业务逻辑代码表示了与特定商业领域楣适应的逻辑。它由运 行在业务逻辑层的e n t e r p r i s eb e a n 处理。个e n t e r p r i s eb e a n 可以从客 户端接受数据,对它进行处理,并将其发送到企业信息系统层阻作存储;同 时它也可以从存储器获取数据,处理后将其发送到客户端应用程序。有三种 类型的e n t e r p r i s eb e a n s :s e s s i o nb e a n s 、e n t i t yb e a n s 和m e s s a g e d r i v e n b e a n s 。s e s s i o n b e a n 描述了与客户端的一个短暂的会话。当客户端的执行完 成后,s e s s i o nb e a n 和它的数据都将消失;与之相对应的是个e n t i t yb e a n 描述了存储在数掘库表中的行持久稳固的数据,如果客户端终止或者服务 结束,底层的服务会负责e n t i t yb e a n 数据的存储。s s a g e d r i v e nb e a n 结 合7s e s s i o nb e a n 和j a v a 信息服务( j m s ) 信息监听功能,它允许个商业 组件异步地接受j m s 消息。 南京航空航天大学硕士学位论文 2 2 3 企业信息系统层 企业信息系统层处理企业信息系统软件并包含诸如企业资源 t 划( e r p ) 、 主机事务处理,数据库系统和其它传统系统这样的底层系统。j 2 e e 应用程序 组件可能需要访问企业信息系统,例如当它希望获得一个数据库连接时。 2 3 j 2 e e 核心技术 2 3 1 j 2 e e 的体系结构 图2 。2j 2 e e 体系结构图 对象中间件厂商实现的j 2 e e 应用服务器提供了j 2 e e 平台。j 2 e e 应用服务器对 四层应用体系的支持可以由下至上划分为三个层次: 1 位于最底层的是j a v a 标准环境j z s e 。它包括了解释执行j a v a 程序的j v m 、 j a v a 语言支持盼基本a p i 库和开发工具,j a v a 标准环境提供了开发和运行 :l a v a 程序的最基本支持。它是大多数开发人员应用标准j d k 编程的j a v a 语 南京航空航天大学硕士学位论文 言平台。 2 j 2 e e 规范规定的标准企业服务。它主要包括了通信服务r m i i l o p 、事务服 务( 事务管理接口j t a 和j a v a 事务服务j t s ) 、数据库访问服务j d b c 、消 息服务j m s ( j a v am e s s a g es e r v i c e ) 、命名目录服务接口j n d i ( j a v an a m i n g a n dd ir e c t o r yn t e r f a c e ) 、邮件服务激活服务和准认证授权服务j a a s 等。 3 在j 2 e e 标准服务之上的容器,这里主要包括w e b 容器和e j b 容器。容器为 应用组件( a p p l i c a t i o nc o m p o n e n t s ) 提供了一个运行环境。对应用组件 而言,容器是j 2 e e 基本服务a p i 的一个统一的入口。在应用组件和服务之 间加入容器使得应用与服务隔离。根据应用的配置描述符的指定,容器可 以透明的加载相应的j 2 e e 服务,如事务服务、命名目录服务等。在具体的 应用中,容器可以使各种j 2 e e 服务使用不同厂家的产品,而不需要改变应 用程序的代码。w e b 容器为应用系统的w e b 层逻辑组件s e r v l e t j s p 提供了 运行环境;e j b 容器为应用系统的业务逻辑组件e j b 提供了运行环境。 图2 ,2 在j z e e 体系结构的核心模块中,如e j b 模块中,最底层是j a v a 的标准 环境j 2 s e ,中间层是j 2 e e 的标准服务,在最上层是给e j b 组件提供运行环境 的e j b 容器,这些都是由应用服务器提供的。 2 3 2j 2 e e 的核心技术 在这一节中将介绍j 2 e e 的核心技术“1 : 1 j a v as e r v l e t , j a v as e r v l e t 实质上是一种小型的、与平台无关的j a v a 类,它由容器管理并 被编译成平台无关的字节代码,这些代码可以动态地加载到一个w e b 服务器上, 并由该w e b 服务器运行。s e r v l e t 是一些用来扩展w e b 服务器功能的网络组件, 它基于请求响应( r e q u e s t r e s p o n s e ) 机制。s e r v l e t 从客户端( 例如w e b 浏 览器) 获得请求,然后,将响应结果返回客户端,s e r v l e t 的这种特点使它适 合于w e b 任务。 2 j s p j a v a s e r v e rp a g e s ( j s p ) 提供的功能大多与j a v as e r v l e t 类似,不过实现的 方式不同。s e r v l e t 全部由j a v a 写成并且生成h t m l :而j s p 通常是大多数h t m l 代码中嵌入少量的j a v a 代码。 3 w e b 容器 w e b 容器管理j 2 e e 应用程序的j s p 页面和s e r v l e t 组件的执行,w e b 组件和它 的容器也运行在j 2 旺服务器中。容器设置定制了由j 2 e e 服务器提供的底层支持,如 1 0 南京航空航天大学硕士学位论文 图,这将包括安全性、事务管理、j a v a 命名目录接口( j n d i ) 搜寻以及远程程序连 接等。 一 4 命名目录服务接口 n d t 。 n d i ( j a v an n m i n ga n dd i r e c t o r yi n t e r f a c e ) a p l 用j 二执行名字和目 录服务,其接口包含在j a v a x n a m i n g 和它的子包中。它为应用程序标准的目 录操作的方法,如获得对象的关联属性、根据它们的属性搜寻对象等。使用 j n d i ,一个j 2 e e 应用程序可以存储和动态获取任何类型的命名j a v a 对象。因 为j n d i 不依赖于任何特定的执行,应用程序可以使用j n d i 访问各种命名目录 服务、包括现有的诸如l d a p 、n d s 、d n s 、n i s 、c o s 命名和腿i 注册等服务。 这使得j 2 e e 应用程序可以和传统的应用程序和系统共存。 j n d l 分为两部分:应用程序编程接口( a p i ) 和服务供应商( s p i ) ,前者 允许j a v a 应用程序访问各种命名和目录服务,后者则是设计来供任意一种服 务的供应商使用。这使得各种各样的目录服务和命名服务能够透明地插入到使 用j n d ia p i 的j a v a 应用程序中。 f 5 r m i j a v a 远程方法调用( r e m o t em e t h o di n v o c a t i o n ) ( r m i ,远程方法调用) 为分布式计算提供了一种高级的通用解决方案。正如名字所显示的那样r 醯i 即调用远程对象上的方法,它使用了连续序列方式在客户端和服务器端传递数 据,将面向对象编程模型扩展到了客户枕服务器系统,使开发者可以用本她 对象调用的语法进行远程调用。r m i 在j a v a r m i 及其子包中实现。为了实现位 置透明性,r m i 使用标准机制:存根( s t u b ) 和框架( s k e l e t o n ) 。存根是代表 远程对象的客户机端对象,它具有和远程对象相同的接口或方法列表。框架对 于远程对象是本地的,框架负责接收通过网络发来的调用,并将这些调用分配 给远程对象的执行代码。 6 ,j a v a 数据库连接( j d b c ) j d b ca p i 以一个统一的方式访问各种数据库,其接口包含在j a v a s q l 和 j a v a x s q l 这两个包中。与o d b c 类似,j o g c 将开发者和私有数据库之间钓镝 题隔离开来,由于建立在j a v a 上,j d b c 还可以提供平台无关的数据库访问。 j d b c 定义了4 种不同的驱动:1 j d 8 c o d b c 桥:通过它,开发者可以使 用j d b c 来访问一个o d b c 数据源。2 j d b c - - n a t i v e 驱动桥:提供了一个构建在 本地数据库驱动上的j d b c 接口恧没有使用o d b c 。j d b c 驱动将标准的j d b c 调 用转化为对数据库a p i 的本地调用,使用这一类的驱动也会失去了j d b c 平台 无关性的好处,并且需要安装客户端的本地代码。3 j d b c n e t w o r k 桥:j d b c 1 i 南京航空航天大学硕士学位论文 一n e t w o r k 桥不需篮客户端的数据库驱动。它使用网络上的中 i | j 服务器来访问 个数掘库。这种心j h 使得以下技术的实现有了可能,这些技术包括负载均衡、 连接缓冲池和数抛缓存等。由于第3 种类型往往只需要相对更少的下载时间, j ;有平台独立性,而且不需要在客户端安装并取得控制权,所以很适合于 n t e r n e t 上的应川。4 纯j a v a 驱动:这一类驱动使用纯j a v a 数据库驱动来提 供直接的数据库访问,由于这类驱动运行在客户端,并且直接访问数据库,因 此运行在这个模式暗示要使用一个两层的体系。 7 事务服务 事务服务是j 2 e e 服务的核心服务之一,是本论文研究的主要内容。先谈 谈事务的起源,这里我将引用o m g 组织的o t s 规范中的一段关于事务描述 的一段话。“事务的概念是一个重要的编程范例,其目的在于简化既要求可 靠性又要求可用性的应用程序结构,特别是那些需要同是访问共享数据的 应用程序。事务的概念最早用于商务运作的应用程序中,其中它被用于保 护数据库中的数据;再往后,事务的概念已扩展到分布式计算的更广泛的 环境中;今天,事务是构建可靠的分布式应用程序的关键,这一点已得到 广泛承认。” 在j 2 e e 的应用中,一个应用往往要操作多个资源,这些资源往往是不 同的数据库系统,这些在不同数据库上的操作是相互关联的,所以需要用 事务的概念( 因为事务可以能以整体的原子操作形式完成的一系列操作) , 使得这些操作正确并可靠的执行。 在j 2 e e 援范中,事务服务的实现是由j t a j t s 实现的。j t a 定义了一 。些接口,透过这些接口,使得应用可以访问底层的事务,事务可以访问外 面的资源( 数据库) 。j t s 实现了底层的事务服务,这包括了事务的生成, 二步提交协议的产生等。具体的内容将在以后章节中介绍。 8 e j b 技术 在这里我将介绍e j b 技术,这包括e j b 模型、e j b 服务器,e j b 容器,e j b 组件,最后介绍一下e j b 的体系结构。 e j b 模型是j 2 e e 规范中最核心的部分,是s u n 公司提出的j a v a 服务器端 组件标准。e j b 组件包含一定的业务规则,运行在服务器端。中间件厂商通过 实现j 2 e e 服务和e j b 容器来为e j b 组件提供企业缎服务和运行环境,使复杂 的多层结构应用系统开发变得容易同时,e j b 技术建立在已取得极大成功的 j a v a 语言之上,采用e j b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋租赁协议书范本
- 2024-2025学年甘肃兰州市永登县人教PEP版(2012)六年级下学期期中英语试卷(含答案)
- 2025年教师招聘之《小学教师招聘》试卷及参考答案详解【考试直接用】
- 专业音乐演出票务合作协议
- 教师招聘之《幼儿教师招聘》能力提升试题打印带答案详解(综合卷)
- 家用电器市场销售授权协议
- 2025年教师招聘之《幼儿教师招聘》经典例题及参考答案详解【能力提升】
- 教师招聘之《小学教师招聘》强化训练高能含答案详解【模拟题】
- 描写亲情的高一作文(15篇)
- 肉毒素使用管理课件
- 中国法制史试题题库(附答案)
- Z20名校联盟(浙江省名校新高考研究联盟)2026届高三第一次联考 语文试卷(含答案详解)
- 2025年农机驾驶证考试题及答案
- 六年级上册语文1-8单元习作范文
- 二冲程发动机课件
- 2025年国家法律职业资格考试《客观题卷一》模拟题及答案
- 冷板液冷标准化及技术优化白皮书
- 金融销售技巧培训课件
- 2025届云南中考道德与法治真题试卷【含答案】
- 尿毒症并发心衰的护理
- 电力安全生产法律法规培训
评论
0/150
提交评论