已阅读5页,还剩82页未读, 继续免费阅读
(计算机应用技术专业论文)油藏开发数据库系统中ejb组件模型的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目:油藏开发数据库系统中e i b 组件模型的应用研究 专业:计算机应用技术 硕士生:李传欣( 签名) 盔篮坠 指导教师:胡宏涛( 签名) 纠杰癣一一 v 摘要 当前软件开发的主流模式是支持分布式计算、浏览器n 务器结构、模块化和组件化 集成,使软件类似于硬件一样,可用不同的标准组件拼装而成。中国石油勘探与生产分 公司对油藏,丌发数据库应用系统提出了模块化、组件化要求。 本论文主要研究了油减开发数据库应用系统中的e j b 组件及其应用方法,着重对组 件的体系结构以及应用模式进行了详细讨论,对j 2 e e 中的核心e j b 组件技术方面做了 深入研究。针对中国石油勘探与生产分公司的需求,设计了基于e j b 组件技术为核心的 油减开发数据库应用系统,并开发丁其中主要的组件。系统采用多层b s 体系结构,浏 览器作为客户层,j s p 和s e r v l e t 作为w e b 层,e j b 组件作为业务逻辑层,j 2 e es e r v e r 作中间层服务器,o r a c l e 作后台数据库服务器,整个系统使用c b s d ( c o m p o n e n t b a s e d s o f t w a r ed e v e l o p m e n t ) 软件开发方法,具有跨平台、跨网络、统一界面、易于扩展、易 于维护等优点。系统的实际应用效果良好。 关键词;j a v aj a v a 企业版企业j a v a b e a n 组件基于组件的软件开发 论文类型:应用研究 s u b j e c t :s t u d ya n da p p l i c a t i o n o ne j b c o m p o n e n tm o d e l i no i l s t o r a g e e x p l o i t a t i o nd a t a b a s es y s t e m s p e c i a l i t y :c o m p u t e r a p p l i c a t i o t e c h n o l o g y n a m e :l i c h u a n x i n ( s i g n a t u 秕2 篷熊x 监 i n s t r n e t o r :h u h o n g t a 。( s i g n a t u r e ) 址苎号五l a b s t r a c t t h ec u r r e n t s o f t w a r e d e v e l o p m e n t m o d e li st o s u p p o r t d i s t r i b u t i o n c a l c u l a t i o n , b r o w e r s e r v e ra r c h i t e c t u r e ,t h e i n t e g r a t i o n o fm o d u l ea n d c o m p o n e n t ,l i k et h ec o m p u t e r h a r d w a r ew h i c hb ei n t e g r a t e dw i t hd i f f e r e n tn o r m a lc o m p o n e n t p e t r o c h i n ae & p c o m p a n y t a k e st h em o d u l a r i z a t i o n r e q u i r e m e n t t oo i ls t o r a g ee x p l o i t a t i o nd a t a b a s ea p p l i c a t i o ns y s t e m i nt h i s d i s s e r t a t i o n ,t h ee j bc o m p o n e n ta n di t s a p p l i c a t i o nm o d e li no i la n ds t o r a g e e x p l o i t a t i o nd a t a b a s ea p p l i c a t i o ns y s t e m ,m a i n l yc o m p o n e n ta r c h i t e c t u r ea n di t sd e s i g n p a r e m , a n dt h ec o r ee j bc o m p o n e n tt e c h n o l o g i e so fj 2 e eh a v eb e e nr e s e a r c h e d a i m e d a tt 1 1 e r e q u i r e m e n t so f p e t r o c h i n ae & p c o m p a n y , o i ls t o r a g ee x p l o i t a t i o nd a t a b a s es y s t e mh a sb e e n d e s i g n e db a s e do ne j bc o m p o n e n tt e c h n o l o g y , a n dc e n t r a lc o m p o n e n t sh a v eb e e nd e v e l o p e d t h i ss y s t e mc o n s i s t so f t h el o t so f t i e r sb sa r c h i t e c t u r ew i t hb r o w s e r a sc l i e n t j s p s e r v l e ta s w e b t i e r ,e j bc o m p o n e n ta sb u s i n e s sl o g i ct i e r , j 2 e es e r v e ra sm i d d l e t i e rs e r v e r , o r a c l e a st h e b a c k - e n dd b m s t h e s y s t e mh a sb e e nd e v e l o p e db a s e do nc b s d m o d e l ,s oi th a st h ef e a t u r e s o f p l a t f o r mi n d e p e n d e n c e ,c r o s s - n e t w o r k ,u n i f o r mu s e r i n t e r f a c e ,e x p a n s i b i l i t y , m a i n t a i n a b i l i t y t h ee f f e c to f s y s t e mu t i l i z a t i o ni sp r e t t y g o o d k e y w o r d s :j a v a ,j 2 e e ,e j b ,c o m p o n e n t ,c b s d t h e s i s : a p p l i c a t i o ns t u d y 学位论文创新性声明 y 6 0 5 5 0 互 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他 人已经发表或撰写过的研究成果;也不包含为获得西安石油大学或其它教育机构的学位 或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做 了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:虚篮照日期:盔趟盥互 学位论文使用授权的说明 本人完全了解西安石油大学有关保留和使用学位论文的规定,即:研究生在校攻读 学位期间论文工作的知识产权单位属西安石油大学。学校享有以任何方法发表、复制、 公开阅览、借阅以及申请专利等权利。本人离校后发表或使用学位论文或与该论文直接 相关的学术论文或成果时,署名单位仍然为西安石油大学。 论文作者签名:查篮丝日期:逸咝曼堕 导师签名:日期:逊:才 第一章绪论 第一章绪论 1 1 项目来源 当前,随着计算机网络的发展,尤其是信息处理技术的飞速发展,为建 设基于w e b 技术的、以浏览器为统一用户界面、交互式的信息发布、处理、 信息共享与管理系统创造了良好的条件,可以使信息系统的应用水平达到一 个新的高度。为了快速、方便、高效地掌握石油勘探、开发生产方面的信息, 需要建立统一灵活的存取、处理、发布各种数据类型( 包括文本、数字、图 形、图像、声音等) 信息的开放式平台,建立完整的计算机信息网络,建立 安全的信息传输与发布机制,从而实现前端业务处理与协作与后端企业信息 系统的紧密集成。 网络计算和i n t e m e t 的发展改变了企业信息应用的模式,从两层的应用 体系结构发展到三层应用体系结构。因此,可以通过企业信息集成工具( 应 用w w w 技术) 将企业现有的核心业务系统集成在一起,充分地利用三层 模型的优越性,提高对不断变化的业务处理的响应能力,将独立的核心业务 应用集成到企业的i n t r a n e t 中,完成同业务处理过程紧密集成的综合信息处 理和服务。 中国石油勘探与生产公司作为石油开发生产的指挥中心,每天接收、管 理着大量的信息。在勘探与生产公司的组织下,进行了开发数据库的建设, 各油田均已不同程度地建立了自己的专业数据库。但是,由于采用的开发标 准及技术不同( 主要是基于c s 结构) ,目前存在着诸如系统开发复杂、兼 容性差、可扩充性差、维护工作量大等问题。因此需要应用先进的开发技术 与平台将网络技术、数据库系统及应用软件三者相结合,形成三位一体的油 藏开发信息系统。它使油藏开发从各类信息的采集、存储、处理到流通、反 馈、再加工构成一个良性循环,从而形成一个完整的信息流通、处理过程。 中国石油勘探与生产公司与西安石油学院签订了“油气田开发信息分布式共 享及安全控制系统”科研项目,本论文以该项目作为研究和应用背景。 1 2 研究内容和意义 本论文主要研究在j 2 e e 平台下,以勘探与生产公司生产和管理业务需 西安石油大学硕士学位论文 求作为应用开发背景,采用j a v aa p p l e t 、j s p 、j a v a s e r v l e t 、e j b 等j a v a 技 术进行应用开发,重点研究e j b ,编写用于显示、查询、计算、图形处理、 信息交互等e j b 组件,提高对不断变化的业务处理的响应能力,将独立的 核心业务应用集成到企业的i n t r a n e t 中,实现同业务处理过程紧密集成,形 成勘探与生产公司信息系统开发所需的分布式的多层计算环境。针对勘探与 生产分公司应用数据库,编写e j b 组件,使用j a v a 技术实现基于w e b 的三 层体系结构的应用,实现对关系型数据库和非关系型数据库的集成访问。实 现查询勘探与生产信息网上不同服务器、不同账号下的生产数据。 本论文具有很强的应用背景,对于提高中国石油勘探与生产公司的油藏 开发信息的利用水平,促进油藏开发生产,提高企业综合管理水平,增强中 国石油在市场经济环境中的竞争力,具有很大的意义,也将给油藏开发生产 带来较大的经济效益。本论文的研究成果还可进一步向地质勘探、原油销售、 计划统计等多个领域移植推广,实现部门集成与企业集成。 1 3 应用现状 一个三层结构模型通常被想像成有一个w e b 浏览器作为客户层。w e b 浏览器由于有可能成为一种真正的通用客户机,使它从观念上取代了两层结 构的“胖客户机”。如果浏览器作为w e b 应用程序体系结构的标准瘦客户 机获得认可,那么以前驻留在两层模型的胖客户机中的功能会怎么样呢? 现 在,应用程序专用的功能并不移植回服务器( 例如数据库管理器) ,而是有 意将它驻留在一个新的中间层上。中间层支持应用程序服务器软件,这种软 件是中间件的一种形式,它处于第一层上瘦客户机的最小功能和第三层上服 务器端业务系统的丰富功能之间。由于三层体系结构与w e b 处理模型有密 切关系,所以中间层应用程序服务器常被视为w e b 服务器的一种功能扩 展。现有的w e b 应用程序利用c g i 程序,将来自w e b 浏览器的用户请求传 送到非基于w e b 的业务系统,并向浏览器返回响应,就是三层模型的一种 实现。这些应用程序逐渐向j a v as e r v l e t 技术的转移说明三层模型正在增强。 1 9 9 7 年4 月1 2 日,s u n 宣布了一项为企业环境开发j a v a 平台的创新成 果。使用开放式的j a v ac o m m u n i t yp r o c e s s ,s u n 促进了一组标准的j a v a 扩 西安石油大学硕士学位论文 展的开发,称为e n t e r p r i s e j a v aa p i 【1 1 。这些应用程序编程接口( a p i ) 为各 种各样的中间件的实现提供了不依赖供应商的编程接口。e n t e r p r i s e j a v aa p i 的要点是e n t e r p r i s e j a v a b e a n sa p i ,后者为j a v a 应用程序服务器定义了一个 服务器端组件模型,以及一个不依赖供应商的编程接口。j 2 e e 为e n t e r p r i s e j a v a b e a n s 技术提供了工作环境。事实上,s u n 把若干项软件技术设想为这 样的构件块,它们将使大型企业能够把以任务为关键的业务系统移植到j a v a 环境中,而e n t e r p r i s ej a v a b e a n s 技术不过是这些技术之一。e j b 组件是按 它们自己的规范定义的,但e j b 技术并不是一项独立的技术。它建立在其 他j a v a 技术之上,这些技术由s u n 和其他i t 公司联合规定,它们一起提 供了这个框架的内容,该框架就称为j 2 e e 。 从企业应用多层结构的角度,e j b 是商业逻辑层的构件技术,与j a 忪 b e a n s 不同,它提供了事务处理的能力,自从三层结构提出,中间层,也 就是商业逻辑层,是处理事务的核心,由于从数据存储层分离,它就取代了 存储进程的大部分地位。从分布式计算的角度,e j b 像c o r b a 一样,提 供了分布式技术的基础,提供了对象之间的通讯手段。从i n t e m e t 技术应用 的角度,e j b 和s e r v l e t 、j s p 一起成为新一代应用服务器的技术标准。 e j b 中的b e a n 可以分为会话b e a n 和实体b e a n ,前者维护会话,后者处理 事务。现在,s e r v l e t 负责与客户端通信,访问e j b ,并把结果通过j s p 产生页面传回客户端,成为开发的新潮流。从发展的角度看,e j b 完全有可 能成为面向对象数据库的新的平台,构成企业计算的基础。 最新版本e j b 体系结构具有以下一些特点: ( 1 ) e j b 体系结构使编写应用程序变得更加容易和快速:应用程序开发 人员将不必了解底层的事务和状态管理的细节、多线程、资源共享和其他复 杂的低级a p i 。但是,将允许专家级的程序员直接访问低级a p i 。 ( 2 ) 所开发的应用程序将遵循j a v a 编程语言的“一次编写,随处运行” 的原则。e j b 组件可以只开发一次,然后在多个平台上部署,而不需要重新 编译或修改源代码。 ( 3 ) e j b 体系结构处理企业应用程序生命周期中的开发、部署和运行等 西安石油大学硕士学位论文 方面的工作。 ( 4 ) e j b 体系结构定义了一些约定,这些约定使多个供应商提供的工具 能够开发并部署可在运行时互操作的组件。 ( 5 ) e j b 体系结构与现有的服务器平台兼容。供应商将能够扩展它们的 现有产品,以支持e j b 组件。 ( 6 ) e j b 体系结构与j a v a 语言编写的其他a p i 兼容。 ( 7 ) e j b 体系结构提供e j b 组件和非j a v a 编程语言应用程序之间的互操 作性。 ( 8 ) e j b 体系结构与c o r b a 兼容。 第二章组件模型 第二章组件模型 2 1 组件模型简介 组件模型【1 1 的思想是创建可重用的组件并将其组合到容器中以得到新 的应用系统,组件模型定义了组件的基本体系结构、组件界面的结构、和其 它组件及容器相互作用的机制等。利用组件模型规范说明,组件开发人员开 发那些实现了应用系统逻辑的组件,而应用系统开发人员把这些预先开发好 的组件组合成应用系统。组件模型思想已经在软件开发界迅速流行,因为它 可以达到以下这些目的:复用、高层开发、简化开发过程,降低开发费用, 提高所开发产品的质量等。 组件模型由组件( c o m p o n e n t ) 与容器( c o n t a i n e r ) 两种主要成份构成。所谓 组件是指具有某些功能的独立软件单元,是一种软件“i c ”,它的最重要的 特性是可重用性。组件的范围相当广泛,小的组件有像按钮之类的g u i 元 素,中等规模的有如具有列表功能的小应用程序( 如a p p l e t ) ,而大的组件可 以是浏览器这样的完整的应用系统。组件通过其接口向外界提供功能入口。 接1 3 是组件内一组功能的集合,它包含的是功能函数的入e l ,类似于c + + 中只有虚函数成员的纯虚类。外界通过接口引用或接口指针来调用组件内的 功能函数。容器类似于装配车间,是一种存放相关组件的“器皿”,用于安 排组件、实现组件间的交互,其形式也是多种多样的,如表格( f o r m ) 、页面 ( p a g e ) 、框架( f r a m e ) 、外壳( s h e l l ) 等。另外,容器也可以作为另一个容器的 组件。 有两种类型的组件模型:客户端组件模型和服务器端组件模型。客户端 组件模型如j a v a b e a n 是专门用于处理程序的表示( p r e s e n t a t i o n ) 及用户界 面问题的;服务器端组件模型如e j b 则向面向事务的中间件【1 6 1 提供基础设 施。 服务器端组件模型把组件模型的开发和中间件联系在一起。企业级应用 系统的中间件以其复杂性著称,它不仅涉及到应用逻辑、并发性和伸缩性问 题,也涉及到如何把不兼容的系统组合在一起的问题。服务器端组件模型解 决了中间件开发的复杂性问题,它使得中间件开发人员集中于应用系统的逻 s 西安石油大学硕士学位论文 辑部分,而不用处理同步、可伸缩性、事务集成、网络、分布式对象框架等 一些分布式应用系统中存在的复杂的细节问题。 下面我们来看一下e j b 组件模型。e j b 组件模型如图2 - 1 所示: 圈 图2 - 1e j b 组件模型 e j b 服务器端负责与操作系统有关的底层细节,诸如和其它组件或系统 的通讯协议、多线程、负载平衡等,e j b 容器提供e j b 的生存环境和各种 服务( 如t r a n s a c t i o ns e r v e r ) ,e j bc o n t a i n e r 和s e r v e r 共同组成了e j b 运行 环境。 通过使用r m i 3 ( r e m o t em e t h o di n v o c a t i o n ) ,e j b 支持远程的客户端 存取。r m i 产生一个对象,这个对象被安装在客户机系统中,作为存取服 务器对象的代理对象,它使得服务器的位置对于客户机来说是透明的,e j b 开发人员为每一个可存取的接口定义一个j a v a 远程接口。 通过使用i i o p 协议3 1 ( i n t e r n ei n t e r o r bp r o t o c 0 1 ) ,e j b 也可以和其他 的非j a v a 客户机进行通讯,i i o p 允许e j b 系统和c o r b a e 2 3 1 的集成,e j b 可以存取c o r b a 服务器,c o r b a 客户机也可以存取e j b 服务器。e j b 组件模型给开发者提供的支持包括以下一些特征。 可重用的组件 - 可伸缩性 资源管理 事务支持 并发性管理 西安石油大学硕士学位论文 安全性管理 e j b 组件与容器之间有统一的界面,每一个啪组件都可以运行在所有 的运行环境中。在e j b 组件模型中有两种类型的e j b :s e s s i o nb e a n 和e n t i t y b e a n ,这两种类型的e j b 代表了两种不同类型的事务逻辑的抽象。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 必须在建立时确定一个唯一的标识,并提供相 应的机制允许客户应用程序根据e n t i t yb e a n 标识来定位b e a n 实例,多个用 户可以并发访问e n t i t yb e a n ,当系统停机时,e n t i t yb e a n 可以被恢复。e n t i t y b e a n 在e j b l 0 规范中可选的特征,但e j b 技术发展非常快,在e j b 规范说 明1 1 版本的草案中,已经规定e n t i t yb e a n 是必须实现的特征,而不再是可 选的特征。 需要注意的是,对于不同的e j b 服务器来说,其对客户机的格式的要 求是不同的,例如,客户机和服务器建立连接的方式随服务器的不同而不同, 但客户机的这些差异并不影响e j b 的跨平台性。 2 2 组件简介 组件【lj 是软件系统内可标识的、符合某种标准要求的构成成分,类似于 传统工业中的零部件。广义上讲,组件可以是需求分析、设计、代码、测试 用例、文档或软件开发过程中的其它产品。狭义来说,一般指对外提供一组 规约化接口的、符合一定标准的、可替换的软件系统的程序模块。通常情况 下是指后者。 组件可分为可复用组件和不可复用组件。剖析一个应用软件系统,可以 发现其中有三类构成成分:( 1 ) 通用的基本组件,如,数据结构、用户界面、 元素等。( 2 ) 领域共性组件,指仅在该应用软件所属领域内经常出现的组件。 ( 3 ) 应用专有组件,指仅在该应用软件中出现的特定组件。可复用组件指前 两者,通常情况下软件组件指可复用组件。 组件有两个特征:( 1 ) 有用性,指组件完成的功能是有用的,也就是其 西安石油大学硕士学位论文 功能可出现在很多应用软件中。( 2 ) 易用性,指组件要有很好的包装,能很 方便地使用它。一般来讲,组件的包装要符合一定的标准。 目前软件组件的标准大致有:微软提出的c o m c o m + 、s u n 公司提出 的i a v a b e a n e j b 、o m g 提出的c o r b a 、b o d a n d 公司提出的v c l 、微软与 i b m 提出的w e b s e r v i c e 等。 商业组件是组件的一种,它具有三个特点:( 1 ) 它可通过买卖或其它授 权供第三方使用。( 2 ) 一般情况下,使用者( 第三方) 不可修改其源码,只 可作为一个黑箱来使用。( 3 ) 它的维护、升级等一般由它的制作者来负责。 组件是软件复用的基本单元。软件组件技术使得软件人员在应用开发时 可以使用其他人的劳动成果,为软件产业进行大规模专业化分工与合作形成 了前提。 2 3 组件的特点 组件有如下的几个基本属性。( 1 ) 组件是可独立配置的单元,因此组件 必须自包容;( 2 ) 组件强调与环境和其他组件的分离,因此组件的实现是严 格封装的,外界没机会或没必要知道组件内部的实现细节;( 3 ) 组件可以在 适当的环境中被复合使用,因此组件需要提供清楚的接口规范,可以与环境 交互;( 4 ) 组件不应当是持续的,即组件没有个体特有的属性,理解为组件 不应当与自身副本区别。从以上四个属性可以看出,组件沿袭了对象的封装 特性,但同时并不局限在一个对象,其内部可以封装一个或多个类、原型对 象甚至过程,结构是灵活的。组件突出了自包容和被包容的特性,这就是在 软件工厂的软件开发生产线上作为零件的必要特征。 从以上组件基本属性可以看出,组件对于软件开发方面最大的特点就是 软件复用。 软件复用是将已有的软件及其有效成分用于构造新的软件或系统。它不 仅是对软件程序的复用,还包括对软件生产过程中其它劳动成果的复用,如 项目计划书、可行性报告、需求分析、概要设计、详细设计、编码( 源程序) 、 测试用例、文档与使用手册等等。因此,软件复用包括软件产品复用和软件 过程复用两部分的内容。 西安石油大学硕士学位论文 软件复用不同于软件移植。软件移植是指对软件进行修改和扩充,使之 在保留原有功能、适应原有平台的基础上,可以运行于新的软硬件平台。而 复用则指在多个系统中,尤其是在新系统中使用已有的软件成分。 从对复用产品的了解程度和复用方式看,也可分为甘盒复用与黑盒复 用。黑盒复用指对已有产品或组件不需作任何修改,直接进行复用,这是理 想的复用方式。它主要基于二进制代码的复用,包括可执行程序的复用和基 于库( 包括动态链接库和静态库) 的复用。白盒复用指根据用户需求对已有 产品进行适应性修改后才可使用。白盒复用一般为源代码一级的复用,以及 相应的测试用例、文档等的复用。 无论白盒复用还是黑盒复用,都需要花费一定的代价熟悉和掌握被复用 的软件系统。作为经济上的考虑,要求复用的代价必须大大小于重新开发的 代价,否则就不应该考虑。 软件复用的一个关键因素是抽象。抽象是对软件可复用对象的提炼和概 括,即将可复用对象的基本属性和相应的操作,从具体的语言、环境和其他 细节中提炼出来。软件的复用性很大程度上取决于对可复用对象的认识深度 或者说可复用对象的抽象层次。抽象层次越高、与具体环境和特定细节越无 关,则它被未来系统复用的可能性也越大。领域分析则是进行抽象的有力工 具。领域分析借助特定领域、特定行业的专业知识与技能,对软件系统对象 进行抽象和分类,提炼认知的对象及其相互关系,获得系统整体结构,从而 生成可复用的软件组件。 通过软件复用,在应用系统开发中可以充分地利用已有的开发成果,减 少了包括分析、设计、编码、测试等在内的许多重复性劳动,从而提高了软 件开发的效率,同时,通过复用高质量的已有开发成果,避免了重新开发可 能引入的错误,从而提高了软件的质量。 2 4 组件发展现状 在m e r r i a m - w e b s t e rc o l l e g i a t e 字典里,组件一词于1 6 4 5 在英语中开始 使用。组件一词的语源问题:拉丁文的组件一词是c o m p o n e n t ,表示用于组 合在一起的部分。 西安石油大学硕士学位论文 由软件开发人员一行一行的编写规模巨大的程序代码的软件工业已经 走过了3 0 年的历史。现在的软件开发已经容易了很多,我们只需要把现有 的前人设计好的组件按我们的需求进行拼装即可完成。 软件行业发展的数十年中,程序编写的模式和风格都已发生了很大的变 化。最早的程序员是通过直接编写仅仅由0 和1 组成的机器代码来“告知” 机器运行程序的。在今天如果使用这种方法来编写应用程序简直是不可想像 的。 慢慢的,较高级的用以适应各种不同需求的语言如c o b o l 、f o r t u 】王n 不断产生,直至今日,我们见到的变成语言已有数百种之多。其间最大的变 化来自2 0 世纪8 0 年代末9 0 年代初,我们所谓“真正”的高级语言的诞生 和“库”及“模块化程序”的变成方法成就了这一巨大变化。这个时期我们 称之为m i c r o s o f t 公司的“q u i c k b a s i c ”和b o r l a n d 公司的“t u r b op a s c a l ”的 时代。同时,一些适应市场需求应运而生的出售基于代码级的功能库的第三 方软件提供商业在迅速成长。 1 9 9 1 年,m i c r o s o f t 公司的“v i s u a lb a s i c ”f v b ) 的诞生对编程世界产生 了翻天覆地的强烈冲击。由于v b 是架构在w i n d o w s 平台上的,所以编程 者可以调用系统的动态连接库( d l l s ) ,这种动态连接库就是早期的组件雏 型。同时编程者还可以使用我们称之为“v be x t e n s i o n ”( v b x ) 的预先做 好的功能模块集。也正是因为有了v b ,程序员才第一次真正的将自己的应 用程序以最直接的方式和编程的操作环境无缝连接。程序员在v b 上的开发 过程实现了真正意义上的所见即所得。随着v b 和其他的可视化开发工具的 不断成熟,程序员对各种功能模块的调用越来越标准化了。 应用开发的模式也随之发生了变化。新的程序设计和编写的方式使得开 发人员可以通过少量的代码编写实现对已有的功能块的重用和组合来实现 应用的需要。大家小时候一定玩过搭积木的游戏,用各种积木块可以搭出一 座我们满意的城堡来。现在,编写程序也变得这么简单了。我们程序员们一 行行的编写代码的时代已经延续了3 0 年,现在,变革的时候到了,我们现 在只需要“组装”已有的功能模块就可以完成应用的开发工作了。这“已有 西安石油大学硕士学位论文 的功能模块”就是我们通常所说的“组件”。 当前主流组件标准规范包括o m g 的c o r b a 、s u n 的j 2 e e 和m i c r o s o f t d n a2 0 0 0 。 ( 1 ) o m g 的c o r b a 1 1 c o r b a 分布计算技术是o m g 组织基于众多开放系统平台厂商提交的 分布对象互操作内容的基础上制定的公共对象请求代理体系规范。 c o r b a 分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循 的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支 持程度广泛的特点,已逐渐成为分布计算技术的标准。c o b r a 标准主要分 为3 个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求 代理o r b ,规定了分布对象的定义( 接口) 和语言映射,实现对象间的通 讯和互操作,是分布对象系统中的“软总线”;在o r b 之上定义了很多公共 服务,可以提供诸如并发服务、名字服务、事务( 交易) 服务、安全服务等各 种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对 象使用的服务,规定业务对象有效协作所需的协定规则。目前,c o r b a 兼 容的分布计算产品层出不穷,其中有中间件厂商的o r b 产品,如b e a m 3 、 i b mc o m p o n e n tb r o k e r ,有分布对象厂商推出的产品,如i o n a o b i x 和 o o c o b a c u s 等。 c o r b a c c m ( c o r b ac o m p o n e n tm 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 组织制定的一个用于开发和配置分布式应用的服务器端组 件模型规范,它主要包括如下三项内容 ( 1 ) 抽象组件模型,用以描述服务器端组件结构及组件间互操作的结构。 ( 2 ) 组件容器结构,用以提供通用的组件运行和管理环境,并支持对安 全、事务、持久状态等系统服务的集成。 ( 3 ) 组件的配置和打包规范,c c m 使用打包技术来管理组件的二进制、 多语言版本的可执行代码和配置信息,并制定了组件包的具体内容和基于 x m l 的文档内容标准。 l l 西安石油大学硕士学位论文 总之,c o r b a 的特点是大而全,互操作性和开放性非常好。c o r b a 的缺点是庞大而复杂,并且技术和标准的更新相对较慢,c o b r a 规范从1 0 升级到2 0 所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。 在具体的应用中使用不是很多。 ( 2 ) s u n 的j 2 e e 2 1 为了推动基于j a v a 的服务器端应用开发,s u n 于是在1 9 9 9 年底推出了 j a v a 2 技术及相关的j 2 e e 规范,j 2 e e 的目标是:提供平台无关的、可移植 的、支持并发访问和安全的,完全基于j a v a 的开发服务器端组件的标准。 在j 2 e e 中,s u n 给出了完整的基于j a v a 语言开发面向企业分布应用规 范。其中,在分布式互操作协议上,j 2 e e 同时支持r m i 和i i o p ,而在服务 器端分布式应用的构造形式,则包括了j a v as e r v 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 e o n c e ,r u na n y w h e r e ”的特性,使得j 2 e e 技术在发布计算领域得到了快速 发展。j 2 e e 简化了组件可伸缩的、其于组件服务器端应用的复杂度,虽然 d n a 2 0 0 0 也一样,但最大的区别是d n a 2 0 0 0 是一个产品,j 2 e e 是一个规 范,不周的厂家可以实现自己的符合j 2 e e 规范的产品,j 2 e e 规范,是众多 厂家参与制定的,它不为s u n 所独有,而且其支持跨平台的开发,目前许多 大的分布计算平台厂商都公开支持与j 2 e e 兼容技术。e j b 是s u n 推出的基 于j a v a 的服务器端组件规范j 2 e e 的一部分,自从j 2 e e 推出之后,得到了 广泛的发展,已经成为应用服务器端的标准技术。s u ne j b 技术是在j a v a b e a n 本地组件基础上,发展的面向服务器端分布应用组件技术。它基于j a v a 语言,提供了基于j a v a 二进制字节代码的重用方式。e j b 给出了系统的服 务器端分布组件规范,这包括了组件、组件容器的接口规范以及组件打包、 组件配置等的标准规范内容。e j b 技术的推出,使得用j a v a 基于组件方法 开发服务器端分布式应用成为可能。从企业应用多层结构的角度,e j b 是业 务逻辑层的中间件技术,与j a v a b e a n s 不同,它提供了事务处理的能力,自 从三层结构提出以后,中间层,也就是业务逻辑层,是处理事务的核心,从 数据存储层分离,取代了存储层的大部分地位。从分布式计算的角度,e j b 西安石油大学硕士学位论文 像c o r b a 一样,提供了分布式技术的基础。提供了对象之间的通讯手段。 从i n t e r a c t 技术应用的角度,e j b 和s e r v l e t 、j s p 一起成为新一代应用服务 器的技术标准,e j b 中的b e a n 可以分为会话b e a n 和实体b e a n ,前者维护 会话,后者处理事务,现在s e r v l e t 负责与客户端通信,访问e j b ,并把结 果通过j s p 产生页面传回客户端。j 2 e e 的优点是,服务器市场的主流还是 大型机和u n i x 平台,这意味着以j a v a 开发组件,能够做到“w r i t eo n c e , r u n a n y w h e r e ”,开发的应用可以配置到包括w i n d o w s 平台在内的任何服务 器端环境中去。 ( 3 ) m i c r o s o f td n a 2 0 0 0 t l m i c r o s o f td n a 2 0 0 0 0 3 i s t r i b u t e d i n t e r n e t a p p l i c 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 ko f f i c e 系列服务器端分布计算产品后发布的新的分布计算体系结构和 规范。在服务器端,d n a 2 0 0 0 提供了a s p 、c o m 、c l u s t e r 等的应用支持。 目前,d n a 2 0 0 0 在技术结构上有着巨大的优越性。一方面,由于m i c r o s o f t 是操作系统平台厂商,因此d n a 2 0 0 0 技术得到了底层操作系统平台的强大 支持;另一方面,由于m i c r o s o f t 的操作系统平台应用广泛,支持该系统平台 的应用开发厂商数目众多,因此在实际应用中,d n a 2 0 0 0 得到了众多应用 开发商的采用和支持。d n a2 0 0 0 融合了当今最先进的分布计算理论和思 想,如事务处理、可伸缩性、异步消息队列、集群等内容。d n a 使得开发 可以基于m i c r o s o f t 平台的服务器组件应用,其中,如数据库事务服务、异 步通讯服务和安全服务等,都由底层的分布对象系统提供。以m i c r o s o f t 为首的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 ) 模型。c o m 最初作为m i c r o s o f t 桌面系统 的组件技术,主要为本地的o l e 应用服务,但是随着m i c r o s o f t 服务器操作 西安石油大学硕士学位论文 系统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 的功能有机地统一在一起,形成了一个概念、功能强的组件应用体系结构。 而且,d n a 2 0 0 0 是单一厂家提供的分布对象组件模型,开发者使用的是同 一厂家提供的系列开发工具,这比组合多家开发工具更有吸引力。但是它 的不足是依赖于m i c r o s o f t 的操作系统平台,因而在其它开发系统平台( 如 u n i x 、l i n u x ) 上不能发挥作用。 目前,针对上述的各种分布计算平台技术,都出现了相似且具有可比性 的分布式组件,即c o r b ac c m ( c o r b a c o m p o n e n tm o d e l ) 技术、s u n 的 e j b ( e n t e r p r i s ej a v a b e a n ) 技术和d n a2 0 0 0 中的c o m 他c o m c o m 十技术。 对于以上三种技术的采用以下三种标准进行比较分析。 ( 1 ) 集成性:集成性主要反映在基础平台对应用程序互操作能力的支持 上。它要求分布在不同机器平台和操作系统上、采用不同的语言或者开发工 具生成的各类商业应用必须能集成在一起,构成一个统一的企业计算框架。 这一集成框架必须建立在网络的基础之上,并且具备对于遗留应用的集成能 力; ( 2 ) 可用性:要求所采用的软件组件技术必须是成熟的技术,相应的产 品也必须是成熟的产品,在至关重要的企业应用中能够稳定、安全、可靠地 运行。另外,由于数据库在企业计算中扮演着重要角色,软件组件技术应能 与数据库技术紧密集成; ( 3 ) 可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和 实现策略,可以根据企业计算的需求进行裁剪,并能迅速反应市场的变化和 技术的发展趋势。通过保证当前应用的可重用性,最大程度地保护企业的投 资。 下图2 2 从集成性、可用性、可扩展性三个方面,给出了上述三种主流 分布计算平台的比较结果。 西安石油大学硕士学位论文 c o r b a ( c c m e j 日d c a m 蠡成性 跨藉官性能差( b 昆于j a v a )好 好 跨平台性能 好 羞( 隰于 好_ l m n a o w s ) 隰躐鳗觋好一般 好 公共暖务构 好 一般 件好 可用性 辜务娃理谁一般 好 滑息最务一股一般 一般 安全服务好一般 好 目录服务一般 一般 好 客案性一般一般 一般 鬟件舟发商支好好 持臣一段 。产品成熟性一般一股好 可扩展性好 一般 好 图2 2 三种王流半台的比较 虽然这三种平台因为其形成的历史背景和商业背景有所不同,各自有自 己的侧重和特点,其实在它们之间也有很大的相通性和互补性。例如,e j b 提供了一个概念清晰、结构紧凑的分布计算模型和组件互操作的方法,为组 件应用开发提供了相当的灵活性。但由于它还处于发展初期,因此其形态很 难界定。c o r b ac c m 是- - l e e 集成技术,而不是编程技术。它提供了对各 种功能模块进行组件化处理并将它们捆绑在起的粘合剂。e j b 和c o r b a 在很大的程度是可以看作为互补的。这个适应w e b 应用的发展要求,许多 厂商多非常重视促进e j b 和c o r b a 技术的结合,将来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械厂促进剂安全管控与保障体系
- 少儿法律常识启蒙教学合同
- 商住两用房买卖服务合同
- 《英语演讲》课件-Intro 新
- 2025年天台县教育局招聘事业编制教师考试真题
- 烟台市招远市考选毕业生考试真题2025
- 2025年临沂沂南县教育科学研究与发展中心招聘考试真题
- 2025年北京市卫生健康委员会直属事业单位招聘真题
- 2026江苏省淮安市市属国有企业春季校园招聘8人考试模拟试题及答案解析
- 成本管理岗位晋升指南
- 国资委安全生产十条硬措施
- 营养护理专科试题题库及答案解析
- EPC项目施工图设计质量控制措施
- AMS成就动机量表问卷计分解释
- JGT526-2017 建筑电气用可弯曲金属导管
- 反渗透阻垢剂化学品安全技术说明书
- 《中药炮制技术》课程标准
- 2023年06月河北唐山市事业单位(滦南县)公开招聘570人笔试题库含答案解析
- 组织理论和设计专题培训课件
- 2023年田蕴章教师书法每日一提每日一字一行楷草三种字体示范字帖
- 中药学电子版教材
评论
0/150
提交评论