已阅读5页,还剩69页未读, 继续免费阅读
(计算机应用技术专业论文)mis的管理组件设计及在煤矿安全管理系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着管理信息系统( 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 ,m i s ) 的不断变化和规模的日 益扩大,如何有效地控制系统的开发周期,开发成本以及软件质量,成为了开发过程 中亟待解决的问题。m i s 的应用不再局限于以往的单机系统或简单的客户端月i 乏务器 系统,而是逐步向着三层、多层基于组件的体系结构的方向发展。 面向对象技术依赖于特定编程语言,只能基于源代码级别的重用,组件技术由于 其不依赖于特定的编程语言,大大提高了系统中模块的可复用性和可扩展性。组件化 的软件可以很容易地嵌入第三方组件,而这些第三方组件大部分是成功应用过的、安 全稳定的组件,企业不仅可以减少开发成本,而且大大增强了软件的安全性和可靠性, 使得企业可以集成组装软件系统。可以说,组件化开发为应用程序的开发提供了一条 崭新的思路。 本文以某i t 公司的煤矿信息安全管理系统为应用背景,在n e t 平台下详细地探 讨了软件组件化丌发的全过程。首先,介绍了组件的概念和本系统要采用的n e t 组 件,并指出n e t 组件优于c o m 组件的地方,详细介绍了组件开发平台n e t 开发环 境。接着,详细介绍了自动完成输入组件,g r i d v i e w 数据显示组件,树型菜单,权 限管理和下拉列表组件及其被引用方法。最后,介绍了数据库设计的目标和原则、数 据库的选择以及数据库设计过程( 需求分析、概念设计、逻辑设计、物理设计) ,以 用户角色权限控制模块为例详细介绍了相关表的设计。在介绍组件化开发的过程中, 详细介绍了解决b s 模式下的权限管理问题,实现了一个基于角色的权限管理方案, 具有很高的实用价值。 论文的最后,对整篇文章的内容做了总结,并分析了待进一步解决的问题。 图8 表1 5 参3 8 关键词:管理信息系统( m i s ) ;n e t ;b s ;组件技术:权限管理;访问控制;接 口 安徽理l :大学硕士学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n ta n di n c r e a s i n gs c a l eo fm 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 ( m i s ) ,h o w t oc o n t r o lt h ec o s to ft i m ea n d m o n e ye f f i c i e n t l ya n di m p r o v et h e q u a l i t yo fs o f t w a r eb e c o m e sm o r ea n dm o r ei m p o r t a n t 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 mi sn o ta p p l i e dt os i n g l e c o m p u t e ro rs i m p l eb r o w s e r s e r v e ra p p l i c a t i o n , b u t g r a d u a l l yd e v e l o p e dt ot h et h r e eo rm u i t i - t i e ra r c l l i t e c t l l r e c o m p o n e n tt e c h n o l o g ys o l v e st h ep r o b l e mt h a to b j e c ts t r i c t l yr e l i e so nac e r t a i n p r o g r a m m i n gl a n g u a g ea n di t sr e u s i n gi so n l yb a s e do ns o u r c ec o d el e v e l ,a n dt h e s e p a r a t i o nb e t w e e n i n t e r f a c ea n di m p l e m e n tm a k e ss y s t e mm a i n t e n a n c ea n d r e p l a n t a t i o nm u c he a s i e r b ym a k i n gu s eo fd i s t r i b u t e dc o m p o n e n tt e c h n o l o g y , o u l s y s t e mc o u l df l r s t l yb eb u i l to n1 0 9 i e a ld i s t r i b u t e da r e a s ,s e c o n d l yi tc o u l dd e c r e a s e t h ed e p e n d e n c ya m o n gt i e r so ft h ea p p l i c a t i o n sa n dt h ec o m p l e x i t yo fd e v e l o p i n g , d e p l o y m e n ta n dm a i n t e n a n c e ,a n df i n a l l yi tc o u l dr a i s et h ef l e x i b i l i t y , s e c u r i t ya n d p e r f o r m a n c eo ft h ea p p l i c a t i o n sa n db eh e l p f u lt ot e a md e v e l o p i n g i nt h i st h e s i s ,b a s e do n n e tp l a t f o r m , t h ec o a lm i n es a f e 锣m a n a g e m e n t i n f o r m a t i o ns y s t e mo fai tc o m p a n yi st a k e na sa na p p l i c a t i o ne x a m p l e ,e x p l o r et h e w h o l ep r o c e s so f d e v e l o p m e n ta ts o f t w a r ec o m p o n e n t si nd e t a i l f i r s t , i n t r o d u c et h e c o n c e p to ft h ec o m p o n e n t sa n d n e tc o m p o n e n t ,p o i n to u tt h ea d v a n t a g eo f n e t c o m p o n e n tc o m p a r i n gw i t l lc o mc o m p o n e n t t h e ni n t r o d u c ea l lk i n d so fc o m p o n e n t a n dh o wt ob ea p p l i e d f i n a l l y , t h ei n t r o d u c t i o no ft h ed a t a b a s ed e s i g no b j e c t i v e sa n d p r i n c i p l e s ,t h es e l e c t i o no fd ba n dt h ep r o c e s so fd a t a b a s ed e s i g n , r e l a t e dt a b l e sa l e i n t r o d u c e di nu s e r - r o l ea c c e s sc o n t r o lm o d u l e i nt h ei n t r o d u c t i o np r o c e s s ,s o l v et h e r i g h t sm a n a g e m e n ti s s u e si nb sm o d u l e ,i tr e a l i z e sas c h e m eb a s e do np r i v i l e g e m a n a g e m e n t 谢t hh i g l lp r a c t i c a lv a l u e i nt h ec o n c l u s i o np a r t ,t h em a i nr e s u l to ft h et h e s i si ss u m m a r i z e da n ds o m e p r o b l e m sf o rf u r t h e rr e s e a r c ha r ea n a l y z e d f i g u r e8t a b l e l5r e f e r e n c e3 8 k e y w o r d s :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 ,n e tf r a m e w o r d ,b s ,c o m p o n e n t t e c h n o l o g y , p r i v i l e g em a n a g e m e n t , a c c e s sc o n t r o l ,i n t e r f a c e u 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方以外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 塞徵理里太堂 或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示谢意。 学位论文作者签名: j 蜀差j 屯日期:2 蝉年j 月上日 学位论文版权使用授权书 本学位论文作者完全了解塞徼理王太堂有保留、使用学位论文 的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属于 塞徼堡王太堂。学校有权保留并向国家有关部门或机构送交论文的 复印件和磁盘,允许论文被查阅和借阅。本人授权安徽理工大学 可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密的学位 论文在解密后适用本授权书) 学位论文作者签名:周尥翘签字日期:鲫年6 月口日 导师签名: 纠仓电r签字日期如1 7 年f 月,。日 l 绪论 1 绪论 1 1 研究课题的提出 随着计算机技术的不断发展,尤其是i n t r a n e t i n t e r n e t 的飞速发展,软件 应用置身于更加广阔的环境中,企业的应用系统和以往相比,有了很大的进步, 对软件设计提出了更高的要求。传统的企业应用软件典型的开发模式可以实现代 码的定制,避免了重复劳动,且拥有强大功能,但弊端是没法满足企业个性化需 求,往往难以体现企业的变化和成长,无法做到“随需应变 。在此背景下出现的 “基于组件的软件开发,目的就是通过集成现有的组件来构建大型的软件系统, 通过增强系统的灵活性和可维护性来减少软件开发费用,缩短开发周期,降低维 护成本。如今,通过组件构建大的软件系统已经是业界的普遍做法。n e t 是微软 在近年推出的一个新的系统平台1 1 。3 】,是一种新的软件框架结构。它是与当前非常 火的企业级分布式系统基本平台j 2 e e 相抗争的w i n d o w s 产品。它的基本构建方式 将不同于以往的c o m 体系( 但与之兼容) ,它是基于托管的软件构架,重新定义 了组件在软件应用的生存形式和通信方法。而目前这个领域还j 下在起步当中,所 以国内的研究还在萌芽状态中,国外已经有了一部分商业的n e t 软件。该技术改 变了过去4 0 多年以计算机语言和代码为主导的传统开发模式,转而采用组件库这 一全新思路。组件化的软件可以很容易嵌入从第三方组件供应商购买的组件,而 这些新购入的组件大部分是成功应用过的、安全稳定的组件,企业不仅可以减少 开发成本,而且大大增强了软件的安全性和可靠性,使得企业可以集成组装软件 系统。组件不是基于源代码级别的重用,而是基于更高级别的二进制的重用,因 其不依赖于特定的编程语言,大大提高了系统中模块的可复用性和可扩充性。可 以说,组件化开发为应用程序的开发提供了一条崭新的思路。利用分布式的组件 技术,我们可以构建跨越单机、局域网、甚至i n t e r n e t 的地理上分布的大型分布式 应用系统:利用分布式组件技术,我们可以非常容易地将应用程序系统进行分层, 例如分解成表示层、中间层和数据库层,使用组件技术实现的应用软件系统不再 是一个固化的整体性系统,而是通过组件间互相提出请求及提供服务的协同工作 机制来达到系统的目标,这样可以大大降低层与层之间的相互依赖1 4 】。由于组件具 有良好的接口特性,因此,基于组件集成的系统具有较大的灵活性,便于团队合 作开发,降低开发、部署复杂度,同时使得升级和更新也更简单易行。这种被业 界形象地称为“搭积木 式的软件开发方式业已成为信息化的主流方向之 安徽理工人学硕士学位论文 1 2 国内外研究现状 组件是具有一定的功能和结构,并符合一定的标准,可以完成一个或多个 特定的服务的软件实体,可独立部署、可组装。采用组件技术的软件生产方式就 是一种类似于“零部件组装的集成组装式软件生产方式,它把零件、生产线和 装配运行的概念运用在软件产业中,打破了手工作坊式的软件开发模式,而且采 用组件技术可以实现软件复用,实现“搭积木”的生产方式。在组件技术领域, 国内相比于国外,起步较晚,基础较差,成功的大型企业级分布式应用案例较少, 较多的都仅停留在对国外主流分布式组件技术的理论研究和逐步应用阶段,近年 来在组件技术应用方面也取得了一些成绩而在国外,理论成熟较早,应用和研究 都很丰富,出现了许多成功的应用案例,这些案例包括医药、金融、交通、电信 等几乎各个行业。目前公认的主流分布式组件技术均出自国外:有m i c r o s o f t 公司 的n e t 平台、s u n 公司的j 2 e e 规范和国际对象管理组织o m g ( o b j e c tm a n a g e m e n t g 幻u p ) 制定的公共对象请求代理体系结构c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 规g 【卯。 1 2 1国内组件技术发展现状 软件组件化可以分为两个层面:一个是在软件企业内部实施基于组件的软件开 发,形成组件开发、管理、应用组装的流水线模式,实现企业内部的软件工程化 开发;另一个是在软件产业范围内形成组件生产企业、组件流通中介、软件集成企 业等的专业化分工与协作,构筑软件生产的上下游产业链,实现软件工业化生产。 尽管国内组件技术起步比较晚,但国内在主流组件技术规范的基础上也研究出了 一些令人振奋的成绩。 ( 1 ) 北京大学软件工程研究所【6 l 北京大学软件工程研究所是一个专注于软件工程及其相关领域的研究和实践 的学术机构,近年来,研究所在所长杨芙清院士的领导下,对软件复用与软件组 件技术进行了深入的研究。成果代表为青鸟工程,青鸟工程在软件复用和组件技 术领域成绩斐然。 在对国际相关标准规范进行比较研究的同时,青鸟工程对国际上学术界关 于软件复用和软件组件技术的一些主要成果进行了分析研究,结合前期攻关和8 6 3 课题研究的实践和基础,提出了一套青鸟组件标准规范。这套标准规范保持了和 国际标准规范的接轨和兼容,同时也融进了一些国际上重要研究成果和自己的研 2 - l 绪论 第章介绍了组件技术软件开发产生的背景与组件技术的国内外发展现状, 同时介绍了论文研究背景、主要的研究内容及意义。 第二章介绍了组件的概念及其分类,组件的开发步骤,组件的接口等技术要 素,分别介绍了目前流行的三种组件技术平台,微软的n e t 平台,o m g 组织的 c o e b a 规范以及s u n 的n e e 规范,比较了三种技术平台的特点、适用范围等。 第三章主要介绍了组件开发平台n e t 开发环境。 第四章详细介绍了主要的五个组件,包括自动完成输入组件,g r i d v i e w 数据 显示组件,树型菜单,权限管理和下拉列表组件。重点介绍了t r e e v i e w 组件的设 计和权限管理的实现,并将这些组件应用在煤矿安全信息管理系统中。 第五章主要介绍了煤矿安全管理系统中数据库表的设计,详细介绍了数据库 设计的目标和原则、数据库的选择以及数据库设计过程( 需求分析、概念设计、 逻辑设计、物理设计) ,以用户角色权限控制模块为例详细介绍了相关表的设计。 第六章总结了全文的工作,并出进提一步研究的方向。 9 安徽理一r 大学硕士学位论文 2 组件技术及其平台 2 1 组件技术 组件是设计铁路天窗施工方案管理信息系统的主要技术。 组件的出现可追溯到2 0 世纪5 0 年代后期,那是作为最早的c o b o l 以及f o r t r a n 系统的一部分企业和科学例程序库就是组件。后来组件就逐渐模块化,形成各种 各样的例程序库,如数学、工程、统计以及绘图的例程库。此外,u n i x ,w i n d o w s 及其他操作系统中也有大量的系统例程库。还有一种发展是一组相关的和集成的 对象构成的所谓类框架,如微软公司的m f c ,s y b a s e 公司p f c 以及b o r l a n d 公司 的o b j e c tw i n d o w sl i b r a r y 。再发展就是微软的a c t i v e x 组件、j a v ab e a n 以及 o p e n d o c 都是现行的或正在研制中的商品组件。 在计算机软件发展的早期,一个应用系统往往是一个单独的应用程序。应用 越复杂,程序就越庞大,系统的开发量也就越大。而且,一旦系统的某个版本完 成以后,在下个版本出来之前,应用程序不会再有改变,即不会在原系统上升级。 而对于庞大的程序来讲,更新版本的周期很长,在两个版本之间,如果由于操作 系统发生了变化,或者硬件平台有了变化,应用系统就很难适应这样的变化。所 以这类应用程序己经不能满足计算机软硬件的发展要求。 从软件模型的角度来考虑,一个很自然的想法就是把一个庞大的应用程序分 成多个模块,每个模块保持一定的功能独立性,在协同工作时通过相互之间的接 口完成实际的任务。把没一个这样的模块称为组件,一个设计良好的应用系统往 往被切分成一些组件,这些组件可单独开发,单独编译,甚至单独调试和测试。 当组件的开发完成后,软件开发者可以像搭积木一样快速的将自己开发的组件或 己有的可重用组件构成应用程序。这样不仅可以节省时间和经费、提高工作效率, 而且可以产生更加规范、可靠的应用软件。当系统的外界软硬件环境发生变化或 者拥护的要求有所更改时,并不需要对所有的组件进行修改,而只需要对受影响 的组件进行修改,然后重新组合即可升级该软件。 2 1 1 组件和类 组件的概念是在有了面向对象之后产生的,是翻译过来的词汇,在c + + b u i l d e r 中称它为组件;在d e l p h i 中,称它为部件;在p o w e r b u i l d e r 中称它为对象;在v i s u a l b a s i c 中称它为控件。 关于组件的概念有许多种不同的说法,并没有一个统一的定义。有一种解释 1 0 2 组件技术及其平台 为:有组方法,方法的运行需要一组数据,将他们做封装,就变成了组件。这和 类非常相似,但其实他们是不同的:类是以源代码形式存在的,而组件是以二迸制 可执行码存在的,是封装了的结果。但组件和类一样,都有属性和方法。 2 1 2 组件的概念 一般对组件可以这样理解: 组件是软件开发中可替换的软件单元,它是可复用、自包含、独立于具体应 用的软件模块。它封装了相对较独立的计算逻辑,提供即插即用的功能而不需要 重新编译。可以和其他组件组合成为一个更大的逻辑单元。组件通过接口描述它 的功能。外界只能通过接口访问它。 组件的含义包含技术和工程两个方面的因素。 在技术方面,组件可以进行二进制级别上的继承和重用,它提供对功能的封 装。外部通过接口来访问它的服务。要复用组件不一定需要源代码。 在工程方面,组件可被独立的生产、获得和配置,它允许被无缝地集成到第 三方所开发的软件系统中。对于组件最理想的使用方式是完全采用拼图的方式用 已有的组件构建一个应用。 组件具有如下几个特点: l 、可重用性。是现成的可打包的,不用更改应用程序就能即插即用。 2 、可维护性。组件应足够小,以易于维护和升级。 3 、功能性。组件应足够大,以封装相对独立的功能。 4 、自我描述性。组件能向系统的其余部分描述它提供的服务,这些信息可以 使开发环境将第三方组件无缝地结合起来。这种描述通常是通过说明性的与实现 无关的接口定义语言来提供的 5 、运行于特定的框架。组件通常是在一个特殊的框架中建立的,这种组件不 能在其他框架中运行。例如c o r b a 的组件不能运行于d c o m 的环境中。 6 、可定制性。组件不仅可以重复使用,还可以由用户自行配置。一般基于组 件的开发工具都提供一个图形界面对组件的属性进行设置,使其能够满足某些特 定环境的具体要求。 7 、可集成性。通常情况下,开发人员可将组件作为一种现成的产品购买,然 后将其并入开发环境与新的应用相连。组件必须可以被编程语言直接控制。这个 特性使得组件可以在非可视开发项目中使用。 8 、连接机制。组件必须能产生事件或者具有让程序员从语义上实现相互连接 安徽理丁大学硕士学位论文 的其他机制。 2 1 3 组件的分类 现行的组件可分为如下几种类型: l ,g u i 组件( g u ic o m p o n e n t s ) 。它提供图形用户界面的能力。 2 、逻辑组件( l o g i cc o m p o n e n t s ) 。它提供非可视的计算能力、图象编辑功能 由堂 守o 3 、垂直组件( v e r t i c a lc o m p o n e n t s ) 。它对某一具体产业提供数据和逻辑,类 似于小型应用 4 、容器组件( c o n t a i n e rc o m p o n e n t s ) 。它提供骨架,把各种定制的组件装填进 去。 运用组件技术开发程序主要是解决两个方面的问题:首先,要有可重用的组 件,并且一旦使用时能够找到所需要的合适的组件。另外,即使这些组件存在, 也需要将他们有效的组织在一起。 2 1 4 组件开发步骤 一般而言,在基于组件的应用开发的过程中,首先应逐步深入地对组件进行 功能分析、规划,进行对外接口的设计,进而落实内部细节的实现,最终完成组 件的部署与管理。基于组件的应用丌发过程包括如下步骤: l 、设计。在抽象层描述系统中包含的组件,包括组件的接口、组件的属性以 及组件间的关联等信息; 2 、部署。根据设计运行环境,决定组件的分布、组件的实现等细节; 3 、具体化组件。将逻辑组件转化为物理组件,使组件与具体的代码对应起 来; 4 、具体化连接。将逻辑连接转化为物理连接,将组件间的连接以代码的形 式表现出来; 5 、产生代码。包括对象的初始化、对象实例间的连接、文件系统信息、需 连接的库以及编译开关等信息; 6 、编译、连接,产生最终代码。 2 1 5 组件的接口 组件的接口在整个应用系统中起决定性作用。接口设计不合理,不仅影响组 1 2 2 组件技术及其平台 件本身的可重用性,并且将影响整个应用系统的升级,缩短系统的生命周期。所 以确定组件的接口要经过深思熟虑,以使其能支持各种不同的应用。一般接口应 具有较高的通用性,以提高整个应用系统的复用能力,同时还要兼顾简单。 组件的内部实现细节不能反映到接口中,接口同内部实现细节的隔离程度越 高,组件或应用发生变化对接口的影响将越小。在设计组件的接口时,还要尽量 估计到将来可能出现的各种情况,设计出来的接口应具有较高的通用性,这样才 能得到具有高可靠性、适应性和灵活性的组件。 2 2 主流的组件平台 当今主流的分布式组件技术主要有:m i c r o s o f t 公司的n e t 平台,o m g 组织制 定的c o r b a 规范和s u n 公司的j 2 e e 规范【1 2 1 。 2 2 1n e t 平台 n e t 平台下对c o m + 的支持都放到一t s y s t e m e n t e r p r i s e s e r v i e e s 命名空间, 只要是从s e r v i e e d c o m p o n e n t 继承过来的类,稍微配置后,就可以享有c o m + 提 供的众多服务。 但传统的c o m 对象与n e t 平台对象模型有许多的不同,主要表现在: ( 1 ) c o m 对象的客户必须自己管理c o m 对象的生存期,而n e t 对象的生存 期由通用语言运行时( c o m m o nl a n g u a g er u n t i m e ,c l r ) 来管理,对象销毁通过垃 圾回收器( g a r b a g ec o l l e c t i o n , g c ) 自动回收。 ( 2 ) c o m 对象的客户通过调用q u e r y i n t e r f a e e 函数查询c o m 对象是否支持某 个接口和得到某个对象实现了的接口,而n e t 对象的客户使用反射机制,使用 s y s t e m r e f l e c t i o n 下的类来获得对象的方法、属性等功能描述。 ( 3 ) c o m 对象的客户通过指针引用c o m 对象,对象在内存中的位置是不变 的,而n e t 对象在内存中的驻留由n e t 平台执行环境( e x e c u t i o ne n v i r o n m e n t ) 来 管理,对象在内存中的位置是可变的,比如出于优化性能的考虑,同时会更新所 有对象的引用1 3 1 。 为了实现传统的c o m 程序与n e t 程序之间的相互调用,n e t 提供了n e t 组件和原有c o m 组件的互访机制:c o mi n t e r o p ( c o mi n t e r o p e r a t i o n ) 机制,n e t 提供t 运行时可调用包( r u n t i m ec a l l a b l ew r a p p e r , r c w ) 和可调用封装器( c o m c a l l a b l ew r a p p e r , c c w ) ,在论文的第三章将详细介绍他们之间的相互调用。 n e t 客户端调用c o m 对象的方法时,n e t 客户端不会直接与c o m 对象 1 3 安徽理工大学硕士学位论文 打交道,而是由托管代码与r c w 联系。r c w 是由c l r 根据i n t e r o p 程序集中包 含的元数据信息在运行时动态创建的,充当n e t 客户端和c o m 对象之间的调用 处理的代理【1 4 1 。对于n e t 客户端,r c w 看上去与其他任何c l r 对象一样。不 管每个c o m 对象具有多少托管引用,都只有一个r c w r c w 可以执行以下功 能:( 1 ) 调用封装的方法;( 2 ) 代理c o m 接e l ;o ) 保留对象标识;( 4 ) 维护c o m 对象生存 期。 当c o m 客户端调用n e t 对象时,由c c w 将来自c o m 客户端的调用转发 给n e t 对象。c c w 在这里充当了c o m 客户端和n e t 对象之间的代理。c c w 使得c o m 客户端认为它们是在与另一个c o m 对象联系。c c w 实现了标准的 c o m 接1 :3 ,例如i u n k n o w n ,i d i s p a t c h 以及其他许多接口。某种n e t 类型的多个 c o m 客户端可以共享一个c c w c c w 接1 :3 可以执行以下功能:( 1 ) 将c o m 数据类 型转换为相应的c l r 类型:( 2 ) 模拟c o m 引用计数;( 3 ) 提供封装的标准c o m 接e l 实现。 2 2 2c o r b a 规范 c o r b a 分布计算技术是o m g 组织基于众多开放系统平台厂商提交的分布 式对象的基础上制定的公共对象请求代理体系规范。c o r b a 是由绝大多数分布 计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进、独立于系统 平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准之一。 c o b r a 标准主要分为三个层次:对象请求代理、公共对象服务和公共设施。 最底层是对象请求代理o r b ,规定了分布对象的定义和语言映射,实现对象间的 通讯和互操作,是分布对象系统中的“软总线 ;在o r b 之上定义了很多公共服 务,可以提供诸如并发服务、名字服务、事务服务、安全服务等各种各样的服 务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规 定业务对象有效协作所需的协定规则【l5 1 。目i j i ,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 等。 1 4 2 组件技术及其平台 a p p l i c a t i o no b j e c t s i o r b 工工 c o r b a s e r v i c e sc o r b a f a c i l i t i e s 图1c o r b a 规范结构 f i glc o r b a n o r m a t i v es t r u c t u r e c o r b a 被设计和架构为服务于对象系统,这些对象可以用不同程序语言书 写、运行于不同平台之上。c o r b a 依赖于o r b 中间件在服务器和客户之间进行 通信。o r b 扮演一个透明地连接远程对象的代理,每个c o r b a 对象提供有界面, 并且有一系列的方法与之相连。o r b 负责为请求发现相应的实现,并且把请求传 递给c o r b a 服务器。o r b 为客户提供透明服务,客户并不需要知道远程对象的 位置以及用何种语言实现。 c o r b a 规范的近期发展,增加了面向i n t e m e t 的特性,服务质量控制和 c o r b a 组件模型( c o r b ac o m p o n e n tm o d e l ) 。i n t e m e t 集成特性包括t 针对i i o p 传输的防火墙( f i r e w a l l ) 和可内部操作并定义l u r i a u n i f o i t nr e s o u r el o c a t o r ) 命名 格式的命名服务( n a m i n gs e r v i c e ) 。服务质量控制包括能够具有质量控制的异 步消息服务,一组针对嵌入式系统的c o r b a 定义,一组关于实时c o r b a 与容 错c o r b a 的请求方案。 c o r b a 组件模型( c o r b ac o m p o n e n tm o d e l ,c c m ) 技术,是在支持p o a 的 c o r b a 规范基础上,结合e j b 当l j 规范的基础上发展起来的,是o m g 组织制 定的一个用于开发和配置分布式应用的服务器端中自j 件模型规范,它主要包括如 下三项内容: ( 1 ) 抽象组件模型,用以描述服务器端组件结构及组件间互操作的结构: ( 2 ) 组件容器结构,用以提供通用的组件运行和管理环境,并支持对安全、 事务、持久状态等系统服务的集成: ( 3 ) 组件的配置和打包规范,c c m 使用打包技术来管理组件的二进制、多语 言版本的可执行代码和配置信息,并制定了组件包的具体内容标准。 c o r b a 组件结构上主要包括o r b 核心,o r b 界面,i d l 存根,d l i ( d y n a m i c 1 5 安徽理工大学硕十学位论文 i n v o c a t i o ni n t e r f a c e ,动态调用界面) ,对象适配器,i d l 骨架,d s i ( d y n a m i cs k e l e t o n i n t e r f a c e ,动态骨架界面) 。c o r b a 运行结构( o r b 核心) 是由特定开发商决定的, 不是由c o r b a 定义的。不管怎样,o r b 界面是一个标准的功能界面,是由所有 的c o r b a 兼容o r b 提供的。i d l 处理器为每个界面产生存根。这就屏蔽了 低层次的通信,提供了较高层次的对象类型的特定a p i d i i 是相对于i d l 存根的 另一种方法,它为运行时构建请求提供了一个通用的方法。对象适配器,为可 选的对象技术被集成到o m a 提供支持。i d l 骨架类似于i d l 存根,但是,它们 是工作于服务器端的( 对象实现) 。对象适配器发送请求给i d l 骨架,然后,i d l 骨架就为之调用合适的对象实现中的方法。 c o r b a 是基于对象管理体系结构的( o b j e c tm a n a g e m e n ta r c l f i t c c t u r c , o m a ) ,o m a 为构建分布式应用定义了非常广泛的服务。o l v i a 服务为划分为三 层,分别称为c o r b a s e r v i e c s ,c o r b a f a c i l i t i e s ,和a p p l i c a t i o n o b j e c t s 。当应用 程序需要访问这些服务时,就需要使用o r b 通信框架,如图2 1 所示。这些服务 在o m a 中实际上是不同种类的对象的定义,并且为了支持分布式应用,定义了 很广泛的功能。 c o r b a s e r v i c e s ( c o r b a 服务) :是开发分布式应用所必需的模块。这些服务 提供异步事件管理,事务、持续、并发、名字、关系和生存周期的管理。 c o r b a f a e i l i t i e s ( c o r b a 工具) :对于开发分布式应用不是必须的,但是在 某些情况下是有用的。这些工具提供信息管理、系统管理、任务管理和用户界面。 a p p l i e a t i o n o b j e c t s ( 应用对象) :主要为某一类应用或一个特定的应用提供服 务。它们可以是基本服务、公共工具或特定应用服务。 c o r b a 还定义了通用o r b 协议g l o p ( g e n e r a li n t e r - o r bp r o t o c 0 1 ) ,以及基 于t c p d p 的i n t e r a c t 网间o r b 协议i i o p ( i n t e m e ti n t e r - o r bp r o t o c 0 1 ) ,用于 网络上o r b 的互操作协议。c o r b a 在不同对象请求代理之间使用i i o p 进行通 信,使用t c p 作为网络通信协议l l 酬。 c o r b a 对象的接口用一种可编程的、独立于任何编程语言的规范语言编写, 这种语言就是接口定义语一言i d l ,它是c o r b a 标准的一部分。c o r b a 客户 端是任何使用了网络所提供的c o r b a 对象的软件单元。o r b 是c o r b a 规范的 基础,它是一个能够将c o r b a 客户端请求发送到c o r b a 服务器对象的中间软 件单元。使用o r b 可以使请求处理的详细操作对客户端透明化。例如,在网络 中调用远程服务器对象方法就好像是本地方法的调用,o r b 负责处理客户端对象 与服务器对象间的所有通信。 1 6 2 组什技术及其平台 c o r b a 规范是由对象管理组织o m g 提出的应用软件体系结构和对象技术 规范,其核心是一套标准的语言、接口和协议,以支持异构分布应用程序问的互 操作性及独立于平台和编程语言的对象重用。 2 2 3j 2 e e 规范 j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) 是s u n 公司定义的开发分布式企业级 应用的规范。它提供了一个基于组件的方法来设计、开发、装配和部署多层次的 分布式应用程序平台和一系列开发技术规范。多层次分布式应用模型是指根据功 能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式 服务器的组件容器中运行( 如s e r v l e t 组件在s e r v l e t 容器上运行,e j b 组件在e j b 容器上运行) ,容器间通过相关的协议进行通信,实现组件问的相互调用遵从这 个规范的开发者将得到行业的广泛支持,开发者将不必担心运行关键商务应用所 需的“管道工程 ,从而可以集中精力重视商业逻辑的设计和应用的表示,使企业 级应用的开发变得简单、快速【1 7 1 。 j 2 e e 的核心思想是基于组件容器的应用。每个组件提供了方法、属性、事 件的接口,可以由多种语言开发,并且组件是可以重用的、共享的、分布的。 对j 2 e e 开发环境而言,组件是几种特定的j a v a 程序,这些程序有固定的格 式和编写方法,它们的功能和使用方式在一定程度上被标准化了。最基本的j a v a 组件是在j a v a 标准版j 2 s e ( j a v a2s t a n d a r de d i t i o n ) 中的j a v a b e a n ,它是按照特定 格式编写的j a v a 类文件。j a v a b e a n s 包括实例变量( i n s t a n c ev a r i a b l e ) 和访问实例变 量的数据的g e t ) 与s e t ) 的方法,这种格式大大简化了程序设计。 j 2 e e 的组件在j a v a b e a n s 基础上进行了拓展。由于w e b 编程比较复杂,j 2 e e 提供了更多应用组件,主要包括三类:客户端的a p p l e t 和程序客户;w e b 容器内的 j s p , s e r v l e t ,j s t l 等组件:企业j a v ab e a n s 容器内的e j b 组件和资源连接组件【1 8 】。 j 2 e e 结构如图2 所示。 1 7 安徽理j 人学碗士学位论文 图2j 2 e e 多层次结构w e b 程序框架 f i 9 2j 2 e e m u l t i - l a y e r e ds t r u c t u r e o f w e b f r a m e w o r k ( 1 ) j 2 e e 客户 j 2 e ew e b 应_ j 可以和多种客户端程序连接。这些客户主要包括以下部分: w e b 客户端和在客户机上运行的w e b 洲览器。w e b 客户端包括动态生成的网页( 包 含各种各样的类型标注语,如h t m l ,x m l 等) ,w e b 浏览器r 如i n t e m e t e x p l o r e r , n e t s c a p e ) 以标准格式显示从服务器传递来的网页。 a p p l e t 是基于j a v a 的小型客户端组件。它一般在w e b 浏览器上运行,通过 h 1 t p 协议和服务器进行通信从服务器传给浏览器的网页可能包括嵌入的a p p l e t 程序;这些a p p l e t 程序在铡览器所安装的j a v a 虚拟机( j a v a v i r t u a l m a c h i n e ) 上执行。 这要求客户机的浏览器事先安装j a v ap l u g - i n 和有关安全许可文件。 w e b 客户端程序和a p p l e t 各有优点。w e b 客户程序更简单和普遍,因为它不 需要安装j a v ap l u g i n ,也无须操心客户程序运行的安全问题。并且,w e b 客户程 序使编程和网页设计分离,这样保证了程序设计的模块化。会制作漂亮厨页 的程序员因而不需要了解j a v a 编程语法,a p p l e t 更适合复杂的客户界面。客户 应用程序是指在客户机上运行的j 2 e e 程序。它为用户提供了丰富的界面和复杂 的操作。客户应用程序直接访问在服务器e j b 容器内的f 2 b 程序。当然,j 2 e e 客户应用程序也可像a p p l e t 客户那样以h t t p 连接和服务器的s e r v l e t 通信,与 a p # c t 不同的是,客户应用程序一般需要在客户端进行安装,而a p p l e t 是在w e b 2 组件技术及其平台 上下载,无须专门安装。 ( 2 ) w e b 组件 w e b 组件是在j 2 e ew e b 容器上运行的软件程序,w e b 容器主要支持多层结 构的表示层它的功能是在h t t p 协议上对w e b 请求进行响应,这些所谓响应其 实就是动态生成的网页。用户每在浏览器上点击一个链接或图标,实际上是通过 w e b 向服务器发出请求,j 2 e e 平台的w e b 组件对这些请求进行处理后回复给客 户相应的h t m l 或x m l 文件。 j 2 e ew e b 组件包括s e r v l e t , j a v as e r v e rp a g e ( j s p ) 和j a v a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 3106-2016 紧固件 螺栓、螺钉和螺柱 公称长度和螺纹长度》专题研究报告
- 粉矿烧结工安全规程模拟考核试卷含答案
- 商品营业员安全检查强化考核试卷含答案
- 塑料模具工岗前设备巡检考核试卷含答案
- 赡养及财产分割协议书
- 2026年北师大版(2022)小学劳动技术一年级上册期末综合测试卷及答案
- 节日促销策略解密
- 教学年度成效分析
- 广东省肇庆市2024-2025学年高三二模化学试卷(含解析)
- 动词不定式(解析版)核心语法重难点专项突破-2026届高考英语一轮复习
- 艺术学概论教学大纲
- 2025年中央一号文件参考试题库100题(含答案)
- 乡村振兴产业基地社会效益与文化效益分析
- 建筑施工现场急救知识
- (高清版)DB37∕T 3048-2017 自主可控软件测试与认证规范
- ISO9001质量管理体系策划方案
- DB11-T 213-2022 城镇绿地养护技术规范
- 2024-2025学年河北省唐山市高一上学期期末考试数学试卷(含答案)
- 高教社马工程伦理学(第二版)教学课件10
- 公务员制度讲座-终结性考核-国开(SC)-参考资料
- DB51T 1592-2013 中小学教育技术装备管理规范
评论
0/150
提交评论