(计算机系统结构专业论文)对象交易中间件的设计与实现.pdf_第1页
(计算机系统结构专业论文)对象交易中间件的设计与实现.pdf_第2页
(计算机系统结构专业论文)对象交易中间件的设计与实现.pdf_第3页
(计算机系统结构专业论文)对象交易中间件的设计与实现.pdf_第4页
(计算机系统结构专业论文)对象交易中间件的设计与实现.pdf_第5页
已阅读5页,还剩111页未读 继续免费阅读

(计算机系统结构专业论文)对象交易中间件的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着计算机技术日新月异,许多电子商务交易应用需要在多种平台之间移植, 并且需要可靠、高效的数据传输。交易中间件的出现屏蔽了异构系统中复杂的操 作系统和网络协议,但随着系统的复杂性以及用户需求不断提高,传统交易中间 件渐渐暴露其不足的一面,如灵活性差、可移植性差等。具体表现在,通常为用 户提供大量的a p i 来进行交易的操作,这种面向过程的交易服务思想,以及调用 多种专用的a p i 或繁冗的封装器,难以满足网络集成应用,尤其是在以服务为核 心的系统架构时这种弊端更为明显。此外,平台的依赖也是制约应用多样化的瓶 颈,如传统的c i c s 只运行于主机平台,假如一个集成于主机系统的应用需要对其 进行平台上的移植,仅应用层与操作系统的之间的中间件移植就显得极为困难。 因此需要一种新的交易中间件模式,以提高交易中间件的灵活性、可移植性。 为解决这些难题本文设计并实现了一种“对象交易中间件o o t x m 模型,通 过面向对象的思想实现交易事务具体交易操作封装在交易对象内部,通过控 制交易对象来实现具体的交易,有效的降低了交易操作与交易中间件a p i 之间的 耦合,这样用户可以在交易对象内任意的定义交易操作,极大提高了交易的灵活 性。 o o t x m 从设计上自顶向下分成了应用层、交易处理层和交易存储层,在应用 层中使用对象串行化传输技术,将用户从代理发出的交易请求通过网络转发到交 易处理层;为了实现显式隐式交易事务、交易的多重并发嵌套、交易失败恢复等 一系列交易服务,采用了交易存储层提供的集群存储机制、s n a p s h o t 快照技术对交 易对象的中间状态进行保存与恢复,最后在真正的交易对象上执行具体的操作, o o t x m 还根据x a 分布式协议定义了在多个数据对象之间的交易处理过程,实现 了多数据源间的交易。另外o o t ) 【m 还提供了许多可扩展的机能,如支持u d p 命 令对象传输、有待扩展的无缝高速w - e b 服务访问,o o t x m 完全由j a v a 面向对象 技术实现,能够容易的移植到其他系统平台。文中系统的说明了o o t x m 体系结构 的设计与实现,并给出实验模型和测试结果,最后对性能和发展加以分析和总结。 关键字:对象交易中间件o o t x m ,交易的可靠性,隐式显式交易,对象串行化 a b s t r a c t a bs t r a c t a st l l et e c h n o l o g ym c o m p u t e rs c i e n c ed e v e l o p s ,s o m ee - b u s i n e s sb a s e ds o f 呐甜e s 0 ra p p l i c a t i o n sn e e dt ob e 仃彻s p l a n t e db e 帆e e nd i 仃e r e n tc o m p u t e rp l a t f o m l sa i l ds h o u l d b ei l l s u r e d 、i 廿1h i g hr e l i a b i l i t i e s 觚de 伍c i e n c i e s 洒d a t ad e l i v e 珥t h ee m e r g e n c eo f t r a n s a c t i o nm i d d l e w a r ec a i l 幽e l ds o m eo fm e c o m p l e x i t i e si i lo sl a y e ra n dn 咖o r k p r o t o c o i s ,h o w e v e ri ti sd i m c u l tt 0m e e tt 1 1 er e q u i r e m e n t sp r o p o s e db yo u rc u s t o m e r so r o 也e rd e v e l o p m e n t s ,a n dc o n s i d e r e dt ob e1 a c ko ff l e x i b l ea 1 1 dt r a m s p l a m a b l ec a p a b i l i t i e s t h e 妇d i t i o n a l 舰n s a c t i o nm i d d l e w a r eo n l yp r 0 访d e sm a n ys p e c 瑚a i l dc o s t l ya p i st o c o n 仃o l 咖s a c t i o no p e r a t i o n s ,w k c hm a yl e a dt oo u r 印p l i c a t i o nl o s i n gf l e x i b i l i t i e sa i l d p e 哟m a n c e se s p e c i a l l yt h es e r v i c e c e n t e r e da r c h i t e c t u r ee m p h 互略i z e d 1 1 1a d d i t i o n , p l a t f o m sd e p e n d e n ti sa n o m e rp i t f a l l ,b e c a u s ei nt r a d i t i o n a l 仃a n s a c t i o nm i d d l e w a r ei u s t a sc i c sc a l lo m yw o r ki nm a i n 矗锄e s u p p o s ea p p l i c a t i o n ss u p p o r t e d b yc i c sm u s tb e t r a n s p l a n t e dt 0a n o t h e rp l a t f o r mw h e r ec i c sc a i ln o tm n ,t h er e s u l ti sc o s tm u c hm o r e t or e b u i l dt h ep r o j e c tw i t l la n o t h e rm i d d l e w a r e ,w h i c hc a i ln o tb e 世6 r d e db ym a n v 蜘t e 巾r i s e sa n dc o m p 蕊e s s oi tn e e d st op r o p o s ean e wt r a n s a c t i o ns t y l et or a d i c a l i v s o l v et 1 1 ep r o b l e m sm e n t i o n e da b o v e t 1 1 i sd i s s e r t a _ t i o np r e s e n t sa 1 1o b j e c t - o r i e n t e db a s e dt r a i l s a c t i o np a t t e m 。d e s i g n s 锄d i m p l e m e n t st 1 1 eo o t x m ( o b j e c t - o r i e n t e d 1 k m s a c t i o n m i d d l e w a r e ) i no o t x ma l lt h e t r a n s a c t i o no p e r a t i o i l sa f ee n c 印s u l a t e di nt r a i l s a c t i o no b j e c t s ,w h i c hm e a n st h a ti tc a n h a i l d l et r a n s a c t i o n s b yc o n t r o lt 1 1 e s eo b j e c t s t h i s 如l l yi s o l a t e st h et 啪s a c t i o n o p e r a t i o n sa i l da p i si nt 瑚l s a c t i o nm i d d l e w a r e ,w h e r ec u s t o m e r sc a l ld e f i n eo p e r a t i o n s i 1 1t r a l l s a c t i o no b j e c t sa l st 量1 e yw a n t ,a t1 a s tt h ef l e x i b i l i t i e si st o t a l l yi m p r o v e d f r o mad e s i 盟p e r s p e c t i v e ,t h eo o t x mi sc o m 研s e do ft h r e el a y e r s ( t o p d o w n ) : a p p l i c a t i o nl a y e r 、t r a n s a c t i o nc o r el a y e r 、 s t o r a g el a y e r w i t ht h e 硫p l e m e n to f o 巧e c ts e r i a l i z a t i o ni i lt h e 印p i i c a t i o ni a y e r ,t l l er e m o t eu s e r sc a nu s et 1 1 e 仃 m s a c t i o n o b j e c tp r o x yt os e n dm er e q u e s t st or e a lt r a n s a c t i o no b j e c t se x i s t i n gi nt r a n s a c t i o nc o r e l a y e rt oh a n d l eat r a n s a c t i o nt h r o u 曲t 1 1 en e t w o r k ;i no r d e rt oi m p l e m e m 也ee x p l i c 彬 l i l l p l l c l tt r a i l s a c t i o i l c o n c u r r e n tn e s t e dt r a i l s a c t i o na n ds e l f h e a l i n gp r o p e n i e si no o t x m , t r a j l s a c t i o nc o r ei a y e rs n a p s h o 琏s t e p _ b y s t 印s t o r e sa l l dr e s t o r e st 1 1 e 缸- 觚s a c t i o no b i e c t s i i a b s t r a c t mc l u s t e rf i l es y s t e m ,a j l dm a k e sr e a l 拓a i l s a c t i o no p e r a t i o n sf o rt l l er e m o t eu s e r sa tl a s t , d u r i n gt h ep r o c e s s i i l go f 饥m s a c t i o nt h eo b j e c t ss t o 血gu t i l i t i e sa r ep r o v i d e db ys t o r a g e l a y e r b e s i d e st h e s e ,o o t x ma j s ou s e st 量1 ex ad i s t r i b u t e dt r a n s a c t i o np r o t o c o lt o i m p l e m e n t 廿1 et r a n s a c t i o n sp r o c c e s s e di i lm u l t i p l ed a c ao b j e c t s ma d d i t i o n ,o o t x m p r o v i d e ss o m ee x t e n d a _ b l ei n t e r f a c e sa n du t i l i t i e sf o rf h r t h e rd e v 印1 0 p e m t ss u c ha su d p b a s e do b j e c td e l i v e s e 锄l e s s l yw e b s e r v i c e sa c c e s su t i l i t i e s o o t x mi sp u r e l yc o d e d i nj a v 如w h i c h 目瑚锄t e e st 1 1 et r a n s p l a i l t a b l ep r o p e r t i e se a s i l y t h ef o l l o 谢n gs e c t i o n s 谢l lg i v ead e t a i l e di 璐t m c t i o nt ot h ed e s i 萨a n di m p l e m e n to fo o t x m ,a tl a s t “s d i s s e r t a t i o nw i l lp r o v i d es o m ed e m oe x p e r i m e n t so nm eo b j e c t o r i e n t e d 仃a n s a c t i o n s a 1 1 di t su t i l i 田如n c t i o n s k e y w o r d s :0 0 1 x m ( o b j e c t o n e n t e d 一1 h n s a c t i o n - m i d d l e w a r e ) ,r e l i a b l e1 r a n s a c t i o n , e x p l i c i t i m p l i c i tt m s a c t i o n ,o b j e c ts e r i a l i z a j t i o n i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:叁幸兰忙日期:劢。驴年p 5 月2 z 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:蝉 导师签名:乏:呈 日期:2 p d 罗年d 岁月2 2 目 第一章引言 第一章引言弟一早jli l 1 本课题的来源与选题依据 本课题来源于电子科技大学i b m 技术中心关于i b mz 系列大型主机交易中间 件c i c s 的研究,以及在指导老师对面向对象数据库与对象中间件的研究的基础之 上结合而来,即采用对象数据库以及对象中间件的系统架构实现主机交易中间件 c i c s 的改造设计。从2 0 0 6 年8 月的主机系统培训中,通过几位i b m 资深技术专 家对主机交易中间件系统c i c s 的发展展望,以及自己在i b m 技术中心的一系列 研究活动与实践中积累,设计一套全新的交易中间件的解决方案。希望通过本课 题的研究,能够构造出一种新的交易中间件模型对象交易中间件( o o t x m ) , 按照面向对象的思想把交易抽象成为交易对象,通过控制交易对象状态来进行用 户的交易事务操作,并使该系统能方便的移植到其他平台,最后达到灵活、易用、 易移植的特点。 1 2 中间件的发展概况 1 2 1 中间件的定义与分类 中间件( m i d d l e w a r e ) 是基础软件的一大类,属于可复用软件范畴。中间件在 操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的 应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用 软件【i j 。中间件客观上要求独立于硬件或数据库厂商( 处于其产品的中间层,实现 其互连) ,是客户方与服务方之间的“连接器,是需要进行二次开发的中间产品。 从计算机技术的发展来看,中间件技术是伴随网络而发展起来的一种服务技 术1 2 儿引。以前的计算机系统多是单机系统,多个用户是通过联机终端来访问的,没 有网络的概念。网络出现后,产生了c l i e n t s e r v e r 的计算服务模式,多个客户端可 以共享数据库服务器和打印服务器等等。随着网络的更进一步发展,许多软件需 要在不同厂家的网络产品、硬件平台、网络协议异构环境下运行,应用的规模也 从局域网发展到广域网。在这种情况下,c l i e n t s e r v e r 模式的局限性也就暴露出来 电子科技大学硕士学位论文 了,于是中间件技术应运而生【4 j 。中间件是位于操作系统和应用软件之间的通用服 务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异 构性,使应用软件能够比较平滑地运行于不同平台上。同时中间件在负载平衡、 连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足 了关键业务的需求1 5 j 【6 1 。 按照i d c 等国际著名的咨询机构对中间件的定义以及功能上的划分【7 】,中间 件可分为六类: 1 终端仿真屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式 的服务器应用程序之间的互操作。 2 数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下 的数据库实现联接或文件系统实现联接的中间件;在分布式系统中,重要的数据 都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放 格式的多媒体型,或者是经过加密或压缩存放的,这类中间件将为在网络上虚拟 缓冲存取、格式转换、解压等带来方便【8 】【9 1 。 3 远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的 应用,需要时可以调用位于远端服务器上的过程。 4 消息中间件:用来屏蔽掉各种平台及协议之间的特性,实现在不同平台之 间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,实现应用 程序之间的协刚1 0 】。这是中间件中唯一不可缺少的,是销售额最大的中间件产品, 主要产品有国内东方通科技公司的t o n g l i n k 、b e a 公司的b e ae l i l l l ( 、i b m 公 司的m q s e r i e s 等,目前在、i n d o w s2 0 0 0 操作系统中已包含了其部分功能。 5 对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机 地结合在一起,完成系统的快速集成,实现对象重用【l l 】【12 1 。在这个方面遵循的标 准是c o i 强a 。对象中间件将是未来的主流,目前产品如东方通的t o n gb r o k e r , 烈p 砌c e 公司的b o r l a j l da p p l i c a t i o ns e r v e r 。 6 交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的 一种环境平刨1 3 】。在分布式事务处理系统中要处理大量事务,常常在系统中要同 时做上万笔事务。在联机事务处理系统( o l t p ) 中,每笔事务常常要多台服务器上 的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且 要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在 多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机 和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整 2 第一章引言 个系统的功能【1 4 1 。 通常意义下,中间件应具有以下的一些特点【1 5 】【1 6 】:满足大量应用的需要、运 行于多种硬件和o s 平台、支持分布式计算、提供跨网络、硬件和o s 平台的透明 性的应用或服务的交互功能、支持标准的协议、支持标准的接口。程序员通过调 用中间件提供的大量a p i ,实现异构环境的通讯,从而屏蔽异构系统中复杂的操作 系统和网络协议。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成 为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络 服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不 管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持 中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应 用软件开发和维护中的重大投资【17 】【1 8 1 。 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在 不同的技术之间共享资源。中间件管理着客户端程序和数据库或者早期应用软件 之间的通讯。中间件在分布式的客户和服务之间扮演着承上启下的角色,如事务 管理、负载均衡以及基于w | e b 的计算等【l9 1 。 利用这些技术有助于减轻应用软件开发者的负担,使他们利用现有的硬件设 备、操作系统、网络、数据库管理系统以及对象模型创建分布式应用软件时更加 得心应手。由于中间件能够保护企业的投资,保证应用软件的相对稳定,实现应 用软件的功能扩展【2 川;同时中间件产品在很大程度上简化了一个由不同硬件构成 的分布式处理环境的复杂性,所以它的出现正日益引起用户的关注。 总结上述中间件优越性体现在以下几个方面: 其一,中间件产品对各种硬件平台、操作系统、网络数据库产品以及c l i e n t 端实现了兼容和开放。 其二,中间件保持了平台的透明性,使开发者不必考虑操作系统的问题。 其三,中间件实现了对交易的一致性和完整性的保护,提高了系统的可靠性。 其四,中间件产品可以降低开发成本,提高工作效率。t h es t a n d i s hg r o u p 分 析了1 0 0 个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比 例,结果发现,业务逻辑程序、应用逻辑程序仅占总程序量的3 0 ,而基础程序 却占了7 0 。如果以新一代的中间件系列产品进行组合应用,同时配合可复用的 商务对象构件,则应用开发费用可望节省8 0 【2 1 】【2 2 】。 其五,基础软件的开发还是一件耗时费力的工作,如果使用标准商业中间件, 3 电子科技大学硕士学位论文 大部分的编程工作将得以节省,用户可以将注意力集中于个性化的增值应用方面, 并缩短开发周期5 0 7 5 ,从而更快地将产品投放市场2 3 1 。 1 2 2 中间件的技术规范 1 d c e 体系 d c e 是d i s 曲u t e dc o m p u t i n ge n v i r o 啪e n t 分布式计算环境的缩写,它由o p e n s o f h a r ef o n d a t i o n 制定,现在这个组织被称为o p e nm u p 。 d c e 由多个共同在一起工作的组件组成,它们是:远程过程调用( r p c ) 、本 地和全局目录服务( c d s 和g d s ) 、安全服务、d c e 线程、分布式时钟服务( d t s ) 和分布式文件服务( d f c ) 。线程、i 冲c 、c d s 、安全服务和d t s 组件通常被成为 安全核心,并且是组成任何d c e 环境所必须的组件,d t s 是可选件。在d c e 环 境中,还包括用于管理这些组件的管理工具【2 4 1 。 2 d t p 模型 d t p 模型是x ,o p e n 组织提出的一种软件结构,这种结构允许多个应用程序 去共享多个资源管理器提供的资源,并且具有协调全局事物的能力。 x o p e n 的d t p 模型由以下几个基本模块组成: ( 1 ) 应用程序( a p ) :用于定义事物的边界,并确定组成事物操作的动作。 ( 2 ) 资源管理器( r m ) :如数据库或文件系统用于存取文件。 ( 3 ) 事物管理器( t p ) :给事物分配标识,监督事物的处理过程并负责事物 的完成以及协调事物失败的恢复。 ( 4 ) 通信资源管理器( c 1 w ) :在一个事物管理器内或两个事物管理器之间 对通信进行控制。 在这5 个模块之间x o p e n 模型定义了这样一些模块之间的接口规范【2 5 】: 应用程序资源管理器之间已经存在了一些x o p e n 的规范,如s q l 和 i s a m 。在应用程序事物管理器之间定义了t x 接口;在交易管理器一资源 管理器之间定义了x a 接口;在交易管理器一通信资源管理器之间定义了x a + 接口;在应用程序通信资源管理器之间有3 种接口:t x r p c 、x a l m l 和c p i c ; 在通信资源管理器一操作系统提供的底层通信协议之间提供了x a p t p 接口。 3 c o r b a 【2 6 】 c o 砌a 是c o 删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 佃e 的缩写,简称公共对象 请求代理结构,它由国际对象管理组织o m g 制定,其目的是在分布和已构计算机 4 第一章引言 环境下为应用软件的开发提供一个公共框架,使开发出来的软件即面向对象又具 有可重用性、可移植性以及可操作性等特点。 4 j 2 e e j 2 e e 是j a v a2p 1 a t f o 珊e n t e r 邮s ee d i t i o n 的缩写,是一种多层应用模式的结构 体系。整个规范由s u n 公司提出,它将业务逻辑从系统服务功能和用户界面中分 离出去,放置在客户层和应用基础设施这两层之间的中间层,是目前应用的最为 广泛的面向w e b 的应用系统结构规范。 5 互联网相关技术规范 w 曲( w 6 r l dw i d ew 曲) 是一种网络化的信息资源,它依赖于3 个机制【2 刀,使 这些信息资源可以面对广大的使用者。 ( 1 ) 一种唯一的命名机制,为网上的资源进行定位,如:u 耐。 ( 2 ) 一种通信规程,以便在网上可以存取这些被命名的资源,如:h t l 阳。 ( 3 ) 混合文本,以便更好地驾御这些信息资源,如:h t m l 。 u ( u n i v e r s a lr e s o u r c ei d e n t i f i e r ) 全局资源标识,一种命名机制,它将在网 上的一个资源的定位分为3 个部分:用于存取资源的通信方式的名称,如h t t p 、 f t p ;保存有资源的机器的名称,如:s o h u c o m ;资源本身的名称,也就是 存取这些资源的路径。 h t t p ( h y p e r ,r e x tt r a i l s f e rp r o t o c 0 1 ) 是一种用于分布式、相互协作、混合型 媒体的信息系统的应用层的通信规程。使用这一规程,除了可以在信息系统中取 得资料外,还可以进行资料查询,对前端进行更新以及进行信息发布等操作。这 些规范都是w e b 技术的基础,除了这些技术规范以外,还有一些规范也非常重要, 它的用途是实现企业与企业间通过w 曲实现数据交换。这些规范是x m l 、s o a p 、 u d d i 和w s d l 。 l ( e x t e n s i b l em a r k u pl a l l g u a g e ) 通过提供更灵活和更容易被接收的信息 标识方法来改进w 曲的功能。x m l 是一种用于描述其他语言的语言,使用l , 你可以定义你自己的、不受到类型限制的、其他类型的文档。 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 【2 8 】是一种轻量级规程,用于在没有控 制中心、分布式的环境中交换信息。它以x m l 为基础,由4 个部分组成:一个信 封,定义了是什么信息和如何对它进行处理的框架;一组编码规则,用于描述应 用定义的数据类型的表示示例;一组表示远程过程调用和应答的规则方式,以及 一组捆绑方式,这种方式用于使用低层通信规程交换信息。s o a p 具有与其他规则 相结合的可能性。 s 电子科技大学硕士学位论文 u d d i ( u 1 1 i v e r s a ld e s c r i p t i o n ,d i s c o v e 珂a 1 1 di n t e 酣i o n ) 【2 9 j 是一个规范,这个 规范用于w _ e b 服务以分布式、以w e b 为基础的信息的注册。u d d i 同时也是一个 这样的规范的实现的公用的可接入的集合,这个规范是是某个企业的w - e b 服务所 能提供的内容用登记信息的方式提供出来,以便其他企业可以发现这些服务。 w s d l ( w 曲s e r v i c ed e s c r i p t i o nl a n g u a g e ) 1 3 0 】是一组包含面向文档或面向过 程消息的端点操作信息的x m l 格式网络服务描述;操作和消息首先被抽象的描述, 然后捆绑到具体的网络规程和消息格式中,以便定义端点,相关的具体端点被组 合进抽象的端点中( 服务) 。 1 2 3 中间件的主要技术平台 面向对象标准原本只有一个即c o i 也a ,该标准由包括b e a 、i b m 、o r a c l e 和 s u n 等公司在内的众多厂商一起制定,从而形成了一个庞大的c o r b a 联盟势力 【3 l 】。后来,s u i l 推出了企业级j a v a b e a n s ( e j b ) ,用自己易使用的程序模型对c o r b a 做出了改进。微软c o m 的出现,使面向对象中间件里又多了一个标准,这样,当 前主流的分布计算技术平台,主要有o m g 的c o r b a 、s u i l 的j 2 e e 和m i c r o s o r d n a2 0 0 0 。它们都是支持服务器端中间件技术开发的平台,但都有其各自的特点: 1 o m g 的c o r b a 【3 2 】【3 3 】【3 4 】: c o r b a 分布计算技术是o m g 组织基于众多开放系统平台厂商提交的分布对 象互操作内容的基础上制定的公共对象请求代理体系规范,并且是由绝大多数分 布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系 统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。 c o b r a 标准主要分为3 个层次:对象请求代理、公共对象服务和公共设施。最底 层是对象请求代理o r b ,规定了分布对象的定义( 接口) 和语言映射,实现对象 间的通讯和互操作,是分布对象系统中的”软总线”。在o i 氇之上定义了很多公共 服务,可以提供诸如并发服务、名字服务、事务( 交易) 服务、安全服务等各种各样 的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服 务,规定业务对象有效协作所需的协定规则。 2 s u n 的j 2 e e 为了推动基于j a v a 的服务器端应用开发,s u i l 于是在1 9 9 9 年底推出了j a v a 2 技术及相关的j 2 e e 规范,j 2 e e 的目标是:提供平台无关的、可移植的、支持并 发访问和安全的,完全基于j a v a 的开发服务器端中间件的标准【3 5 】。在j 2 e e 中, 6 第一章引言 s w l 给出了完整的基于j a v a 语言开发面向企业分布应用规范,其中,在分布式互 操作协议上,j 2 e e 同时支持i 湖i 和i i o p ,而在服务器端分布式应用的构造形式, 则包括了j a v as e l e t 、j s p ( j a v as e r v e rp a g e ) 、e j b 等多种形式,以支持不同的业 务需求,而且j a v a 应用程序具有”w r i t eo n c e ,n ma n 聃,h e r e ”的特性,使得j 2 e e 技 术在发布计算领域得到了快速发展。此外,j 2 e e 简化了构件可伸缩的、其于构件 服务器端应用的复杂度,j 2 e e 是一种规范,是众多厂家参与制定的,它不为s u l l 所独有,不同的厂家可以实现自己的符合j 2 e e 规范的产品,而且其支持跨平台的 开发,目前许多大的分布计算平台厂商都公开支持与j 2 e e 兼容技术。j 2 e e 的优 点是,服务器市场的主流还是大型机和u n 平台,这意味着以j a v a 开发构件, 能够做到”w 订t eo n c e ,m na n y w h e r e ”,开发的应用可以配置到包括w m d o w s 平台 在内的任何服务器端环境中去【3 6 j 1 3 。 3 m i c r o s o rd n a 2 0 0 0 m i c r o s o rd n a2 0 0 0 ( d i s t b u t e di 1 1 t e r n e ta p p l i c a t i o n s ) 是m i c r o s o r 在推出 w i n d o w s 2 0 0 0 系列操作系统平台基础上,在扩展了分布计算模型,以及改造b a c k o 衢c e 系列服务器端分布计算产品后发布的新的分布计算体系结构和规范。在服务 器端,d n a2 0 0 0 提供了a s p 、c o m 、c l u s t e r 等应用支持并融合了先进的分布计 算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容。以m i c r o s o r 为首的d c o m c o m c o m + 阵营,从d d e ,o l e 到a c t i v e x 等,提供了中间件开 发的基础,如v c ,v b ,d e l p h i 等都支持d c o m ,包括o l ed b 在内新的数据库 存取技术,随着w i n d o w s 2 0 0 0 的发布,m i c r o s o f t 的d c o m c o m c o m + 技术,在 d n a 2 0 0 0 分布计算结构基础上,展现了一个全新的分布构件应用模型。首先, d c o m c o m c o m + 的构件仍然采用普通的c o m ( c o m p o n e n to b j e c tm o d e l ) 模型 【3 8 】。c o m 最初作为m i c r o s o r 桌面系统的构件技术,主要为本地的o l e 应用服务, 但是随着m i c r o s o r 服务器操作系统n t 和d c o m 的发布,c o m 通过底层的远程 支持使得构件技术延伸到了分布应用领域。d c o m c o m c o m + 更将其扩充为面向 服务器端分布应用的业务逻辑中间件。通过c o m + 的相关服务设施,如负载均衡、 内存数据库、对象池、构件管理与配置等等,d c o m c o m c o m + 将c o m 、d c o m 、 m t s 的功能有机地统一在一起,形成了一个概念、功能强的构件应用体系结构 【3 9 儿删。而且,d n a 2 0 0 0 是单一厂家提供的分布对象构件模型,开发者使用的是同 一厂家提供的系列开发工具,这比组合多家开发工具更有吸引力。 7 电子科技大学硕士学位论文 1 3 传统交易中间件的不足 随着计算机技术的飞速发展,各种各样的电子商务交易应用需要在各种平台 之间进行移植,或者一个平台需要支持多种软件应用和管理多种应用系统,并且 交易系统需要在软、硬件平台和应用系统之间要求可靠和高效的数据传递或转换, 使系统的协同性得以保证【4 1 1 。尽管交易中间件的出现一定程度上缓解了这些问题, 但是随着系统的复杂度以及用户需求的不断提高,传统的交易中间件如c i c s 、 t u x e d o 逐渐暴露其不足的一面,主要表现在: ( 1 ) 灵活性不足:传统的交易中间件仅仅为用户提供了大量的a p i 来满足于 联机交易处理系统、管理分布于不同计算机上的数据的一致性、保障系统处理能 力的效率与均衡负载,但是在交易事务的逻辑更为复杂、交易的灵活多样化要求 更高的今天,传统的面向过程的a p i 调用的交易中间件服务的思想难以满足当前 的需要,尤其是在以服务为核心的基础性架构时,传统的面向过程交易中间件的 弊端就更为明显【4 2 】【4 3 1 。此外,用户通过调用多种多样专用的a p i 或繁冗的封装器, 这样造成程序运行效率的低下,而且应用程序中总是夹杂着众多专有的a p i 也使 得程序的逻辑变得不清晰,在复杂的业务逻辑面前显得无能为力。因此,交易中 间件的交易模式需要一个类似面向过程设计模式到面向对象设计模式的变革,从 根本上缓解以上这一系列问题。 ( 2 ) 可移植性不足:对于平台的依赖是制约应用多样化的另一个瓶颈,比如 传统的c i c s 一般只运行于主机平台,假如主机系统的应用需要对其进行平台上的 移植,即使应用层的程序不需要改变,但是对其与操作系统的之间的中间件移植 就显得极为困难,如果一个软件系统应用的中间件系统也能做到平台的移植,那 么将极大地节约企业的人力物力,使开发人员把注意力集中在具体的业务逻辑上。 1 4 对象交易中间件- o o t 删 对象交易中间件是一个新的名词,它是对象中间件和交易中间件的有机结合 体,按照面向对象的模式来组织系统结构,其核心在于用面向对象的思想处理交 易事务,同时秉承了对象中间件灵活、易用、易扩展等优点。 对象中间件是面向对象技术和分布式计算发展的产物,业界普遍认为面向对 象是今后中间件技术的发展主流方向,采用对象中间件的思想来实现交易件能够 带来的好处主要体现在:能够更高程度的抽象用户交易操作,并且对象中间件能 8 第一章引言 够提供一种通讯机制,透明地在异构的分布计算环境中传递对象请求,而这些对 象可以位于本地或者远程机器。对象请求代理是近年来才发展起来的一项新技术, 它可以看作和编程语言无关的面向对象的r p c 应用,被视为从面向对象过渡到分 布式计算的强大推动力量。从管理和封装的模式上看,对象请求代理和远过程调 用有些类似,不过对象请求代理可以包含比远过程调用和消息中间件更复杂的信 息,并且可以适用于非结构化的或者非关系型的数据】【4 5 1 。对象中间件相当于软 总线,能使不同软件交互访问,为软件用户及开发者提供一种即插即用的互操作 性,就像现在使用集成块或扩展板装配计算机一样。随着对象技术与分布式计算 技术的发展,两者相互结合形成了分布对象计算,成为了当今软件技术主流方向。 对象请求代理o r b ( o b i e c tr e q u e s tb r o k e r ) 是这个模型的核心组件。它的作 用在于提供一个统一的通信框架,透明地在异构的分布计算环境中传递对象请求, 定义异构环境下对象透明发送请求和接收响应的基本机制,并建立在对象之间的 c l i e n 讹e r v e r 关系。o r b 使得对象可以透明地向其他对象发出请求或接受其他对象 的响应,这些对象可以位于本地也可以位于远程机器。o i 还能够拦截请求调用, 并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。 在对象交易中间件o o t x m 中实现了这种请求代理机制,交易对象存在于 o o t x m 的服务器端,客户通过服务器所提供的交易对象的代理p r o x y 对交易对象 进行远程的操作。对象交易中间件中所指的交易对象是一个很广泛的范畴,任何 结构化数据或者非结构化数据都可以作为o o t x m 的交易对象例如一般的数据库 对象、代表普通客体的p e r s o n 对象等。在o o t x m 中的交易对象必须提供并实现 一些通用的功能接口以便能够进行交易对象的查找、排序等操作,因此设计所有 的交易对象都是继承于在o o t x m 中进行特殊扩展的类集合框架( 详细请参见第二 章) ,并且可以通过o o t x m 对其进行显式隐式、远程分布式控制等操作【御。对象 远程操作是基于j a v a 网络a p i 以及“对象串行化技术进行对象数据的传输,也 就是说交易对象的代理通过o o t x m 中的t c p 或者u d p 传输机制传输到客户端, 再由客户对代理进行操作返回给服务器,最后由服务器端进行交易的调度与可靠 性保证操作;在服务器端,同样采用了对象串行化技术和集群存储技术对交易对 象的状态加以保存( 保存于交易存储层的c l u s t e r 文件系统) ,并能够有效地支持交 易的多重嵌套、多线程操作的交易对象,对于正在处于交易过程中的对象采用快 照s n 印s h o t 技术来为其创建一个临时的“视图”满足其他用户的临时访划4 7 1 。 在传统的交易中间中,用户必须通过调用大量的专有a p i 和后台的数据库进 行交易操作,而且用户对这些a p i 的调用要求有严格的参数语法匹配以及系统依 9 电子科技大学硕士学位论文 赖性,而在对象交易中间件中,并无特殊的a p i 而是直接操作对象交易中间件提 供给用户的交易对象的代理,通过操作对象代理而间接的操作真实的交易对象, 最终达到交易目的,而具体的交易操作则在交易对象的内部已经定义好。在这一 点上对象交易中间件能够有效的将交易操作与交易中间件的a p i 隔离开,并且能 够更灵活的定义各种各样的交易操作。此外,本文中的对象交易中间件完全由j a v a 实现,能够运行在所有支持

温馨提示

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

评论

0/150

提交评论