(机械电子工程专业论文)中小制造企业可重构信息系统研究.pdf_第1页
(机械电子工程专业论文)中小制造企业可重构信息系统研究.pdf_第2页
(机械电子工程专业论文)中小制造企业可重构信息系统研究.pdf_第3页
(机械电子工程专业论文)中小制造企业可重构信息系统研究.pdf_第4页
(机械电子工程专业论文)中小制造企业可重构信息系统研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

中小制造企业可重构信息系统研究 摘要 随着计算机和网络技术的迅速发展,企业信息管理系统( e l m s ) 已在制造企 业中得到了普遍应用。然而由于传统的企业信息管理系统所存在的开发实施成 本高、维护升级困难,如何简化企业信息管理系统开发流程、降低开发成本、 提高效率并开发出可重用性、可扩展性和可维护性的企业信息管理系统变得尤 为重要。, j 组件技术解决了对象依赖于特定编程语言,只能基于源代码级别重用的问 题,而且组件的接口与实现相分离的原则,使得系统的修改和扩展更加容易。 同时,组件技术与分布式对象技术相结合,可以构建逻辑上分布的大型分布式 应用系统,并可大大降低应用程序中层与层之间的依赖、开发部署和维护的复 杂程度,、增强系统的可扩展性、可维护性,提高系统的运行性能,便于团队合 作开发。 为了适应中小制造企业专业化和业务流程多样化的需求,实现行业信息系 统的可重构。t 本文分析了相关组件模型和软件开发方式。运用面向对象思想提 出基本粒度模型,并在此基础上探讨了业务过程可重构的实现机制;定义适合 x m l 描述的业务规则,并设计一个满足可重构需求的行业化信息系统框架。 关键词:企业信息管理系统;重构;组件;基本粒度;x m l 。 t h er e s e a r c ha b o u tr e c o n f i g u r a b l ei n f o r m a t i o ns y s t e mo f s m a l la n dm e d i u m s i z e dm a n u f a c t u r i n ge n t e r p r i s e s a b s t r a c t w i t ht h e d e v e l o p m e n t o fc o m p u t e ra n di n t e r n e t t e c h n o l o g y ,e n t e r p r i s e i n f o r m a t i o nm a n a g e m e n ts y s t e m ( e i m s ) h a sb e e np u ti n t op r a c t i c ei nm a n y m a n u f a c t u r ee n t e r p r i s e s b u tm o s te i m sa r es h o w i n gs u c hd i s a d v a n t a g e sa sh i g h c o s to fd e v e l o p m e n ta n di m p l e m e n t a t i o n ,d i f f i c u l tt om a i n t a i n ,e r e s oi ti s i m p o r t a n tt og e te i m st h a th a ss i m p l ep r o c e s s ,l o wc o s t ,h i g h e re f f i c i e n c ya n d a t t h es a m et i m eh a sh i g h e rr e u s a b i l i t y ,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 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 na c 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 n b e t w e e ni n t e r f a c e sa 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 g u 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 r s y s t e mc o u l df i r s t l yb eb u i l to nl o g i c 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 no r d e rt om e e tt h es p e c i a l i z a t i o na n db u s i n e s sp r o c e d u r ed i v e r s i f i e dd e m a n d s o fs m a l la n dm e d i u m - s i z e d m a n u f a c t u r i n ge n t e r p r i s e s ,t h i sp a p e r s t u d i e s r e c o n f i g u r a b l ei n f o r m a t i o ns y s t e m ,p r o p o s e st h eb a s i cg r a n u l a r i t ym o d e li nt h e t h o u g h t so f0 b j e c to r i e n t e d ,d i s c u s s e st h er e a l i z i n gm e c h a n i s mo fr e c o n f i g u r a b l e b u s i n e s sc o u r s e ,d e f i n e st h er u l et h a ti ss u i t a b l ef o rx m l ,d e s i g n sa ni n f o r m a t i o n s y s t e mf f a m e w o r kt h a tm e e t sr e c o n f i g u r a b l ed e m a n d k e y w o r d s :e n t e r p r i s ei n f o r m a t i o nm a n a g e m e n ts y s t e m ;c o m p o n e n t ;t h eb a s i c g r a n u l a r i t y ;x m l 。 插图表 图2 - 1c o r b ao r b 结构图7 图2 2c o x 系统调用原理1 0 图2 3d c o m 组件通信模型1 1 图2 4c o m + 、m t s 、d c o m 的关系图1 1 图2 5j 2 e e 结构图1 3 图2 6e j b 体系结构1 5 图4 1f 公司销售部流程3 0 图4 2 几种模型关系图3 2 图4 3 实体模型类图3 2 图4 - 4 实体模型和实体对象关系图3 3 图4 - 5 订单模型类图3 3 图4 6 业务模型类图3 4 图4 - 7 订单查询业务模型图3 4 图4 - 8 订单打印业务模型图3 5 图4 曲实体端口模型图3 6 图4 1 0 业务端口模型图3 6 图4 一l l 实体对象、端口对象关系图3 6 图5 - 1 双层客户端服务器模型3 7 图5 - 2 三层客户端服务器系统模型3 8 图5 3 多层客户端h i 务器系统模型3 9 图5 - 4 业务对象不同组合图4 3 图5 - 5 体系架构图4 4 图5 - 6 产品与产品类型模型图4 5 图5 7 入库单模型类图4 9 图5 8 入库单数据库表图4 9 图5 9 仓库模型类图5 0 图5 一1 0 订单类图5 1 图5 一l l 客户类图5 l 图5 - 1 2 价格类图5 2 图5 - 1 3 库存盘点流程图5 2 表5 - 1 半成品仓库基本粒度模型表4 7 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得 盒胆王些太堂 或其他教育机构的学位 或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示谢意。 剃嫦一1 幻暂 签字日期匆l _ 刁! 年。妒d 扣 l 学位论文版权使用授权书 本学位论文作者完全了解金胆互些太堂有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借 阅。本人授权金壁王些太堂可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 陟彳 签字日期泪q 月胛 学位论文作者毕业后去向: 工作单位: 通讯地址: 电话: 邮编: 致谢 时光飞逝,转眼间三年的研究生学习生涯己接近尾声。在这里我要感谢所 有在我学习、工作和生活中支持我,帮助我的老师、同学、朋友和亲人。 衷心感谢我的导师张利老师和张建军老师。两位张老师在我三年的学习和 生活中,给了我悉心的教导和无私的帮助,使我无论在理论研究还是实践工作 方面都得到了很大的提高,获益良多。更重要的是两位张老师时常告诉我们为 人处世的道理,让我在自省中发现、改正了自己的很多缺点,这些都是无价的 人生财富。在以后的日子中,我一定会谨记两位恩师的教诲! 在此再次表达衷 心的谢意。 感谢项目组的全体同学,三年的相处中他们身上闪光的优点一直感染着我。 项目组里团结、友好、向上的气氛给我提供了良好的学习环境,使我能够不断 地提高自己。感谢徐娟、韩煜、张建昌、吴健、赵斌、姚奋超、任启乐、毛忠 军,段培勇等同学在项目开发、论文写作过程中给予我的帮助,与他们一同工 作和讨论使我开阔思路、拓宽眼界。 感谢各位答辩委员会的专家在百忙之中能抽出时间评阅拙文。 作者:陆军 2 0 0 7 年4 月 1 1 问题的提出 第一章绪论 计算机和网络通信技术的飞速发展带动制造企业信息化工作不断推进。如 何利用高度发达的信息技术快速、准确、高效的整合整个企业的信息资源,达 到降低成本、提高产品质量和服务水平,从而提高企业核心竞争力已成为企业 信息化应用的关键。然而,企业信息资源不仅数据量大,而且数据结构极其复 杂,给企业信息化的实施带来诸多困难。同时,众多企业之间,即使是同类企 业,所要管理的信息资源也千差万别,很难用一种通用的软件去管理,因此如 何快速构建针对具体企业应用的软件系统已成为当前软件开发领域的研究熟 点。 一个软件项目的开发,通常遵循需求调研、分析、设计、实现、集成和测 试等步骤。行业内各个企业管理方法各具特色,业务流程也有出入,甚至信息 化编码方式不同。但行业内中小制造企业管理模式相近,生产工艺和产品相仿, 能够形成一定的行业特点。这决定了能够将行业化信息系统划分为基本不变的 部分和经常变化的部分。因此可重构研究的关键在于如何封装不变部分,如何 从变化部分中抽象出业务规则,使变化部分能够表示为业务规则与不变部分的 集合。简而言之,逻辑与实现分离是信息系统重构的基础。 目前,组件技术是当今解决软件复用的最有效的技术之一,在整个软件产 业中得到了迅速的应用。传统组件开发方式主要是功能组件的开发,功能组件 完成某种功能或业务过程,通过组合功能组件来搭建系统。这样不可避免地将 业务规则封装在组件内,没能从根本上将业务规则和实现业务的手段分离,且 功能组件的粒度划分难以控制,系统的可重构性有限。本文提出了区别于传统 功能组件模型的基本粒度模型。将基本粒度模型与业务规则分离,通过可重构 框架来搭建系统,从而实现更为灵活的重构性。 1 2 论文研究内容及意义 1 2 1 研究内容 针对如何实现中小制造企业信息化管理软件系统可重构的现实问题,本文 尝试性的分析了可重构需要解决的关键问题:如何封装不变部分。如何从变化 部分中抽象出业务规则,使变化部分能够表示为业务规则与不变部分的集合。 为此: ( 1 ) 首先分析了当下国际上广泛应用的组件开发模型有:o m g 组织的 c o r b a 、m i c r o s o f t 公司的c o m d c 0 m c o m + 和s u n 公司的j a v a b e a n ,视其各自特 点结合实际情况选用了m i c r o s o f t 公司的c o m 模型。 ( 2 ) 其次分析了传统组件开发方式,运用面向对象技术提出了基本粒度模 型思想,具体分为实体模型、业务模型和端口模型。并运用面向对象的建模语 言u m l 为各个模型建模。 ( 3 ) 在基本粒度模型基础上探讨业务过程可重构实现机制,定义适合x m l 描述的业务规则。并设计一个满足可重构需求的行业化信息系统体系架构。 1 2 2 研究意义 由于制造企业需求复杂,而且变化频繁,如何避免在企业信息管理软件开 发中出现大量的重复性工作,提高软件的可扩展性、可维护性,使软件走向标 准化生产,越来越受到软件行业的关注。而采用组件技术开发企业信息管理系 统,不仅可以实现源代码级的重用,以及利用现有的组件去构造新的软件系统, 而且组件的接口与实现相分离,使得组件的修改、升级更加容易。 本文提出的基本粒度模型基本上解决了组件划分的粒度问题,将基本粒度 模型与业务规则分离,通过可重构框架来搭建系统,从而实现更为灵活的重构 性。 1 3 论文结构 本论文共分六章,内容如下: 第一章介绍了中小制造企业信息化管理软件系统可重构性的现实问题,同时 介绍了论文研究背景、研究内容及意义。 第二章重点介绍与比较了目前比较流行的几种组件对象模型,描述了组件对 象模型为系统开发提供的底层支持,介绍了组件化软件开发方法产生的背景。 第三章分析了面向对象技术,并分析了面向对象的建模语言u 札,为构建基 本粒度模型做准备。 第四章提出了区别于传统组件开发模型一一功能组件模型的基本粒度模型 思想。共包含三种基本粒度模型分别是实体模型、业务模型、端口模型。运用 面向对象的建模语言u m l 对以上三种模型分别建模。 第五章在基本粒度模型基础上探讨业务过程可重构实现机制,定义适合x m l 描述的业务规则。并设计一个满足可重构需求的行业化信息系统体系架构。 第六章总结了全文的工作,并提出进一步研究的方向。 2 第二章软件可重构技术分析 2 1 软件可重构技术概述 狭义的重构是指在原有系统的基础上,重新构造系统的结构及重新组合 系统功能,以满足需求变化或新需求的能力。狭义的重构一般不对系统添加瓤 的功能,主要以静态方式进行。而广义的重构“】贝u 包括信息系统整个维护阶段 的任务,除了狭义重构的范围之外,还包括: ( 1 ) 功能扩展:静态或动态的添加功能或修改现有功能; ( 2 ) 重新配置:动态的重新配置系统的各种运行参数或替换一些功能。 本文中的“重构”泛指在信息系统生命周期的各阶段( 设计、构造和运行) 对系统所做的任何调整,包括结构的变化、功能的增a n 删除修改、系统参数 的调整等“1 。 对企业信息管理系统重构技术方面的研究,从软件产品开始在企业应用的 那一天就开始了。针对如何提高系统的重构能力,这方面的研究可分为三个大 的方向: ( 1 ) 采用先进的系统建模技术,实现信息系统的敏捷性。清华大学的柴跃 廷教授提出了敏捷信息系统( a g i l ei n f o r m a t i o ns y s t e m ,a i s ) 的体系结构与模 型、敏捷信息系统建模方法,并实现了敏捷信息系统开发平台偿3 ;中科院沈阳 自动化所的王成恩研究员提出了可重构信息系统( r e c o n f i g u r a b l ei n f o r m a t i o n s y s t e m ) 的概念,以及可重构管理信息系统的体系结构,设计方法与开发方法o 。 南京航空航天大学的沈延森在其博士论文里提出了快速可重构信息系统( r a p i d r e c o n f i g u r a b l ei n f o r m a t i o ns y s t e m 。r r i s ) 的概念及其建模方法,强调企业业务 过程重组与信息系统重构之间的映射“1 。国内其它一些研究人员还对支持敏捷 制造的信息系统、敏捷供应链系统、敏捷制造系统等方面进行了研究,在对这 些特定系统的重构技术的研究领域开展了卓有成效的工作。 ( 2 ) 采用先进的软件方法和软件开发技术,实现软件系统的重构能力。研 究人员通过探讨面向对象技术( o o ) 、设计模式( d e s i g np a t t e r n ) 、热点驱动的软 件框架( h o t s p o t d r i v e nf r a m e w o r k ) 、基于构件的软件开发( c b s d ) 、软构件库 ( c o m p o n e n tl i b r a r y ) 等先进的软件技术,从设计与实现级提高系统的适应能力。 另一方面,采用诸如面向对象的分布式计算环境( j 2 e e ,c o r b a ) 、软构件组件 技术( e j b ,c o r b a ) 、异构信息集成技术( x m l ) 、工作流技术( w o r k f l o w ) 、w e b 服务( w e bs e r v i c e ) 等,从e r p 软件的分布式、异构性等方面对系统进行敏捷性 改善帆“”1 。 ( 3 ) 采用先进的运行阶段引擎,实现企业信息管理系统运行阶段的灵活 性。这方面研究的主要思路是:通过业务过程管理系统( b u s i n e s sp r o c e s s m a n a g e m e n ts y s t e m ,b p m s ) 和业务规则管理系统( b u s i n e s sr u l em a n a g e m e n t s y s t e m ,b r m s ) 及相应的引擎对e r p 系统核心业务过程与业务规则进行运行时 管理,支持e r p 系统的动态性。一些知名的b 蹦s 产品包括:i l o gj r u l e s 、 p e g a r u l e sp r o c e s sc o m m a n d e r 、b l a z ea d v i s o r 、b r sr u l e t r a c k 等。另外,一些 机构也对这方面进行了大量的标准化工作,如o m g 等,使得e r p 系统商可以按标 准进行产品研发埔”。 2 2 组件技术概述 组件技术是上世纪9 0 年代初出现的一种新技术,它是在结构化设计和面 向对象技术的基础上发展起来的,是面向对象技术之后的软件开发的标准方法 体系,是面向对象的开发技术的延伸。组件具有面向对象的特征,由于组件能 够独立地实现其功能而不依赖于其它外部环境,在理想的环境下,组件的实现 及应用与开发语言和平台无关。因此组件具有功能独立性、高度的可重用性、 与语言和平台无关性等特点。 在国外,m i c r o s o f t 、i n p r i s e 、r a t i o n a l 、s u n 、s y m a n t e c 和众多其它厂 商都纷纷推出了各种基于组件和w e b 的集成开发环境,其中包括了大量的软件 结构和组件库。支持对象和组件概念的编程语言也为数众多,比如j a v a 、c + + 、 d e l p h i 、a d a 、n e t 等,甚至v b 等都可以达到组件设计目标。在中间件和基础 结构组件方面,有c o m + 、c o r b a 和e j b j 2 e e 这几种结构环境供开发人员使用; i b m 、m i c r o s o f t 、p e r s i s t e n c e 和s u n f o r t e 等公司都提供了相应的应用服务 器、基础组件和组件框架;数据库厂商如o r a c l e 和i n f o r m i x 也支持对象和组 件概念“2 “1 。 目前,我国软件开发的趋势已经越来越注重组件技术的开发应用,越来越 多的公司和程序员认识到基于组件的软件开发给公司和个人带来的巨大效益。 国内己经有若干公司开始基于组件的软件开发,如金蝶信息技术公司、金山软 件有限公司等己经有了初步的软件组件产品,而联想集团、中兴科技公司等正 在筹备建立具有现代管理体制的软件工厂。 软件组件化是2 1 世纪软件工业发展的大势趋,随着软件理论和软件技术 的迅速发展,组件框架技术和组件设计技术日益成熟。 2 2 1 组件的概述及分类 关于软件组件( c o m p o n e n t ) cs g ”3 ,目前有狭义和广义两种定义。狭义的软 件组件是一种二进制形式的可复用软件块,它封装了一定的数据、属性和方法, 遵循二进制外部接口标准,内部实现细节对用户透明,具有即插即用的特性, 4 组件之间通过接口来进行交互。广义的软件组件是指可复用的软件单元,可以 被用来构造其它软件,它可以是被封装的对象类、功能模块、软件框架、软件 系统模型、软件文档,如可复用的分析件、设计件等。组件具有平台和语言的 无关性、接口和实现分离以及支持即插即用等特点,是支持软件复用的核心技 术。组件的含义可以从以下几个方面理解: ( 1 ) 组件是一个分布式对象。组件封装了具体实现,规定了组件必须按照 统一的接口规范向外界声明服务。 ( 2 ) 组件是一块独立可重用的二迸制代码。组件是在二进制代码一级的重 用,与传统意义上的可重用( 如类库) 之问有本质区别。组件既可用于不同平台 开发,也可以分布在网络上的不同平台上被不同的平台所重用。 ( 3 ) 组件是完成特定功能的软件模块。这表明组件与一般的简单的控件是 有区别的。从概念上讲,简单控件也可以属于组件但组件的粒度比简单控件粗, 组件应由简单控件组成。 ( 4 ) 组件不是一个完整的应用。随着组件粒度越来越粗,组件集成度越来 越高,组件与较小的应用在规模上己经越来越接近,但组件只是组成应用的一 个部件,因此需要在应用环境中获取各种参数,由应用环境来驱动。 组件在应用系统中通常包括三类: ( 1 ) 通用基本组件是特定计算机系统的构成成份,如基本的数据结构、 用户界面元素等,可以存在各种系统中。 ( 2 ) 领域共性组件是应用所属领域的共性构成成份,存在于该领域的各 个应用程序中。 ( 3 ) 应用专用组件是某个应用系统的特有构成成份。 2 2 1 组件技术的特点 组件拥有以前软件所无法实现的诸多特点: ( 1 ) 组件位置透明性组件以及使用它的程序能够在同一进程中、不同的 进程或不同的机器上运行,组件对远程组件的处理方式和对本地组件的处理方 式是一样的。 ( 2 ) 与语言无关性组件以二进制代码的形式发布,将其实现所用的编程 语言封装起来,做到与语言、开发环境无关。 ( 3 ) 良好的可扩展性由于每个组件都是自主的,只能通过接口和外界通 信,当一个组件需要提供新的服务时,可通过增加新的接口来完成,不会影响 到使用原接口的客户,而新的用户可以重新选择新的接口来获得服务。 ( 4 ) 实现不同厂商的软件间的真正的互操作组件可以来自不同的组件开 发商,独立地被生产、获取和配置,应用不同的组件可以方便地搭建应用程序。 由于组件软件有着这些不可忽视的特点,组件技术开始在软件业中很快流 行起来。i 叫推出的s o m 组件技术,s u n 公司的j a v a b e a n s 技术,o 4 g 国际组织 推出的c o r b a 组件规范,以及微软公司推出的c o m 等组件技术都得到了很好的 实现和广泛的使用。 2 3 组件模型的分析 2 3 1 c o r b a 技术 lc 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 ) 创建于1 9 8 9 年, 它是一个国际性的软件行业协会,主要宗旨是促进面向对象的方法在软件工程 中的应用,以及在面向对象的软件工程方法学的基础上,为大规模系统软件的 开发与应用制定软件体系结构模型和通用接口规范。c o r b a ( c o m m o no b j c o 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 的活力和可用性,随着分布式计算的发展,o m g 不断地推 出c o r b a 的新版本。1 9 9 1 年l o 月,o m g 推出c o r b a i 0 ,该版本的主要内容包 括;c o r b a 对象模型、界面定义语言( i d l ,i n t e r f a c e d e f i n i t i o n l a n g u a g e ) 、用于 动态请求管理和动态调用的a p i 集合和界面仓库。 1 9 9 6 年8 月,o m g 推出了c o r b a 2 0 ,该版本在解决互操作问题方面迈上了 一个新台阶。其中一个突出的贡献是引入了g i o p i i o p ( g e n e r a li n t e r o r b p r o t o e o l i n t e r n e ti n t e r - o r bp r o t o c 0 1 ) 协议,它能用于解决不同供应商的c o r b a 平台之间的互操作问题。 o m g 在2 0 0 2 年6 月推出的c o r b a 3 0 是一个非常重要的版本,它实现了 c o r b a 与i n t e r n e t 的彻底集成。主要包括j a v a 和i n t e r n e t 集成、服务质量( o o s ) 控制、c o r b a 组件模型( c c m ) 。 2c o r b a 体系结构 c o r b a 1 既代表了一种软件开发模式,一种软件开发标准,也提供了软件 开发必需的服务、可以使用的工具集合。c o r b a 规范的基本结构如图2 1 所示。 6 动态f |客户| io r bi i 静态| | 动态l i 对象 调用i li d l s t u b si l 界面1 1 构架l l 构架i i 适配器 o r b 核一l :, ( i i o p ) 图2 - 1c o r b ao r b 结构图 主要包括: ( 1 ) 对象请求代理o r b ( o b j e e tr e q u e s tb r o k e r ) o r b 是c o r b a 的核心。作为一个软件组件,对象可以通过o r b 发出请求并 接收响应。在c o r b a 中,所有的通讯都通过o r b 进行i 因而无论一个对象是本 地的还是远程的,对于与之进行通讯的其它对象来说都是等价的,它用来屏蔽 与底层平台有关的细节,使开发者可以集中精力去解决与应用相关的问题,而 不必自己去为创建分布式计算基础平台而操心。 o r b 是一个在对象间建立客户朋艮务器联系的中间件。使用o r b ,客户可以 调用服务器的对象或对象中的应用,被调用的对象不要求在同一台机器上。由 o r b 负责进行通信,同时o r b 也负责寻找适于完成这一工作的对象,并在服务 器对象完成后返回结果。客户对象完全可以不关心服务器对象的位置,实现它 所采用的具体技术和工作的硬件平台,甚至不必关心服务器对象与服务无关的 接口信息,这就大大简化了客户程序的工作。o r b 提供在不同机器间应用程序 间的通信,数据转换,并提供多对象系统的无缝连接。 ( 2 ) 接口定义语言i d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ) i d l 是用于描述对象接口的一种高级符号语言,用来定义软件组件如何与 o r b 交换信息,也就是为各个模块定义输入输出方式。i d l 不涉及任何接口的 实现细节,所有c o b r a 系统都根据i d l 用某种特定语言来实现接口。 一个组件不必了解其输出是如何被其它组件处理的,也不必了解输入信息 来自何方,以及i d l 对其定义的格式。因此,无论是产品开发商还是软件组件 开发者都无需为另一方的规范伤神。目前c o r b a 为c 、c + + 、s m a l l t a l k 和j a v a 制定了规范,a d a 9 5 和c o b o l 的映射规范也正在制定中。 ( 3 ) 接口库( i n t e r f a c e r e p o s i t o x y ) ,其中包括了所有描述服务对象属性、操 作、自定义数据类型及异常处理的i d l 定义。 ( 4 ) 基本对象适配器b o a ( b a s i co b j c o ta d a p t e r ) ,描述了o r b 和服务器端 应用程序之间的接口。b o a 负责调度服务器端应用程序维护的对象,并与服务 对象交换消息。 ( 5 ) 静态请求接口s i i ( s t a t i ei n v o c a t i o ni n t e r f a c e ) ,s i i 假设在编译时刻客 户对象能够明确了解服务对象的接口,即客户与服务器之间的关系应当是可知 的、固定的,服务接口的任何改变都会导致软件系统的重新编译。s i i 是由i d l 7 描述的。 ( 6 ) 动态请求接口d i i ( d y n a m i ci n v o c a t i o ni n t e r f a c e ) ,d i i 是一组与服务器 无关的通用接口。与新服务对象及其行为相关的信息可以通过接口库获得,客 户程序根据这些信息可以在运行时刻动态构造请求。d i i 使得开发智能化即插 即用的软件系统成为可能,但需要涉及大量c o r b aa p i 调用,增加了软件的复 杂度。 3c o r b a 服务 c o r b a 服务是用i d l 规定接口包装的系统服务集合,可以将对象服务看成 是对象请求代理功能的扩充和补充。利用对象服务可以创建组件,为它命名, 并将它引入到环境中。o m g 己经发布了十五种对象服务的标准: ( 1 ) 生命期服务定义了多个操作,用来在总线上创建、复制、移动和删除 组件。 ( 2 ) 持久性服务提供了单一接口,用来将组件持久地存储在多种存储服务 器上,包括对象数据库( o o b i ) 、关系数据库( r u m s ) 和简单文件。 ( 3 ) 命名服务使总线上的组件能够根据名字找到其它组件,它也支持联合 命名语言环境,这种服务还允许对象与现有的网络目录或命名语言环境捆绑。 ( 4 ) 事件服务使总线上的对象可以动态注册或注销它对特定事件的兴趣, 这种服务定义了一个众所周知的对象,即事件通道,负责在互不了解的组件中 间收集和分配事件。 ( 5 ) 并发控制服务提供了一个加锁管理程序,可以代表事项或线程获得加 锁。 ( 6 ) 事项处理服务利用非嵌套或嵌套事项在可恢复组件中间提供两阶段 确认协商。 ( 7 ) 关系服务提供了一种在互不了解的组件之间建立动态关联的方式,它 还提供了全面观察组合这些组件所有连接的机制。 ( 8 ) 外表化服务提供了一种标准方式,利用一种象流一样的机制将数据写 入组件或从组件取出来。 ( 9 ) 查询服务为对象提供查询操作,这是s q l 的一个超集。它是以s q l 3 规范和对象数据库管理协会( o d m g ) 的对象查询语句( o q l ) 为基础制定的。 ( 1 0 ) 特许服务提供了测量组件使用的操作,确保组件的使用得到公平的 补偿,这种服务支持组件生命期中任何一刻的应用控制模型,支持逐话路、逐 节点、逐实例以及逐位置收费。 ( 1 1 ) 属性服务提供了将有名值与对象联系起来的操作。利用这种服务可 以动态地将属性与对象状态联系起来。 ( 1 2 ) 记时服务提供了在分布式对象环境中同步时间的接口。它还提供了 定义和管理时间触发事件的操作。 ( 1 3 ) 安全服务提供了一个分布式对象安全性完整框架,支持鉴别,访问 控制列表、机密性和不可否定性等,它还管理对象之间的委托授权。 ( 1 4 ) 交易器服务为对象提供了黄页,允许对象公布其服务和作业投标。 ( 】5 ) 集合服务提供了一般的产生和操作最普通集合的c o r b a 接口。 总之,c o r b a 提供了一个集成框架,应用程序只要给出用接口定义语言i d l 书写的界面,就可插入框架,与其它对象协同工作,为在分布式环境下实现不 同应用程序即插即用的集成提供了有力支持。 2 3 2c o m d c o 弛c o g + 组件模型 1c o m 技术 c o m “4 ”川是个开放的组件标准,有很强的扩充和扩展能力。c o m 规定了对 象模型和编程要求,使c o m 对象可以与其它对象相互操作。这些对象可以用不 同的语言实现,其结构也可以不同。 c o m 规范包括c o m 核心、结构化存储、统一数据传输、智能命名和系统级 的实现( c o m 库) 。c o m 核心规定了组件对象与客户通过二进制接口标准进行交 互的原则,结构化存储定义了复合文档的存储格式以及创建文档的接口,统一 数据传输约定了组件之间数据交换的标准接口,智能命名给予对象一个系统可 识别的唯一标识。统一数据传输建立在结构化存储的基础上,包括两方面的内 容;首先是数据格式的统一,其次是传输协议的建立。组件对象模型c o m 内容 复杂,主要包括: 接口:c o m 用接口的概念对组件的功能属性进行完全的封装,与组件的通 信必须通过接口进行。接口不仅是一个逻辑上的概念,而且也存在着与之相对 应的物理内存结构( v t a b l e ) 。一个对象可以对应多个接口,一个接口也可以由 多个对象所实现。c o m 对象间互相调用的一组语义相关的接口,每个接口有一 个1 2 8 位的唯一标识( u u i d ) 。所有的接口皆直接或间接地从i u n k n o w n 接口继 承而来,i u n k n o w n 接口包括q u e r y i n t e r f a c e 、a d d r e f 和r e l e a s e 。 c o m 对象:即c o c l a s s 实例,提供接口的具体服务。c o c l a s s 是一个或多个 c o m 接口的实现,对c o m 对象的调用是通过一个指向其接口的指针实现的。 c o m 服务器:是一个程序或类库,包含c o m 对象,向客户提供服务。 类工厂( c l a s s f a c t o r y ) ;用于创建、注册c o m 对象的特殊对象,为实例化 c o c l a s s 提供种标准机制。对c o c l a s s 进行实例化是通过调用全局 w i n d o w s a p i 函数c o g e t c l a s s o b j e c t 或c o c r e a t e i n t a n c e 实现的。 类型库( t y p e l i b r a r y ) :一个二进制资源文件,包含c o m 服务器中对象与接 口的类型信息,可以从m i d l 或o d l 转换而来。 9 a u t o m a t i o n 服务器扩展:a u t o m a t i o n 代表一个应用程序控制另一个应用程 序中对象的能力。a u t o m a t i o n 服务器是指实现i d i s p a t c h 接口的对象,i d i s p a t c h 在i u n k n o w n 的基础上增加了g e t i d s o f n a m e s 、g e t t y p e l n f o 、g c t t y p e l n f o c o u n t 以及i n v o k e 接口。 在c o m 系统中,客户对组件对象功能的调用接口一般采用c o m i d l 来描述。 c o m 定义了两类服务器,进程内服务器( i n p r o e e s s ) 和进程外服务器 ( 0 u t o f p r o c e s s ) 。进程内服务器即本地机上的d l l ,进程外服务器分为两类, 一是本地机上的e x e 可执行程序,二是远程机上的d l l 或e x e 程序。服务器内 部包括组件接口的实现体( i n t e r f a c e i m p l e m e n t ) 和类工厂( c l a s s f a c t o r y ) ,类 工厂生产组件对象,将对象的接口指针返回给客户。基于c o i l 的系统调用原理 如图2 - 2 所示。 户 进 程 一 客 户 应 用 匡圈 进程内服务器 本地 对象代理 c o m 酬印 l服务器 酬鬻 图2 2c o m 系统调用原理 c o m 规范是一套为组件架构设置标准的文档形式的规范,它是一个说明如 何建立可动态互变组件的规范,定义了一些为保证能互操作,客户组件必须遵 循的标准。c o m 的发布形式是以w i n 3 2 动态链接库( d l l ) 或者可执行文件( e x e ) 的形式发布。 2d c o m 技术 d c o m “”是微软与其它业界厂商合作提出的一种分布组件对象模型,它是 c o m 在分布计算方面的自然延续,为分布在网络不同节点的两个c o m 组件提供 了互操作的基础结构。d c o m 增强了c o m 的分布处理性能,支持多种通信协议, 也加强了组件通信的安全保障。从系统内部的实现机制而言,d c o m 所采用的技 术仍符合图2 一l 所示的c o m 模式。 d c o m 是组件技术c o m 的无缝扩展,可以将基于c o m 的应用、组件,工具以 及知识转移到标准化的分布式计算领域中来。这样在做分布式计算时,由d c o m 处理网络协议的低层次的细节问题,从而使程序员能够集中精力解决用户所要 求的问题。图2 3 为d c o m 组件通信模型。 1 0 臣,叫亘固匝叵蓝k 圊 图2 - 3d c o m 组件通信模型 3c o m + 技术“。”1 ( 1 ) c o m + 基本结构 w i n d o w sd n a ( d i s t r i b u t e di n t e r n e ta p p l i c a t i o na r c h i t e c t u r e ) 是m i c r o s o f t 多年积累下来的技术精华集合起来而形成一个完整的、多层结构的企业应用总 体方案,它使w i n d o w s 真正成为企业应用平台。c o m + 是d n a 结构的核心,它将 成为企业应用或者分布式应用的基本工具。 c o m + 是c o m 的新发展,是c o m 更高层次上的应用。c o m + 的底层结构仍然以 c o m 为基础,它几乎包容了c o m 的所有内容。通常认为,c o m + 是c o m 、d c o m 和 m t s ( m i c r o s o f tt r a n s a c t i o ns e r v e r ) 的集成,c o m + 综合了这些技术要素。同 时,c o m + 倡导了一种新的概念,它把c o m 组件软件提升到应用层而不再是底层 的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上, 把所有组件的底层细节留给操作系统。c o m + 技术的一个核心理念就是操作体统 本身提供完成许多面向企业开发者的通用基本模块( 如线程、事务服务管理、 事件服务管理等) ,让系统设计人员把精力集中在企业本身的业务逻辑上。从 图2 4 中可以看出c o m + 与婀s 、c o m d c o m 的关系: 负载均衡 内在数据库 事件模型 对象库 队列组件 组件管理 目录信息 c o m + m t s 事务支持 资源分配管理 安全模型 方便管理 c o t w d c o m 基于接口的编程 对远程的支持 基本的组件的服务 分布式组件服务 图2 -

温馨提示

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

评论

0/150

提交评论