(管理科学与工程专业论文)基于corba和uml构建现代企业信息系统的工程化研究.pdf_第1页
(管理科学与工程专业论文)基于corba和uml构建现代企业信息系统的工程化研究.pdf_第2页
(管理科学与工程专业论文)基于corba和uml构建现代企业信息系统的工程化研究.pdf_第3页
(管理科学与工程专业论文)基于corba和uml构建现代企业信息系统的工程化研究.pdf_第4页
(管理科学与工程专业论文)基于corba和uml构建现代企业信息系统的工程化研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

摘要 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 、u 札和r u p 等技术的特点和软件体系结构、组件建模等内容;然后从软件工程的角度提出了一种 基于u m l 建模的c o r b a 集成分布式应用开发过程,并详细地阐述了该过程的工作流程 等内容。最后,分析设计了一个虚拟银行电子商务系统以展示该开发过程,验证了其 可行性和优点,并指出了其局限性。 关键词:c o r b a ,分布式对象计算,企业信息系统,u m l ,软件工程,r u p ,组件模型 a b s t r a c t a sat e c h n o l o g yo fd i s t r i b u t e do b j e c tc o m p u t i n g ( d o c ) ,c o m m o no b j e c t r 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 ) r e p r e s e n t sak i n do fp a t t e r n a n dc r i t e r i a f o rt h es o f t w a r ed e s i g n i th a sb e e np r o v e dt h a tt h ed o ct e c h n o l o g yr e p r e s e n t e d b yc o r b ai st h eb e s ts c h e m ea n dt h em o s tp o w e r f u lm e c h a n i s mi nr e a l i z i n ga 1 1 k i n d so fn e wm o d e r ne n t e r p r i s ei n f o r m a t i o ns y s t e m s h o wt oa p p l yo b j e c t o r i e n t e dm e t h o di nd e s i g n i n gc o r b ad i s t r i b u t e ds y s t e m ? w h a ta b o u tt h es o f t w a r e e n g i n e e r i n go fc o r b a ? t h e s eq u e s t i o n sa r et h ec o n t e n t so fr e s e a r c hi nt h i s p a p e r f i r s t ,w e t a l ka b o u tt h ec u r r e n ts i t u a t i o na n dd e v e l o p m e n to f e n t e r p r i s ei n f o r m a t i o ns y s t e m s ;t h e n ,w ed i s c u s s s o m eo ft e c h n o l o g i e si n d e t a i lw h i c hi n c l u d ec o r b a 、u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) a n dr u p ( r a t i o n a l u n i f i e dp r o c e s s ) w ea l s od i s c u s st h eq u e s t i o n so fh o wt od e s i g nt h ec o r b a c o m p o n e n ta n dh o wt od e s i g nt h es t r u c t u r eo fw h o l es o f t w a r es y s t e m b a s e do n t h ea b o v er e s e a r c h e s ,w ep u tf o r w a r dt h ep r o c e s sf o rd i s t r i b u t e da p p l i c a t i o n d e v e l o p m e n ti nw h i c hi n t e g r a t e st h eu m la n dc o r b at e c h n o l o g i e sa n dd i s c u s s t h ef l o w so fi td e t a i l e d l a s t ,av i r t u a lb a n keb u s i n e s ss y s t e mi sd e v e l o p e d u s i n gt h ea p p r o a c ht od e m o n s t r a t et h ei n t e g r a t e dd e v e l o p m e n tp r o c e s s t h e f e a s i b i i i t yo ft h i sp r o c e s si sv e r i f i e d ,a n di t sa d v a n t a g e sa n dl i m i t a t i o n a r es h o w n k e y w o r d s :c o r b a ,d o c ,e n t e r p r i s e i n f o r m a t i o n s y s t e m ,u m l ,s o f t w a r e e n g i n e e r i n g ,r u p ,c o m p o n e n tm o d e l 南京航空航天大学硕士学位论文 绪论 计算机的普及和信息技术的迅速发展,使得企业信息系统得到了越来越广泛的应 用,它已经渗透到国民经济的各个角落,起着不可替代的作用。计算机技术本身的不 断革新,带来各种新的开发技术和开发方法;而现代企业管理思想的不断提升和实践, 使得反映传统管理思想的信息系统越来越不能满足实际工作的需要,于是出现了各种 新型的现代企业信息系统。这些企业信息系统在功能、结构和实现技术方面都提出更 加全面苛刻的要求,为了满足这些要求,实现软件全方位的集成,分布式的企业信息 系统就不可能只采用一种技术或语言就能完成,因此必须制订一定的软件标准并规定 一定的软件体系结构才能得以实现。公共对象请求代理体系结构( c o m m o no b j e c t r 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 ) 正是为此目的设计分布式系统软件的开发方 式和标准之一“1 。 c o r b a 标准的提出,极大的推动了分布式计算技术的发展,使得软件系统的开发 和部署正经历次剧烈的变革。c o r b a 提供了跨语言、跨平台、甚至跨开发商的互操 作性,使得目前相当多的开发商在大多数硬件平台( 如大型机、u n i x 和基于w i n d o w s 的平台) 上都实现了c o r b a 规范。随着计算机网络技术的迅速发展和广泛应用,分布 式计算成了研究和应用的热点,c o r b a 也成为构建分布式应用系统的主流技术之一, 代表着主流远程体系结构。3 的发展方向。事实将逐步证明,以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 以及数据库系 统的集成和事务处理,服务器的伸缩性、复杂平衡和容错性等方面内容进行研究”4 。 国内以清华大学、华中科技大学和东南大学为主的几所高校则主要是研究如何建立符 合c o r b a3 o 最新规范的中间件系统以及如何利用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 r b a 化的软件工程过程作为研 究的主要方向和内容。 现代企业信息系统软件由于大多具有分布式结构,因而尤其重视软件体系结构的 基于c o r b a 和u m l 构建现代企业信息系统的工程忧研究 设计。正确的体系结构可以帮助进行基于鲺件的软件开发,可以更好的实现重用性, 而且它的完善与好坏极大地影晌着系统的安全性、可测性、可维护性和软件整体的可 管理性嘲。基予统建模语言( u n i f i e dm o d e lin gl a n g u a g e ,u m l ) 承御建模的r a ti o n a l 统一软件过程( r a t i o n a lu n i f i e dp r o c e s s ,r u 乃“坨是弱前最漉行的迭代式软件开发 过程,它在许多工程孛都戆成功地运用。r u p 集孛体现了8 个软 牛开发鲍最佳实践方 法:迭代式开发、需求管理、基于组件的体系缝构、基于u m l 的可视化建模、持续校 验质量、变更管理。r u p 这种以体系结构为中心的开发过程正是许多大、中型项目成 功的关键。 作为以体系结构为中心的软件开发过程,r u p 是可以定制的,可以根据实际的情 况来定制r u p 以满足机构和工程的特殊需要。因此,宪全有可能也有必要针对r u p 和c o r b a 技术两者的特点,提出一种基于两技术的分布式应用开发过程。本文对这个 闷题进行了较为深入的探讨和研究,提出了如图4 。3 所示的基予u m l 的c o r b a 集成分 布式应耀开发过糕,并对这个过程进行了全蕊深入地阐述,尤其是针对如何实现 c o r b a 组件建模,并如何将建模结果映射到实现等闷题。 理论需要用实践来检验。测用r o s e2 0 0 0 和c + b u i i d e r 等工具,我们分析、设 计和开发了一个基于c o r b a 技术的虚拟银行电子商务系统。该系统就是利用基于u m l 建模的c o r b a 集成分布式应用开发过程作为其实现的开发方法和过程的。通过对虚拟 银行系统的开发和实现,以实践表明了该集成开发过程是可行的,它充分地结合了以 r u p 为代表的迭代型开发过程的特点,并能够将系统分析、设计和实现三阶段有机集 成起来,以方便迅速地开发出开放、可重用和可扩展的分布式企业信息系统。事实上, 由于嘣l 语言和c o r b a 技术都具有良好的可扩展性,因i 眈,企业信息系统的功能需求 和体系结构越复杂,越能体现粥基于u m l 建模的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 开发平台和工具,最后,针对几种主 流的分布式对象计算技术做了总体的分析比较。 第三章:软件体系结构和r a t i o n a l 统一过程。首先较详细地介绍了蔺向对象的 开发方法和用于面向对象建模的u m l :接着讨论了软件体系结构的内涵和及其在软件 系统开发实现中的重要性,并指出了体系结构是随着较件过程逐步演进两完善的,必 须重视在软件开发过程中体系结构的设计,尤其是涉及到分布式结构的企业信息系统 的开发。最后详细介绍了基于u m l 鲍r a t i o n a l 统一过程的基本特点、四个阶段和五 一2 一 南京航空航天大学硕士学位论文 个核心的工作流程;并从r u p 和c o r b a 技术两者的特点出发,提出了r u p 与c o r b a 技术结合的可能性。 第四章:工程化c o r b a 信息系统的研究。本章在详细分析了一般面向对象软件过 程后,将其扩展到反映分布式处理的扩展面向对象开发过程,并对之进行了详细的分 析和有益地吸收,然后在利用了迭代式软件过程r u p 的灵活可配置的特点并在吸收它 的有效实践方法的基础上,作者尝试提出了一种基于哪l 建模的c o r b a 集成分布式应 用开发过程( 图4 3 ) ,并详细的介绍了它的各个工作流程,尤其是面向组件建模流 程。随后,对于如何利用u m l 进行c o r b a 组件建模和如何将建模结果映射到具体实现 等问题进行了详细的阐述。 第五章:基于c o r b a 的虚拟银行电子商务系统的设计。本章采纳第四章提出的基 于u m l 建模的c o r b a 集成分布式应用开发过程,利用r a t i o n a lr o s e2 0 0 0 和c + + b u i i d e r 等工具分析、设计和开发了一个虚拟银行电子商务系统。并详细的介绍了系 统在整个开发流程中需求定义、业务建模、面向组件建模、模型映射和系统实现等阶 段的工作内容,以迭代的开发方式实现了帐户信息查询、转帐支付等银行业务的主要 功能。通过对虚拟银行系统的开发和实现,以实践表明了该集成开发过程是可行的, 它能够将系统分析、设计和实现三阶段有机集成起来,以方便迅速地开发出开放、可 重用和可扩展的分布式企业信息系统。 3 基于c o r b a 和u m l 构建现代企业信息系统的工程化研究 第一章企业信息系统的现状和发展 由于计算机应用的普及和信息技术的迅速发展,管理信息系统得到了越来越广泛 的应用,它已经渗透到国民经济的各个角落,起着不可替代的作用。计算机技术本身 的不断革新,带来各种新的开发技术和开发方法;而现代企业管理思想的不断提升和 实践,使得反映传统管理思想的信息系统越来越不能满足实际工作的需要,于是出现 了各种新型的企业信息系统。本章主要在简单阐述管理信息系统的基本内涵和结构以 及在现代企业中的地位与作用的基础上,比较分析信息系统不同体系结构的优缺点, 讨论了管理信息系统的演变以及目前在开发中所面临的难题和解决方案。 1 1 管理信息系统的基本内涵和结构 管理信息系统( 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 ) 一词最早出现在1 9 7 0 年,当时这个概念的提出主要是因为管理者认识到信息是企业中最重要的资源,是企 业决策的关键所在,因而早期的管理信息系统的概念是出自管理而非计算机。随着企 业信息量的剧增,从大量原始数据中提炼有效的信息并用于决策的过程变得越来越 难,于是计算机在企业中得到了广泛地应用。作为一个本身不断发展的概念,管理信 息系统一直没有一个明确的定义,直到上世纪8 0 年代,管理信息系统的创始人,明 尼苏达大学的著名教授g o r d o nb d a v i s 才给它下过一个较完整的定义:“它是利用 计算机硬件和软件,手工作业,分析,计划,控制和决策模型,以及数据库的用户一 机器系统。它能提供信息以支持企业或组织的运行、管理和决策功能。“2 ”在我国, 管理信息系统概念出现于7 0 年代末8 0 年代初,我国早期的信息系统工作者也曾给它 下了一个定义:“管理信息系统是一个由人和计算机等组成的能进行信息收集、传递、 储存、加工、维护和使用的系统。它能实测企业的各种运行情况,利用过去的数据预 测未来,从全局出发辅助企业决策,利用信息控制企业行为,帮助企业实现规划目 标。”“。1 这两个定义都较全面地说明了管理信息系统的目标、功能、性质和组成, 图1 1 是管理信息系统的总体概念结构图。 但是这两个定义也仅仅是反映了管理信息系统当时所达到的水平。9 0 年代以后, 计算机技术本身的不断革新,给管理信息系统带来了各种全新的开发技术和开发方 法,现代企业的管理思想也在不断提升,因而有关管理信息系统的定义的描述也有一 些变化。我国管理信息系统方面的权威专家,清华大学经济管理学院的侯炳辉教授认 为现代管理信息系统的概念:“主要体现在它非常的全面,里面有管理的概念、i t 的 概念、更有系统的概念,它是利用计算机技术、通信技术、管理决策技术等,为管理 者提供辅助管理、辅助决策服务的系统”“。 近年来国外一个比较普遍的趋势是用“企业信息系统”或类似的概念来代替“管 理信息系统”一词,而谈到具体的系统时,大多用具体的管理信息系统发展分支来表 4 南京航空航天大学硕士学位论文 示。这里需要指出的是,目前所说的“企业”,从最一般的意义上讲,应是指一个为 了实现某个共同目的而在一起工作的人或实体的组织。这些组织的形式和大小并不限 定,有大有小、是盈利性的或非盈利性的、可能是政府机关也可能是非政府机构。因 此本文在后文中采用了企业信息系统这一说法,它在概念上比我们通常所说的管理信 息系统范畴更大。 管 理 信 息 系 统 高级管理人员 ( 计划、决簧) 二二 中级管理人员 ( 控制、决策) 支持 系统 涎瓷 支持 系统 知识工作系统e = = = = 职能人员 由 羹囊幽阔网慝 图1 1 管理信息系统概念结构图 1 2 企业信息系统的地位与作用 企业信息系统是社会生产力发展和科技进步的产物。在工业发达国家,为了适 应激烈的市场竞争,在企业管理中逐步形成一种以生产计划与控制为主导的管理模 式,管理思想和方法。在电子计算机的帮助下,对企业生产经营过程中的人流、物流、 资金流、信息流处于最佳状态,达到以最少的投入获得最大的产出,这就是企业信息 系统的作用所在。 随着互联网的飞速发展,企业所面对和需要处理的信息量日益膨胀,企业信息 系统在现代企业中的地位也愈发显得重要。它不仅能全面系统地保存大量的数据,为 企业及时全面地提供不同要求、不同细度的信息,使各项统计工作简化,使信息成本 最低化。而且它还能利用数学方法和模型技术处理信息,支持各种信息的查询和综合, 为组织的各项决策提供出信息的支持。 长期以来,由于体制等方面的原因,我国的大多数企业和政府等组织一直处在 较封闭的状态,管理水平一直比较落后。随着全球经济一体化进程的发展和我国进入 w t o 愿望的实现,不仅越来越多的企业意识到了优化内部资源配置和全面提高现代化 一5 一 基于c o r b a 和u m l 构建现代企业信息系统的工程化研究 企业管理水平的重要性和紧迫感,而且政府等事业组织也越来越意识到提高政府机构 管理水平和工作效率的必要性,因此全面深入的企业信息化建设已成为当务之急。搞 好企业信息系统建设不仅是企业本身经济效益增长的有效手段,而且对于提高国民素 质和综合国力都是非常必要的。 1 3 企业信息系统体系结构和开发技术的发展 i n t e r n e t i n t r a n e t 的普及使得新的计算机技术层出不穷,软件系统的开发方法 也不断得到改进。目前企业信息系统发展到了一个崭新的阶段,其组成部分越来越复 杂,所包含的各类技术越来越多,尤其是系统的体系结构发生了多次巨大的变化,图 1 2 描述了应用系统体系结构的演变。 1 3 1 传统的单层和c l s 两层体系结构 早期的计算机系统是单机系统,所有的处理都发生在同一台计算机上,用户与单 机系统之间的交互是通过哑终端( d u m bt e r m i n a l ) 来进行的。单机系统难以适应复杂 的任务,必须采用多台计算机之间分担任务的策略,于是出现了客户机服务器 ( c l i e n t s e r v e r ) 系统,即通常所说的c s 结构。在数年前c l s 结构兴起之后,许多 系统便采用这种结构来设计。在该结构中,通常是由客户端的机器执行应用程序,然 后连接到后端的数据库服务器中存取资料。图1 2 的第一种情况就是早期的单机系 统,第二种情况就是c s 结构。 c s 结构虽然能够较好地执行一般的企业应用程序,但是这种结构本身包含了一 些问题,其中最主要的就是,该结构经常将应用系统的业务逻辑写在客户端的应用程 序中,因此当系统需要采用新的界面技术( 例如:浏览器界面) 或升级时,所有客户端 的程序都必须重写,这样对系统的维护和升级来讲,成本实在是太高了。 1 3 2 三层和多层体系结构 为了解决c s 结构的问题,必须建立一种新的工作分配方式。最好的方法是在客 户机上寻找进一步分离的方式,使客户机上的所有处理过程不直接涉及到数据库管理 系统。这样可以把客户端的处理分为应用程序和业务逻辑处理。这种对处理过的一步 分割就导致出现三层结构( 图1 2 第三种情况) :负责可视化界面的客户层,基于业 务逻辑处理的中间层,和持久数据管理的数据层。将业务逻辑从客户端移到中间层, 除了对任务进行了合理分配,还有许多其他优点“: 将业务逻辑放置在中间层可以提高系统的性能,使中间层的业务逻辑处理与数 据层的业务数据紧密结合在一起,而无需考虑客户的具体位置。 添加新的中间层服务器能够满足新增客户机的需求,可以大大地提高三层结构 系统的可伸缩性。 将业务逻辑从客户端移到中间层,在客户层的应用程序与数据层的数据库之间 一6 一 南京航空航天大学硕士学位论文 增加了一层,这样客户端的应用程序可以独立于数据层的数据库。 将业务逻辑置于中间层,从而使业务逻辑集中到一处。而在两层方式下,业务 逻辑被分散到所有的客户机上( 除非使用存储过程) 。这样做是不可取的,因为 业务规则是动态变化的而对于这些业务而言,规范又是强制性的,所以,将业 务逻辑分散到整个客户层的客户机上会使实施过程变得非常困难。 图1 2 应用系统体系结构的演变 在纯粹三层体系结构中,客户层和数据层已被严格定义。与此相反,中间层并未 明确定义,而且,中间层可以包括所有与应用程序的界面和长久的数据存储无关的处 理。这样可以根据需要将中间层划分成许多符合逻辑的服务程序,每一主要服务都可 以视为独立的层,这就是n 层体系结构( 图1 2 第四种情况) 。典型的n 层结构的例 子就是基于w e b 的应用程序,即8 s 结构。b s 结构的系统一般包含如下几层:1 客 户层,由w e b 浏览器实现的一个客户层的界面:2 w e b 服务器层,由w e b 服务器实现 的一个中间层的任务分配机制;3 应用服务器层,由一些服务器端脚本实现的中间 层服务;4 服务器层,由关系数据库实现的数据层存储机制。 由于企业信息化是逐步推进的过程,因而现有的企业集成信息系统通常大多包含 不止一种结构,但主要是以三层n 层结构为主,甚至包含最新的b s 结构。图1 3 即描述了一个复杂的企业信息系统的组成部分,其中就包含c s 和b s 结构。 1 3 3 层间通信和中间件技术的发展 n 层系统的不同分层只是简单地代表了不同计算机之间的工作分工,如何协调这 些不同的层并管理它们之间的通信,这就需要依赖层间通信技术来实现。 一7 一 基于c o r b a 和u m l 构建现代企业信息系统的工程化研究 图1 3 分布式企业信息系统的组成部分 因为客户服务器应用程序跨越了多台计算机,所以需要一种像t c p i p 或者i p x 这样的网络基础设施来连接应用程序的各节点。如果所有的层闻通信都是在底层实现 的,那么就不需要向多层系统进行转换。由于需要在参与应用程序的所有的计算机之 间建立一种方便的、实用的通信机制,中间件( m i d d l e w a r e ) 的发展便由此产生。 在两层系统中,对网络协议进行抽象是相对容易的事。关系数据库开发商提供一 些专用库和驱动程序来访问数据库,由这些专有程序对不同的网络协议进行抽象。在 写客户应用程序时无需考虑数据库的实际位置。客户层应用程序可以链接到适当的库 ( 静态或动态) ,从而与数据层进行通信。对网络代码进行抽象并不非常困难,因为关 系模型已提供一种结构化的、通用的方法来访问数据库。随着时间的推移,又提出了 一种嵌入式的s q l 标准,因此实现了以可移植的方式访问数据。目前应用最多的就是 o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) 标准。 n 层系统需要更复杂的基础设旆以实现跨网络的通信。客户应用程序与中间层服 务之间的通信不能像两层系统那样以一种通用的结构化的方式实现;相反,客户应用 程序需要一种通信模型,来协调实现客户应用程序的不同开发平台。当这种模型实现 后,就出现了为这样的客户应用程序提供中间件基础的标准。 为了满足不同客户实现( 编程语言) 的需要,中间件技术就像编程语言所经历的发 展过程一样,在过去1 0 年中也得到了极大地发展。第一个获得广泛认可的中间件技 术是远程过程调用( r e m o t ep r o c e d u r ec a l l ,r p c ) 。使用r p c ,客户应用程序可以调 用在远程计算机上执行的c 语言函数。对于远程过程调用体系结构来说,o n c r p c ( o p e l l n e t w o r kc o m p u t i n gr p c ) 和d c e ( d i s t r i b u t e d c o m p u t i n ge n v i r o n m e n t ) 是主流标准”3 。 一8 南京航空航天大学硕士学位论文 随着像c + + 这样的面向对象编程语言逐渐流行,分布式中间件正朝着面向对象 的方向演化。对象管理组织( o b j e c tm a n a g e m e n tg r o u p ,o m g ) 是一个由许多计算机软 件和硬件开发商组成的组织,它提出了公共对象请求代理体系结构( c o m m o no b j e c t r 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 o r b a 规范并且正在或已经将c o r b a 中间件 推向市场。 总结层间通信技术的发展,中间件已成为主流。目前中间件一直没有明确定义, 文献“”中为其作了这样一个解释:“中间件是这样的软件,它允许应用的逻辑构件进 行跨网络的互操作,而不必考虑基础操作系统、通讯协议、硬件体系结构、构件类型 及实现技术的差异,也不必考虑逻辑与物理数据库配置的区别”。图1 4 反映了中间 件在系统体系结构中的地位和作用。 第一层表示逻辑第二层一业务逻辑第三层- 资源谰司 凼 中 服譬 由 数据 由 数据库 间 队列 客服务请求 薹薰 件件 通讯 闻阃间 户 件件 图i 4 系统体系结构中的中间件 1 3 4 组件技术的发展 面向对象技术主要集中在两个概念上:封装和通过继承对实现进行重用。通过继 承进行实现的重用在许多大型系统开发中也被给予极高的评价。这似乎是理所当然 的,实现重用越多,说明开发时间也就越短,因而也就赢得了市场,降低了成本。但 令人沮丧的现实( 已经被证实) 是:基于对象的技术并无法达到大规模的实现重用的目 的。于是面向对象迸一步发展到面向组件技术,与单纯的对象技术相比,组件技术蕴 涵着迥然不同的特点和优势: 面向对象技术常常将重点放在封装以及实现重用方面,而面向组件技术则侧重 于组件的可插入性( p l u g g a b i l i t y ) 。因此,组件实际是一个分布式对象,它按 照一定的接口规范向外界声明服务。 组件是一块独立可重用的二进制代码,与具体的实现语言无关。这就规定了组 件和传统意义上的可重用对象( 如类库) 之间有着本质区别。因此组件是在二进 制代码一级的重用,它既可以用不同平台开发,也可以分布在网络上的不同平 台上,被不同的系统所重用。 组件的物理位置是未知的。一个组件的客户程序不会感觉到所使用的组件是运 行在相同的进程内( 使用d l l ) ,还是运行在同一台机器的不同进程内,甚至是 9 一 基于c o r b a 和u i v l l 构建现代企业信息系统的工程化研究 位于不同机器上。 组件本身不是一个完整的应用。随着组件粒度的越来越粗,组件集成度也越来 越高,组件( 主要指领域组件) 与较小的应用在规模上已经越来越接近。但是, 无论组件的规模有多大,它都只能是组成应用的一个部件,它都需要在应用环 境中获取各种参数,由应用环境来驱动。 组件模型为开发者定义软件组件建立了一套体系结构和a p i 集,它由组件 ( c o m p o n e n t ) 和容器( c o n t a i n e r ) 两种主要成分构成。组件是软件中具有可重用特性的 基本部件,容器类似于装配车间,是一种存放相关组件的“器皿”,用于安排组件、 实现组件间的交互,其形式可以是表格、页面、框架和外壳,同时容器可以作为另一 个容器的组件。 正是由于组件技术相对于对象具有不可比拟的优点,因而,可以肯定的是采用组 件模型来开发企业信息系统软件是必然的趋势。 1 4 企业信息系统的演变 新的先进管理思想的提出与实践,要求能在企业信息系统中得到体现,于是企业 信息系统必须不断完善甚或重新设计;而计算机技术的迅速发展,为企业信息系统的 设计开发带来了全新的技术和方法。目前,企业信息系统已经发展到了一个崭新的阶 段,其组成部分越来越复杂,所包含的各类技术越来越多,体现的管理思想和理念越 加先进,出现了各种不同的发展分支或形式。 1 4 1 新型企业信息系统层出不穷 物料需求计划:在6 0 年代,企业生产能力较低,制造资源矛盾的焦点是供与需 的矛盾,计划管理问题局限于为确定库存水平和选择补充库存策略的问题。经济 批量的订货点方法成为最初的科学计划理论,生产中多余的消耗和资源分配的不 合理首先和大多表现在物料的多余库存上。为了解决其原材料库存和零组件投产 计划问题,出现了以相关需求原则,最少投入和关键路径为基础的“物料需求计 划”( m a t e r i a lr e q u i r e m e n tp l a n n i n g ) 原理,简称m r p 。 制造资源计划:随着企业竞争环境的恶化,企业对自身资源管理范围扩大,对制 造资源计划细化和精确化,单纯面向物料的m r p 扩展到与生产能力相关的人力和 设备等更多资源的计划与控制,这就是闭环m r p 。”。以后又加入了对制造范围的 资金控制,计划方法的名称随着控制的对象的升级而改为“制造资源计划 ( m a n u f a c t u r i n gr e s o u r c ep l a n n i n g ) ”,简称m r p i i 。m r p i i 是一个围绕企业的 基本经营目标,以生产计划为主线,对企业制造的各种资源进行统一计划和控制 的有效系统,也是使企业的物流、信息流和资金流通畅的动态反馈系统。 企业资源计划:从m p r i i 的概念产生后的1 0 年间,企业计划于控制的原理、方法 一1 0 南京航空航天大学硕士学位论文 和软件都成熟和完善起来。在此期间又出现了许多新的管理方法如j u s ti nt i m e ( j i t ) ,新的管理思想和战略如c i m s 和精益生产l e a np r o d u c e ( l p ) 等。各个 m r p i i 软件厂商不断地在自己的产品中加入新的内容,逐渐演变形成了功能更完 善技术更先进的制造企业的计划与控制系统。9 0 年代初美国人总结当时m r p i i 软 件在应用环境和功能方面主要的发展趋势,提出“企业资源计划( e n t e r p r i s e r e s o u r c e sp l a n n i n g ,e r p ) ”的概念。e r p 使得计划和控制的范围从制造延伸到 整个企业;并将资源计划的原理和方法应用到非制造业。e r p 本身是建立在信息 技术基础上,利用现代企业的先进管理思想,为企业提供决策、计划、控制与经 营业绩评估的全方位、系统化的管理平台“”。 供应链管理系统:自从e r p 诞生以来,人们就一直致力于企业供应链的研究。e r p 最初侧重于对企业内部所有资源的整合、优化与应用的管理。但随着市场竞争程 度的不断激化,全球一体化进程的加快,光凭一个企业内部的资源难于适应市场 的发展,企业对资源的争夺已经发展到企业之外的整个供应链。于是出现了专门 的供应链管理( s u p p l yc h a i nm a n a g e m e n t ,s c m ) ,e r p 的资源计划对象也从企业 内部发展至外部的整个供应链的所有资源。s c m 是围绕核心企业,主要通过信息 手段,对供应各个环节中的各种物料、资金、信息等资源进行计划、调度、调配、 控制和利用,形成用户、零售商、分销商、制造商、采购供应商的全部供应过程 的功能整体“”。 客户关系管理:伴随着供应链管理的产生和发展,供应链的不断延伸,对最终客 户的管理要求越来越细化、越来越重要,这就直接催化产生了又一个企业信息系 统的分支:即客户关系管理( c u s t o m e rr e l a t i o n s h i pm a n a g e m e n t ,c r m ) 。它 是以客户为中心的经营策略,围绕这个中心建立以信息技术为依托的管理环境, 为企业的有关客户工作( 营销、销售、服务、物流、产品设计和生产等) 的流程 进行重新设计,最大的满足客户要求“。 电子商务系统:随着i n t e r n e t 的发展,出现了新的商业交易模式,这就是电子 商务( e - b u s i n e s s 、e - c o m m e r c e ) 。”。它是新经济模式的基本贸易与通信手段。 企业与企业之间实现电子贸易,通过电子贸易,买卖双方能够在网上完成整个业 务流程;企业与消费者之间实现了在线销售、在线购物、在线服务,从而达企业 扩大市场、增加销售和降低成本的目的;企业与政府之间实现在线事务交易,政 府可以通过电子交换的方式处理企业的报关和纳税等事务。另外,企业还可以实 现有效的客户关系管理和供应链管理。而电子商务系统就是企业实现上述目标和 战略的信息系统或技术手段,它的范畴几乎包含了所有的企业活动,因此,电子 商务系统是企业信息化深入发展的必然趋势。 1 4 2 对系统的开发和管理提出了新的要求 新型企业信息系统不断出现,其体系结构越加复杂,功能模块越来越多,对系统 一1 1 基于c o r b a 和u m l 构建现代企业信息系统的工程化研究 的性能、兼容性和安全性等方面都提出了越来越苛刻的要求。i n t e r n e t 的出现,使 得企业能够将分散的计算机相互连接起来,但i n t e r n e t 本身并不能有效的管理和使 用这些分散的资源,解决这一问题的方法就是开发出新型的企业分布式信息系统,使 得企业的应用软件等资源能够连接起来。没有操作系统的计算机几乎没有用处,没有 应用软件相互集成的i n t e r n e t 也很难显示出互联网的终极魅力。大型的企业信息系 统必然是管理和使用分布式资源的分布式系统,而分布式系统的开发必须要跨越的几 点就是:。“ 跨平台。未来的软件将分布在各种机型的平台上:大型机、p c 机、笔记本、 带程序的电视机、传感器、报警器、各种d s p 、p d a 等等。 跨操作系统。计算机世界的操作系统种类繁多,有称霸p c 机的w i n d o w s 系 列、源远流长的u n i x 及其变种、蓄势待发的l i n u x 、经典的s o l a r i so s 等。 分布式软件开发必须正视这一现实问题。 跨语言。至今为止,还没有一种通用、万能的计算机编程语言。j a v a 可谓灵 巧,但是目前还是不太适合于开发用户的界面;d e l p h i 、c + + b u i l d e r 后来 居上,却缺乏j a v a 跨平台、跨操作系统的兼容性;v i s u mb a s i c 虽然开辟 了可视化编程的先例,却无法胜任大型软件的开发。未来的世界应当允许混 合编程,使每种语言都在其最擅长的领域一显身手。 跨协议。i n t e r n e t 是一个异质结构的网络,在不同的区域可能具有不同的网 络结构、传输协议,为了使软件运行时具有数据、方法共享性,操作透明性, 集成软件时必须考虑协议不同所带来的不便。 跨版本。用户对软件功能的需求总是在逐步增加,每次变化都会要求软件工 程师重新编写相应程序模块。分布式软件开发会给软件的版本更新带来不便 应该让多少客户进行升级? 又会导致多少软件模块发生连锁性重写? 因此,在i n t e r n e t 上集成软件必须实现版本的透明性。 1 4 3 分布式计算技术带来了新的解决方案 因此,为了满足这些要求,实现软件全方位的集成,分布式的企业信息系统就不 可能只采用一种技术或语言就能完成,因此必须制订一定的软件标准并规定一定的软 件体系结构才能得以实现。c o r b a 正是为此目的设计分布式软件的开发方式和标准之 一。c o r b a 标准的提出,极大的推动了分布式计算技术的发展,使得软件系统的开发 和部署正经历一次剧烈的变革。基于分布式计算技术构建的n 层或b s 结构应用系统 将在企业信息系统领域中成为主导。现代企业管理理念不断提升,以此带来了企业信 息系统各种不同发展分支和形式,它们对系统功能要求越来越全面,体系结构变得越 来越复杂,系统性能要求越来越苛刻。事实将逐步证明,以c o r b a 为代表的分布式计 算技术是当前可用于创建各类分布式企业信息系统的最强大的机制和最好的解决方 案。 一12 南京航空航天大学硕士学位论文 第二章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 开发平台和工具,最后,针对目前几种主流的分布式对象计算 技术做了总体的分析比较。 2 1 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 ra r c h i t e c t u r e 。 c o r b a ) 是由国际对象管理组织( o b j e c tm a n a g e m e n tg r o u p ,o m g ) 提出的应用软件 体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异构分布 应用程序间的互操作性及独立于平台和编程语言的对象重用“3 。 o m g 作为一个非营利性组织,它成立于1 9 8 9 年。o m g 集中致力于开发在技术上具 有先进性、在商业上具有可行性并且独立于厂商的软件互联规范,推广面向对象模型 技术,增强软件的可移植性( p o r t a b i l i t y ) 、可重用性( r e u s a b i l i t y ) 和互操作性 ( i n t e r o p e r a b i l i t y ) 。该组织成立之初,成员包括u n i s y s 、s u n 、c a n n o n 、 h e w l e t t p a c k a r d 、p h i l i p s 等在业界享有声誉的软硬件厂商,目前该组织拥有8 0 0 多家成员。1 。 1 9 9 0 年1 1 月,o m g 发表对象管理体系指南,初步阐明了c o r b a 的思想;一年 后,o m g 推出c o r b a1 0 版,其中定义了接口定义语言( i n t e r f a c ed e f i n i t i o n l a n g u a g e ,i d l ) 、对象管理模型以及基于动态请求的a p i 和接口仓库等内容;随后的 十年里,o m g 对c o r b a 不断进行完善,1 9 9 4 年提出c o r b a2 0 ,现在又提出了c o r b a 3 0 “。3 0 版作为一个全新的标准,它融合了许多新的技术,并在充分考虑了互操 作性和可移植性的前提下,完善了原有模型的功能,拓展了应用领域,为推广分布式 应用打下了良好的基础。目前,宣布支持c o r b a3 0 规范的中间件厂商包括 i n p r i s e b o r l a n d 、o r a c l e 、s u n 、i b m 、b e as y s t e m 等著名的软件生产商。c o r b a 在 经过近十年的发展之后,已逐步走向成熟,成为目前主流的分布式对象体系结构和技 术标准之一,并成功的应用于国内外的许多大型的软件系统中。 2 2c o r b a 完整体系结构 c o r b a 作为分布式软件开发的方式及标准,其首先是一种编程技术,它是吸收了 软件界面向对象的组件技术、分布式计算技术、多层体系结构技术以及软件接口技术 的一种综合技术。“。c o r b a

温馨提示

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

评论

0/150

提交评论