已阅读5页,还剩95页未读, 继续免费阅读
(基础数学专业论文)基于分布式构件的软件企业集成环境.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于分布式构件的软件企业集成珏焦 内容摘要 基于分布式构件的软件企业集成环境,是把软件工程理论应用于软件 企业,结合软件企业实际对分布式环境的需求,构建的一个符合企业工程 化建设的集成化开发环境,以求改进软件开发的时间( t ) 、质量( q ) 、成 本( c ) 、服务( s ) 等,提高软件企业的国际竞争力。 目前,我国的多数软件企业规模不大且处于手工作坊阶段,工程化水 平很低,软件开发能力差,开发质量不高。软件企业缺乏有序的工程化管 理,已经成为制约当前我国软件企业发展的重要因素。因此,基于网络技 术构建分布开发环境,实现分布协同开发,正成为我国软件企业发挥后发 优势、实现跨越式发展的迫切需求。基于上述的理论分析,本文给出了一 套可行的问题解决方案。 引言部分介绍论文背景,论述笔者对构建软件企业集成开发环境的必 要性的认识,以及国内外软件企业的发展现状。笔者认为实现工程化管理 是软件企业实现快速发展的必然选择。第一部分着重介绍分布式对蒙技术 及其对实现软件工程化和构建分布式应用的重要性。第二部分概括性介绍 软件工程化理论,并探讨软件工程化的评价标准和实施方法,认为作为软 件企业管理理念的基本思想的软件工程化理论,是和现代企业管理思想交 织在一起,为软件企业工程化实施提供行动指南。第三部分集中介绍系统 描述工具u m l ( u n i f i e dm o d e l j n gl a l l g u a g e ) 及其在描述本文所给出的解 决方案“软件企业集成环境( s w - i d e ) ”的分析和设计等问题上的应用。 第四部分整合本文前几部分介绍的软件技术和管理理念,重点介绍软件企 业集成环境( s w i d e ) 的分析、设计与实现。文章附录给出了笔者提出的 “软件企业集成环境s w i d e ”的实现结果。 关键词:分布式构件。s w i d e ,i s 0 9 0 0 0 ,c m m ,u m l a b s t r a c t s o 最w 盯ee n t e i _ p r i s ei n t e 四m t e de n v i r o n m e n tb 鼬e do nd i s t r i b u t e dc o m p o n e n t si s ,a p p i y i n g e n g i n e e r i n gt h e o r y t os o f t w a r e e n t e r p r i s e 卸dr e i a t i n g t h e r c q u i r e m e n t s o fs o f | w a r e e n t e r p r i s e r e a l i t y f o rd i s t “b u t e de n v i r o n m e n t ,a ni n t e g r a t e d d e v e l o p i n ge n v i r o n m e n t c o n s t r u c t e dc o r r e s p o n d i n gw i t he n g i n e e r i n g i z e dc o n s t n j c t i o no fe n t e r p r i s e s ,i na na n e m p t t oi m p r o v et i m e ,q u a m y c o 瓯s e r v i c e 粕ds oo no fs o 觚a r ed e v e b p m e n t 锄dt oe n h a n c e t h ec o m p e t i t i v e a b i “l yo f s o f t w 撇e n 把甲r i s ei nt h ew o r l d m a r k e t t h e p r e s e ms 计u a t i o no f t h em a j o r i t yo fs o f t w a r ee n t e r p r i s e si nc h i n a i st h a tt h e ya r eo f s m a l ls c o p e 龃ds t a yo nt h ep h 硒eo fm a l l u a lw o r k s h o p ,e n g i n r i n g i z e di e v e l l o w t h e a b i i i 母o f s o r w a r e d e v e i o p m e n tw e a k ,d e v e i o p i n gq u a l 时l o w s o 仃w a r ee m e r p r i s e s 龃ei n w a r i to fo r d e r l y e n g i n e e r i n g i z e dm a n q g e m e n t ,w h i c hh 鹊b e c o m ea ni m p o r t a n tf k t o r r e s t r i c t i n gc u r r e n ts o f t w a r ee n 把甲r i s e so f o u rc o u n t mt h e r e f o r e ,c o n s t r u c t i n gd s t “b u t e d d e v e l o p i n ge n v i m n m e n tb a s e do nn e t w o r kt e c h n o i o g yt or c a i i z ed i s t r i b u t e dc o o r d i n a t e d d e v e l o p m e m i sb e c o m i n gt h ei m p e f a i i v en e e dt h a ts o n w a r e e n t e r p r i s e si no u rn a t i o nb r i n g l a t e a d v a n t a g e si n t of h p l a y 硼dm l 舢l e a p i n g o v e rd e v e i o p m e n t o nt h eb a s i so ft h e a b o v e t h e o r e t i c a i 柚a l y s i s ,t h ep a p e rp r o v j d e sas e to f f e a s _ b l es o l u t i o n st ot h ep r o b l e m s t h e i n t r o d u c t o l ys e c t i o ni n t m d u c e st h eb a c k g m u n do ft h ep a p e la n de x p o u n d sw h a tt h e a u t h o rt h i n k so ft h e n e c e s s i t y t oc o n s t r u c ts o f t w a r e e n t c r p r i s e i n t e g f a t e dd e v e l o p i n g e n v i r o n m e n t ,a n dt h ec u r 陀n td e v e l o p m e n ts i t u a t i o no fd o m e s t i c 矗n da v e r s e a ss o 脚a r e e n t e r p r i s e sa sw e l l t h ea u t h o rh o l d st h a tt o 坤a i i z ee n g i n e e r i n g i z e dm a n a g e m e n ti st h e n e c e s s a f yc h o i c et om a k es o f t w a r ee n t e r p r i s e sa c h i e v er a p dd e v e l o p m e n t s e c t i o no n e c o n c e n t r a t e so nm ei n t 砌u c t j o no fd i s t n b u t e do b j e c t t e c h n o l o g ya n di t si m p o n a n c et o a c c o m p i i s h i n gs o r w a r ee n g i n e e r i z a t i o n 柚dc o n s t r u c t i n gd i s t r b u t e d a p p l i c a t i o n s e c t i o n t w om a l ( e sa g e n e m l i n t r o d u c t i o nt os o f h v a r e e n g l n e e r i n gt h e o r y a l l d p r o b e s i n t o a s s e s s m e n tc r i t e r i aa n di m p l e m e n t i n gm e t h o d so fs o n w a r ee n g i n e e r i z a t i o n ,a n dh o l d st h a t s o f w a r e e n g i n e er n g i z e dt h e o 阱 a sf u n d a l l l e n t a i t h o u g h t o fs o f t w a r e e n t e r p s e m a r i a g e m e n ti d e a i si n t e n v o v e nw i mm o d e me n t e r p r i s em a n a g e m e n tc 仰c e p t ,s u p p l y i n g t h ec o m p a s so fa c t i o nf o rc a r r y i n go u ts o f h v a 他e n t e r p r i s ee n g i n e e r i 臻t i o n s e c t i o n1 1 1 他e 4 茎王坌塑茎塑堡鲤墼堡垒些塞盛堑兰 f o c u s e so nm ei n t r o d u c t i o nt os y s t e md e s c r i p t i o nt o o lu m l ( u n 讯e dm o d e l i n gl 鲫g u a g e ) a n d 他印p l i c a t i o nt od e s c r i b i n gt h e 柚a l y s i sa n dd e s i g n 柚do t h e rq u e s t i o n so fs o l u t i o n s c h e m e “s o f h v a r ee n t e r p r i s ei n t e g r a t e de n v i m n m e n t ( s w l d e ) ”t h i sp a p e rp r c s e n t s s e c t i o nf o u ru n i n e st h es o r w a r et e c h n o l o g ya n dm a n a g e m e n ti d e at h en r s tt h r e es e c t j o n s o ft h ep a p e ri n t m d u c e s ,a n dm a i n l yi n 佃a d u c e st h ea n a l y s i s ,d e s i g na n di m p l e m e n t a t i o no f s 0 脚a r ee n t e r p r i s e i n t e g r a t e de n v i r o n m e n t ( s w l d e ) t h ea p p e n d i x o f t h ep 叩e rp r e s e n t s t h ei m p l e m e n t a t i o nr e s u l 协o f “s o r w a r ee n t e r p s ei n t e g r a t e de n v i r o n m e n t( s w - l d e ) ” t h a tt h ea u t h o rc o m e su pw i t h k e y w o r d s :d i s t r | b u t e dc o m p o n e n t ,s o r w a r ee n t e r p r j s ee n g i n e e r i z a t j o n ,s w l d e ,c m m , u m l 基于分布式构件的软件企业集成环境 0 引言 0 1 在完成国家项目中引出的思考 1 9 9 9 年7 月至2 0 0 1 年7 月,笔者作为河南大学计算机应用研究所的 一员,参加了国家8 6 3 计划项目河南省c i m s 总体研究和k f c i m s 应用示 范工程( 8 6 3 5 1 1 9 l o 1 8 1 ) 的开发与实旖。虽然项目完成的非常成功,在 将c i m s 理念和技术与用户实际生产实践紧密结合上,有许多创新,用户 单位非常满意,包括院士在内进行验收与鉴定的专家对其评价极高,在好 几个方面都给出“国内领先”的评语,但是在项目管理中却存在诸多问题。 例如,对项目计划的监督和跟踪以及修改计划等跟不上步伐,项目实际进 度与项目开发计划相脱节;缺乏可操作的软件质量管理过程,分工不明确, 责任不清晰,常常是项目负责人直接对所提交的工作产品进行测试,经常 出现软件文档和源代码与实际的功能、性能不能完全相符的情况;不同开 发人员所开发的工作产品风格各异,缺少统一的标准和统一的开发技术, 导致软件产品的后期维护困难等。 这种运作状态的直接后果,容易造成软件开发的随意性和易变性,所 以屡见产品拖期,或者软件产品不能很好地满足用户的需求,以至于反复 修改甚至返回到程序开发的初始阶段需求分析等现象。另外,程序、 文档标准不一,也影响系统的可扩展性和可维护性。 从参加这样大型项目的实践中,笔者深深地体认到:实现软件开发的 工程化,是解决上述问题的唯一办法。 目前,面向对象和构件化已成为软件开发的成熟技术,网络环境下的 分布设计和开发的软件生产模式也正成为软件企业实际运作的发展取向。 这种软件生产的新模式,不仅对软件开发的技术和方法,而且对软件生产 过程的管理和软件产品数据的管理,都提出了更高的要求,更迫切地需要 建立基于先进管理理念和先进开发技术与方法的软件工程开发与管理自动 薹王坌查蒌塑笪塑鏊堡垒些塞堕墅撞 化环境。因此,软件企业应该建立适合于自己特点的过程控制和过程管理 体制并使之自动化、规范化,使得一定角色人员对于其权限内的开发过程 和工作产品具有可见性,尽可能地降低开发工作对开发人员经验和能力的 依赖,而以团队的智慧( 在于完善过程管理) 和规范化管理来提高软件企 业的生产能力。这些看法是笔者在项目实践中最重要的思考,成为本文提 出的研究课题的出发点。 0 2 国内外软件产业的发展概况 随着信息时代的到来,世界软件产业取得突飞猛进的发展,软件产业 的地位在主要工业发达国家已被提到了空前的高度,成为国民经济的支柱 产业。据资料显示,目前,世界软件企业5 0 0 强大多数集中在美国。印 度与中国一样同属发展中国家,然而在世界银行对有关国家软件出口能力 所做的评估中,印度软件出口的规模、质量和成本等综合指数位居世界第 一,已有几十家企业达到了c m m 4 、5 级的认证要求,被美国认定为最可 靠的软件供应国【2 】。以国内市场为主的中国软件产业与过去几年相比,虽 然发展很快,但与几年前位于同一水平线的发展中国家印度相比,却存在 着多方面的差距。因此,中国软件产业面临着发达国家和发展中国家的双 重挑战。 那么,是什么因素阻碍了中国软件产业的迅猛增长呢? 一个重要的因 素在于软件企业管理水平低下以及由此所带来的诸多问题。在国际闻壁垒 日益消除的情况下,软件开发技术已经逾越国界成为任何国家都可以共享 的财富。然而在国内,目前国际上最流行的软件过程的认证方法c m m , 却没有引起有关方面的足够重视。据不完全统计,国内目前仅有5 家企业 通过了c m m 2 级评估认证、l 家企业通过了c m m 3 级评估认证、l 家企业 通过了c m m 5 级评估认证。因此,国内软件企业在承担大型软件工程和 系统的设计、开发、集成能力方面,与国外相比处于不利的竞争地位,软 件产品经常有质量问题出现。这些问题的根源就在于企业缺少科学、规范 通过c m m 2 级评估认证的5 家企业分别是:北京鼎新公司、北京市北佳信息系统有限公司、 北京东方通科技股份有限公司、广州新太科技有限公司和神州数码公司;通过c m m 3 级评估认证 的l 家企业是托普软件公司:通过c m m 5 级评估认证的l 家企业是摩托罗拉中软公司 7 一 薹士坌塑茎塑壁塑塾壁垒些塞盛堕撞一 的软件开发过程管理。 o 3 国内软件产业的现状 目前,国内与软件有关的企业达到5 0 0 0 多家,但以中小企业居多。在 这些企业中,5 0 人以下的企业占5 5 左右,5 0 2 0 0 人的企业占4 2 左右, l o o o 人以上的企业只有为数不多的几家,同美国、印度等拥有一定产业规 摸的软件企业在诸多方面存在有很大差距【3 】。许多软件企业处于手工作坊 式阶段,存在软件成本较高、软件质量难以保证、软件开发的进度很难控 制、测估软件工作量困难以及软件维护难以得到及时响应等问题,严重影 响客户对产品的t ( t i m e ,上市时间) 、q ( q u a i i u 产品质量) 、c ( c o s t ,产 品成本) 、s ( s e r v e ,售后服务) 方面的要求。尽管国内软件企业在技术上与 国外先进的软件开发水平差距不大,但是由于过分地重视开发技术而忽视 过程管理,使得企业在开发过程中没有实施有效的可视化过程管理,最终 致使在各阶段预防问题、发现问题和解决问题方面缺乏目的性,软件质量 很难得到有效保证。因此,在我国软件企业从小型化开发到大型化、规模 化、商业化的发展过程中,企业缺少对软件开发过程进行科学的控制和管 理,已成为软件企业发展的“瓶颈”。 o 4 软件产业的未来发展 随着信息技术的发展,展望企业未来的发展趋势,企业之间不再是大 吃小,而是快吃慢的关系。甩掉沉重的包袱,快速响应外部需求,企业之 间形成风险同担、利益共享的双赢关系和良好的企业间动态联盟,是建立 新型企业和企业间关系的必然需求。信息技术的引入使得企业必须朝着有 利于资源优化配置的方向发展,并充分利用企业已有的资源和企业外部的 有效人力、物力、财力、时间和技术,保证实现企业的“两头大,中间小”。 “两头大,中间小”【4 j 是指企业在产品设计和经营管理上的投入要大,而 设备能力则相对较小,生产能力的不足主要依靠联盟的形式解决。软件制 造业为适应这种新变化,在制造过程中需要分布式环境来支撑软件企业的 整个生产过程。同时,各种先进制造模式及其所承载的先进管理思想,已 董王坌查壅塑堡笪塾壁垒些叁盛墅垄一 越来越被人们接受。 软件企业作为承载着科学管理思想的管理软件的制造者,在引进先进 开发技术的同时,也需要进行科学和规范化管理,“以信息化带动工业化”, 尤其需要运用i s 0 9 0 0 0 系列标准和s w c m m 软件能力成熟度模型等,不 断改进和完善自己的过程管理和文档化管理,保证生产出质优价廉的软件 产品,取得走向国际市场的通行证。为此,主动引入国际先进的管理理念, 构建能够支持分布协同开发和工程化管理的计算机支持系统,形成规模, 参与竞争,就成为我国软件产业摆脱当前的被动局面而赶超世界先进行业 的必由之路。 o 5 软件集成开发环境s w i d e 基于上述分析,笔者就解决我国软件企业所面临的问题给出软件集成 开发环境( s w i d e ,s o r 啪一i n t e g m t e dd e v c l o p m e n te n v i r o m e n t ) 的理论 模型。该模型是笔者基于当前先进并且成熟的软件工程化理论与方法,在 经过实际项目实践后所设计的一个支持分布协同开发的计算机软件系统。 软件集成开发环境s w l d e ,有机地集成了信息集成和工作协同的概 念,贯穿了工作流管理的思想,使软件企业中的各项活动在统一控制下能 够有序地进行,以克服当前软件企业经常遇到的混乱和不完备等许多缺陷; 同时,能够帮助企业抓住商机,迅速组织企业联盟,实施敏捷制造,使软 件产品的t 最短、q 最好、c 最低、s 最完善。 本文的第一部分着重阐述分布式中间件c o r b a 技术,用于构建分布 式集成开发环境的分布式应用;第二部分概括性介绍软件企业工程化的评 价标准和实施方法,阐释分布式集成开发环境中所蕴涵的管理理论:第三 部分集中描述软件系统的分析建模语言一一u m l ( u n i i e dm o d e l i n 叠 l a n g u a g e ) 及其在“软件企业集成环境( s w 。i d ) ”的分析和设计等问题 上的应用;第四部分是本文的重点,整合前三部分介绍的软件技术和管理 理念,以实际系统开发的全过程,系统的介绍分布式集成开发环境平台 s w - i d e 的分析、设计与实现。 9 一 薹王坌查壅塑鲑丝塾堡垒些塞垡墅撞 1 面向对象的分布式技术c o 砌j a 1 1 分布式对象技术 1 1 1 分布式环境的必要性 随着软件产业近年来的迅猛发展,诸如“动态联盟”、“并行工程”、“敏 捷制造”、“虚拟制造”和“供应链管理”等概念和技术不断地丰富和发展 了c i m ( c o m e m p o r a j 叫i n t e g r a t e dm a l l u f a c t u r i n g ,现代集成制造) 的理论, 使企业间形成了动态的伙伴联盟关系,这种关系从客观上要求软件企业必 须实现信息和资源的相互支持和帮助,因此,企业发展的分布式环境需求 成为一种必然的趋势。 1 1 2 分布式对象技术 分布式对象技术是面向对象技术和广域网发展相结合的产物,它把应 用程序分割成独立于操作系统平台、网络协议和编译语言的构件,使其在 客户服务器的结构上协调运行,技术本身具有厂商无关性、平台无关性和 语言无关性。该技术己发展成为当今分布式异构环境下的应用系统集成框 架和标准构件,是实现异构环境之间互操作的核心技术,在企业集成化分 布式应用、软构件技术等方面发挥着越来越重要的作用。 分布式对象是一些活动的软件模块,可以驻留在同一个网络上的任何 地方,作为一个物理上独立的实体存在,具备位置透明、语言独立和平台 独立等特性,随时响应其它对象的请求服务。这些独立的对象模块称为组 件。在分布式应用系统中,这些对象组件可以由不同的开发者相互独立地 使用不同的语言建构,具有系统无关性、可复用性、与具体应用的独立性 等特性。通过中间件所包含的标准通信协议、智能代理和各种语言编译器, 对象组件可以跨越网络、语言、操作系统,实现分布式应用集成,构成一 个完整而又健壮的系统。分布式对象技术的这种位置透明性、服务透明性 等优势,受到软件工业界的普遍重视,因此,这种技术的应用前景十分广 阔,发展潜力十分巨大。 0 量! 坌鱼蔓丝! :! :笪墼盟垒些堡堕堑些 1 2 一种全新的分布式对象技术c o 髓a 作为一种全新的分布式对象技术,c o r b a 是对象管理组织0 m g ( o b j e c tm a n a g e m e n tg r o u p ) 对分柿式对象计算的框架、协议、结构和接 口进行标准化而提出的一种规范。这种胤范的提出,为基于对象的分布异 构计算系统的移植和互操作提供了有力的保证。0 m g 为了解决分布应用i 日j 的异构性、互操作性以及独立于平台和编程语言的对象重用,提出了对象 管理框架结构0 m a ( o b j e c tm a l l a g e m e n ta r c h i t e c t u r e ) ,其核心是提供一条 软件总线来规范和容纳不同对象之i 日j 的通信与协作,实现对象的“即插即 用”和对象问的对等通讯,这条总线是刘象请求代理0 r b ( 0 b j e c tr e q u e s t b r o k e r ) 。 对象管理结构o m a 的参考模型主要l | 以卜儿部分组成: 对象服务提供了诸如命名服务、事件服务等一些基本服务。这些 服务的实现是低层f | j ,川求响应分布式应用对象对系 统提出的各种请求。 通用设施是在许多领域都有用的功能。通用没施本身需要通过对 象服务来实现,它支持r u 予邮件、帮助系统等,因此, 属于高层服务范围。 对象请求代理它是连结以上几个部分的核心。基本功能是在对象 i l h j 传递请求和结果等信启、,由于0 m a 中的对象是分 伽的和异构的,因此,o r b 必须具备独立于,f 台、语 言、地址等特r e ,做称为软件总线。 121 c o r b a 的应用体系结构和运行机制 c 0 r b a 具有系统、严密的应用体系结构和运行机制,如图1 1 所示: 客户桩( s t u b ) 文件是服务接口的描述文件经过相应语言的i d l 编译 器生成的。对于每一个需要请求服务的客户,都必须拥有相应服务接口的 客户桩文件。一个i d l 描述可以有多个i d l 桩文件,桩的种类越多,访问 它的客户可使用的编程语占的选择范围就越大。桩作为客户的服务代理, 规定客户端如何调用对象的操作,负责截获客户的请求,对其进行编码、 发送到o r b 核心,并接收o r b 核心传来的返回结果,进行解码,然后再 基于分布式构件的软件企业集成环境 返回给客户应用。 图1 1c o i m a 应用的客户和服务器结构 动态调用接口( d l l ) 不需要客户桩,是指客户应用在编译时刻不知道对 象的接口和操作类型,在运行时刻根据参数信息从接口库中产生一种调用 方法,实现客户的请求,并发送到对象实现方,达到动态调用的效果。 o r b 接口是o i 强内核给出的接口,同时为客户方和对象实现方所见, 由对服务或者客户应用有重要作用的应用程序接口组成,提供了一些只能 由o r b 内核提供的服务。如对象引用、o r b 初始化、对象适配器初始化、 获取初始对象引用等。 静态构架( s k e l e t o n ) 文件是服务接口的描述文件经过相应语言的i d l 编译器生成的,但是它是服务接口的服务构架文件。服务方用它来处理从 客户端通过0 r b 和b o a 传送来的请求,并定位请求的实现,为静态调用 服务。 动态框架接口( d s i ) 提供在运行时问去处理没有客户桩和服务构架描 述信息的服务的调用方法。其基本思想是让所有的对象请求通过调用同一 组例程来达到调用对象实现中方法的目的,这组例程被称为动态调用例程。 对所有对象实现来说,它们仅需根据动态调用例程和i d l 接口来给出具体 的实现例程。 基本对象适配器( b o a ) 提供被i d l 构架和对象实现调用的o i m 服 务,位于o r b 核心通信服务的顶部,代表服务器对象接收服务请求,协助 o i m 核心实现服务对象的注册、激活和去活。由于对象适配器的存在,使 得o r b 核心工作大大简化,否则对象适配器没有完成的工作全部由o r b 核心来承担。 薹王坌查垫丝堡笪墼堡全些叁盛堑堡 接口库可以使客户程序按“迟后联编”的方式访问服务器接口。因此, 如果需要客户程序对服务接口的调用在运行时期动态地确定。那么就要在 接口库中注册该服务接口。此时,无论是客户还是服务器都不知道对方使 用的是静态接口还是动态接口,给应用程序提供了极大的灵活性a 实现库是服务器支持的信息运行库,用来存储有关服务器的信息,尤 其是实现库中含有有关服务器的名字及用来找到它的可执行程序的路径信 息,这样才能由s m 砒a g e n t 所启动。一般来说,对象实现的安装、激活和 执行以及控制都需要使用实现库。 当一个客户要使用某个对象实现所提供的服务时,客户首先通过某种 方式获取该对象实现的对象引用,如命名服务等。如果该对象实现在客户 端有相应的s t u b 服务代理,则客户通过代理向对象实现发出请求,否则, 客户使用接口库中的信息,调用动态调用接口向对象实现发出请求。当对 象调用请求到达o r b 核心后,o r b 核心负责参数的转换和请求,并将其 发送给相应的对象适配器,对象适配器接收到请求后,判断该请求的对象 实现是否有相应的构架存在。如果有,则对象适配器通过该构架调用对象 实现中的操作:否则,对象适配器将通过动态构架接口中的动念实现例程 来调用对象实现中的操作。对象实现的服务执行完毕之后,结果将按照对 象请求传递和执行路径逆向返回给客户对象。 1 2 2c o r b a 体系结构的核心 c o r b a 体系结构的核心之一是o r b ( o b i e c tr e q u e s tb r o k e r ,对象请求 代理) 。o i 淝是一个软件构件,负责将客户的请求传递给服务器对象,并 将结果返回给客户,客户不需要知道对象位于网络的什么位置、o r b 如何 通讯、对象如何实现、如何存储等具体问题。0 i 国核心实现对象的通信机 制、激活和调度等任务,屏蔽了对象位置、对象实现、对象执彳亍状态和对 象通信机制,因此,0 r b 被称为软件总线。在应用程序和远程网络之间传 递信息,屏蔽与底层平台有关的细节和复杂的网络通讯,使开发者可以集 中精力地解决与应用有关的问题,而不必过多地考虑分布式应用基础平台 的问题。因此,o r b 是构建基于c o r b a 的分布式对象应用的基础和核心, 也是异构或同构环境下实现应用闻互操作的基础。 i d l 是c o i 国a 体系结构的另一个核心。i d l 是种定义服务接口的 1 3 一 薹王坌查塞丝鲑笪墼壁垒些叁盛堑撞 标准语言,仅仅定义接口,而不是实现语言。这种语言独立于任何程序开 发语言,通过语言映射实现c o r b a 体系结构的语言独立。i d l 所实现的 语言独立,是通过对象接口的定义与对象的实现完全分离来实现的。 c o 砌j a 把各方需要彼此相互通讯的信息和各自的操作封装在接口对象中, 接口对象中定义了对象实体的属性和操作,包括服务方对外提供的各种方 法的定义,并允许使用不同的程序设计语占实现对象的接口服务,通过 0 r b 总线保持对象之问的相互通信。因此,i d l 的使用为分布式应用开发 提供了极大的灵活性。 1 2 3c o r b a 应用的一般开发步骤 c o r b a 应用程序分为客户端和服务器两部分,客户端和服务器应用 程序的开发都必须遵循c 0 r b a 规范。在这里,抛开实际应用的分析和设 计,从理论上说明一个c 0 r b a 应用的各个部分的串行开发顺序,具体说 明充分利用c o r b a 提供的服务和基本框架对分布式应用的支持,构造适 用于分布式环境信息集成的c o r b a 应用。程序员的一般开发步骤如下, 在这些步骤中,有些可以并行进行,有些必须串行进行。 定义服务接口 使用合适语言的i d l 编译器生成服务接口的客户桩和构架文件 选择相应的编程语言实现服务接口 实现并编译服务端应用 选择编程语言实现客户对服务的调用 实现并编译客户端应用 程序员编写服务器程序时,应该帮助0 r b 提供自动的启动功能,使得 0 r b 能够在客户程序调用时才自动地启动该对象,这种实现由服务对象和 b o a 协同完成。 1 2 4c 0 r 卧技术规范的特点 引入了代理的概念。它完成对客户方提出的服务请求的映射,自动 设定路由,发现和寻找服务器,实现到服务方的服务执行功能,避免了客 户和服务的很多网络细节。 实现了客户方和服务方程序的完全分离,并且分离了通信逻辑与应 用逻辑,提供了方便的软件重用技术等等。 1 4 一 薹王坌塑苎塑壁盟墼丝垒些塞盛墅擅 将面向对象的设计思想和分布式计算的概念相结合,实现分布式对 象的封装,把服务看作是对象,符合现代编程思想。 提供了软件总线的机制,实现了平台独立,使系统之间松散耦合, 屏蔽了底层的软硬件系统环境,使得应用程序、软件系统和各种工具只要 具有与该接口规范相符合的接口定义,就能方便地集成到c o r b a 应用系 统中。 分层的设计原则和实现方式,把传统的两层c ,s 扩展为三层c ,s 结 构,把服务推向后台,使系统具有很强的可扩展性,方便了程序员的修改 工作,提高了软件的可重用性,降低了开发费用和系统维护费用。 提供了集成已有系统的机制。 所有这些特点使得c 0 砌j a 技术规范具有对异构环境和各种语言的兼 容性,解决了分布式对象跨平台的网络交互,成为丌放的面向对象分布式 计算的工业标准。因此,c o r b a 技术的应用将成为软件工业的一场革命 性变革。 1 3c s 模式的“第二次革命” 1 3 1 传统的c s 模式 传统的c l i e 州s e e r 模型对客户和服务器两种角色的划分相当清晰, 一部分运行在客户端,另一部分运行在服务端,通过远程过程调用机制实 现简单的互操作。通常情况下,软件分为客户和服务器两部分,分别位于 不同的机器或者进程中。这样的c s 应用软件大都是基于“胖客户机”或 “胖服务器”结构下的两层结构应用软件,客户端和服务器直接相连,没 有中间结构处理请求和结果,客户程序和服务程序的调用关系是静态的, 服务器必须是活动的,并且应用程序的异构性会影响系统间的互操作,使 得系统的可伸缩性和安装维护比较困难:另外,客户较多时,整个服务出 现性能恶化,并且服务器的应用也很难移植到另外的服务器上以平衡负载。 1 32c 0 r 队中的客户服务器结构 c o r b a ( c o 蚴o no 巧e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对象请求代 理结构) 作为一种开放的、跨平台的、语言独立的和面向对象的体系结构, 一 薹王坌塑蒌塑鲑盟墼壁垒些叁盛墅撞 为实现砸向对象的分布式系统应用提供了基本框架。按照c o r b a 规范开 发的分布式应用系统,实际上是多客户多服务器系统。这种技术在客户和 服务器之间增加一个代理,客户请求可以自动地被映射到相应的服务器, 使得传统c s 之间的静态调用关系被打破,并且c o r b a 技术规范为其应 用系统提供了额外的服务,如目录服务、安全服务等等。另外,在c o r b a 应用系统的客户服务器结构中,客户是使用c o r b a 对象服务的一个应用, 服务器是被创建的一个c o r b a 对象,这个对象所提供的服务能够为多客 户应用所使用;同时,一个c o r b a 对象可以使用其它不同的c o r b a 对 象所提供的服务并且可以提供不同的服务。因此,一个c o r b a 对象既可 以作为客户,也可以作为服务,只是在每一次请求与实现中所扮演的角色 不同而已。 支持多服务器的分布式对象化结构c o i 也a ,就是为彻底解决传统 的c l i e 州s e r v e r 模型所呈现出的上述问题而提出来的,因此被称为是c s 结构的“第二次革命”。 1 3 3 远程c o r 队服务的连接 客户要实现与服务器的连接,首先把请求调用传递为客户桩,桩文件 通过客户端的o r b 处理接口调用,而0 r b 又通过s m a na g e n t 所提供的 动态分布式目录服务动态定位一个可用的服务器,如果有多个服务器可供 选择,s m a na g e n t 会基于负载平衡选择其中一个;如果其中一个远程服务 器连接失败,s m a na g e n t 会自动重新启动另外一个服务,保证服务不会中 断;若一个s m a na g e n t 意外终止,该s m a na g e n t 上注册的c o r b a 对象 会自动转移到其它s m a na g e n t 上注册。 一般来说,c o r b a 服务器是人工启动的,也可以通过0 a d ( 对象激 活守护进程) 启动。如果使用o a d ,服务主程序首先在o a d 中注册c o r b a 对象,建立c o r b a 对象与服务器的联系,当客户请求到达时,0 r b 首先 与o a d 联系,o a d 通过查看实现库,并按照路径执行其中的文件来给服 务定位,如果该服务器并未运行但已在实现库中注册,那么s m a na 船n t 可以请求o a d 来启动服务程序并把服务请求传递给服务器。 1 3 4 c o r 卧技术的作用及存在的问题 在软件企业开发过程中,c o r b a 技术为其提供构件化开发方式。软 t 6 一 薹主坌查塞塑笪笪塾壁垒些叁堕堑垄 件企业在开发新系统和修改原有系统时,将系统各部分做成独立的、可重 用的模块,然后可以选择、修改、组合已存在的某些模块,集成插接在框 架上,以更便捷、充分地利用软件资源,构造大型资源信息集成系统,满 足市场的不同要求。 在一般的企业应用中,c o r b a 技术为其应用提供透明的分布式网络 通信。c o r b a 技术中软件总线和接口定义语言的引入,提供了屏蔽异构 环境、独立于编程语言和操作系统的面向对象的分布式体系结构框架,实 现分布式网络通信,更好地实现企业内部和企业间的信息集成。 在非企业应用中,c o r b a 技术同样为其提供方便的、透明的分布式 网络应用。如:分布式网络化研究中心等等,它对提高人才重用,解决国 内或本单位人才流失现象有重要作用。 尽管c o 砌3 a 技术为异构环境中分布式对象之侧的互操作提供了有力 的技术支持,然而,在一些服务质量要求较高的应用领域中,c o r b a 技 术也显出了潜在的缺点和不足,如网络内的实时应用和多媒体连续应用等 等。这主要是由于0 r b 每接收一个客户发送的请求,都要自动搜索服务器, 因此,在获取对象引用时,信息传递具有一定的盲目性,并且当传输层出 现流量阻塞时,0 r b 不能及时通知客户。 1 4c o r b a 在广域网上的应用 1 4 1 内部o 髓协议 c 0 r b a 2 o 引入了o r b 互操作结构来提供o r b 之间直接的互操作和 基于桥接的互操作,定义了统一的内部0 r b 协议g i o p 和i n t e m e t 内部的 o r b 协议1 1 0 p 。 g 1 0 p 规范了o r b 之间通信的信息格式和公共数据表示c d r ,c d r 把0 m gi d l 定义的数据类型映射成网络内的消息表示,并处理不同平台 间字节顺序和内存问题,用于面向连接传输的o r b 互操作。 1 1 0 p 把g 1 0 p 格式的消息映射到t c p i p ,并通过网络进行传递。i i o p 作为标准协议,允许不同o r b 产品之间互通信,使得0 r b 能够有效地使 用i n t e m e t 作为0 r b 通信总线。因此,1 1 0 p 是g i o p 在i n t e m e t 传输协议 苎王坌查塞塑壁箜塾壁垒些塞盛堑擅一 上的实现。 1 4 2b s 的工作过程 由于j a v a 和支持j a v a 的o i 国,使得i i o p 的概念延伸到i n t e m e t ,w w 浏览器可以同时作为客户,通过1 1 0 p 协议访问服务器上的对象,来完成服 务请求功能。图1 2 描述了一个客户端浏览器和i i o p 服务器之间的一个 1 1 0 p 连接。 图1 2b ,s 的工作过程 客户端浏览器通过h t t p 协议请求h t t ps e r v e r 上的h t m l 页的同时, 从服务器上下载一些使用j a v a 代码编写的被称为0 r b l e t s 的j a v a 类,属 于应用级的客户对象代理。然后,当客户端应用程序执行时,首先初始化 o r b ,并通过l i o p 发出访问c o r b a 的服务请求,经由o r b l e t s 与c o r b a 服务器通信,c o r b a 服务器完成服务请求后,执行结果按原路返回。 1 5c o r b a 与d c 嘣对象组件模型 d c o m 是微软与其它厂商合作而提出的一种分布组件对象模型,它是 c o m 在分布计算方面的扩展,并把组件技术推向了i m e m e t ,为分布在网 络不同节点的两个c o m 组件提供了互操作的基础结构。d c o m 增强了 c o m 的分布处理性能,支持多种通信协议,增强了组件通信的安全保障。 c o r b a 和d c o m 两种对象组件模型的目标都是基于对象的软件构件 在分布异构环境中可重用、可移植和可互操作,都是使用接口来封装对象 的实现,但是各有各的特点。 基于分布式构件的软件企业集成环境 d c o m 使用对象描述构造类型库和类描述头文件,通过对象类型信息 获取方法和特征i d 号。同时,d c o m 是基于桌面机的扩展,对、i n d o w s 以外的操作系统平台的支持不够。一个d c o m 对象支持多个接口,一个客 户可以对一个对象拥有多个接口指针,并且没有提供自动的容错和负载平 衡机制,其安全性也不尽如意,在分布式应用中受到了一定的限制。然而。 d c o m 已经嵌入w i n d o w s 操作系统,与w i n d o w s 捆绑式销售。因此,可 以认为d c o m 是免费的。 c o r b a 使用i d l 语言来描述接口,并使用i d l 编译器生成相应的客 户桩文件和服务构架文件,完成分布式应用的底层通讯,是基于网络的技 术。在c o r j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中物理课标心得体会
- 初中团委自查报告
- 初中生志愿服务心得体会
- 2025年现代景观试题及答案详解
- 辽宁省2025年公务员考试面试模拟测试卷
- 2025年安徽省公务员行测模拟练习卷
- 2025年保育考评员试题及答案
- 2025年新晴野望试题及答案
- 2025年二甲评审院感应知应会试题及答案(共240题)
- 湖南省2025年公务员考试申论范文押题卷
- GB/T 45065-2024皮革和毛皮化学试验挥发性甲基环硅氧烷残留量的测定
- 2024年度高铁站防水防潮防分包合同2篇
- 浙江省温州环大罗山联盟2024-2025学年高一上学期期中考试化学试题
- 无人机植保技术课件:无人机植保现状
- 代开发票合作合同
- 广东省珠海市文园中学2025届数学七上期末学业质量监测试题含解析
- 中职婴幼儿托育人才培养方案
- 企业数据治理体系和应用场景案例
- 蔡司手术显微镜课件
- 抛光机使用说明书
- 教科版小学科学六年级上册《纸桥承重》课件
评论
0/150
提交评论