第五课 基于 CORBA技术的程序设计方法
第五课 基于CORBA技术的程序设计方法
本章主要研究内容 CORBA基本概念 ■ CORBA基本模型 ■开发工具及程序设计方法
本章主要研究内容 ◼ CORBA基本概念 ◼ CORBA基本模型 ◼ 开发工具及程序设计方法
基本概念一 CORBA的基本定义 随着计算机体系结构的发展,产生了分布式系统 和面向对象程序设计理论,促进了计算机网络技术和 数据通信技术的发展。 CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)是一种 标准的面向对象应用程序体系规范:是OMG为解决分布 式处理环境(DCE)中,硬件和软件系统的互连而提出的 种解决方案。 CORBA的核心是一套标准的语言、接口和协议,以 支持异构分布应用程序间的互操作性及独立于平台和 编程语言的对象重用。 CORBA具有与操作系统的独立性和编程语言的独立 性,是目前实现分布式系统和面向对象程序设计的最 新技术和思想之一,是实现异构系统联网的最先进的 方法
基本概念-CORBA的基本定义 ◼ 随着计算机体系结构的发展,产生了分布式系统 和面向对象程序设计理论,促进了计算机网络技术和 数据通信技术的发展。 ◼ CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)是一种 标准的面向对象应用程序体系规范,是OMG为解决分布 式处理环境(DCE)中,硬件和软件系统的互连而提出的 一种解决方案。 ◼ CORBA的核心是一套标准的语言、接口和协议,以 支持异构分布应用程序间的互操作性及独立于平台和 编程语言的对象重用。 ◼ CORBA具有与操作系统的独立性和编程语言的独立 性,是目前实现分布式系统和面向对象程序设计的最 新技术和思想之一,是实现异构系统联网的最先进的 方法
基本概念一 CORBA的发展历史 ℃ORBA最初是0MG在1990年11月出版的《对象管理体系指南》中定义 的。在这过去的14年中, CORBA的发展经历如下: 1991年10月,OG推出了 CORBA1.0版,其中定义了接口定义语言 (IDL)、对象管理模型以及基于动态请求的API和接口仓库等内容; 1991年12月,OMG推出了 CORBA1.1版,在澄清了1.0版中存在的二义 性的基础上,引入了对象适配器的概念 1996年8月,OMG基于以前的升级版本,完成了2.0版的开发,该版 本中重要的内容是对象请求代理间协议(ITOP, Internet inter ORB Protocol)的引入,用以实现不同厂商的ORB真正意义上的互 通 1998年9月,OMG发表了 CORBA2.3版,增加了支持 CORBA对象的异步 实时传输、服务质量规范等内容;
基本概念-CORBA的发展历史 ◼ CORBA最初是OMG在1990年11月出版的《对象管理体系指南》中定义 的。在这过去的14年中,CORBA的发展经历如下: ◼ 1991年10月,OMG推出了CORBA1.0版,其中定义了接口定义语言 (IDL)、对象管理模型以及基于动态请求的API和接口仓库等内容; ◼ 1991年12月,OMG推出了CORBA1.1版,在澄清了1.0版中存在的二义 性的基础上,引入了对象适配器的概念; ◼ 1996年8月,OMG基于以前的升级版本,完成了2.0版的开发,该版 本中重要的内容是对象请求代理间协议(IIOP,Internet InterORB Protocol)的引入,用以实现不同厂商的ORB真正意义上的互 通; ◼ 1998年9月,OMG发表了CORBA2.3版,增加了支持CORBA对象的异步 实时传输、服务质量规范等内容;
基本概念一 CORBA的发展历史 2001年9月,OMG发布最新的 CORBA2.5标准,在这个版本中,加入 了一些新的内容,包括: CORBA容错( Fault Tolerant corba) 实时 CORBA(Rea1- Time CORBA),并修改了部分CO0RBA Messaging和 Portable Interceptors的内容; 2002年8月,OMG发表了 CORBA3.0版, CORBA3的这些规范增强了 CORBA性能和可用性,但是在 CORBA3.0规范中去掉了 Minicorba和 实时 CORBA。从这些规范中可以很清晰的分为三大类:Java和 Internet的集成;服务质量(Qos)控制; CORBA组件体系。 目前相关的 CORBA产品比较有名的如下:ION公司的0rbix; Inprise公司的 VisiBroker; Digital公司的 Component broker; IBM公司的 Component broker; Sun microsystems公司的NEO JOE; Sun Soft公司的DOE;东南大学开发研制的ORBU等
基本概念-CORBA的发展历史 ◼ 2001年9月,OMG发布最新的CORBA2.5标准,在这个版本中,加入 了一些新的内容,包括:CORBA容错(Fault Tolerant CORBA), 实时CORBA(Real-Time CORBA),并修改了部分CORBA Messaging和Portable Interceptors的内容; ◼ 2002年8月,OMG发表了CORBA3.0版,CORBA3的这些规范增强了 CORBA性能和可用性,但是在CORBA3.0规范中去掉了MiniCORBA和 实时CORBA。从这些规范中可以很清晰的分为三大类:Java和 Internet的集成;服务质量(Qos)控制;CORBA组件体系。 ◼ 目前相关的CORBA产品比较有名的如下:IONA公司的Orbix; Inprise公司的VisiBroker;Digital公司的Component Broker; IBM公司的Component Broker;Sun Microsystems公司的NEO、 JOE;SunSoft公司的DOE;东南大学开发研制的ORBUS等
基本概念一 CORBA的技术基础 CORBA是一种编程方法,更是吸收了程序设计中的面向对象技 术、分布式计算技术、多层体系结构技术、多线程技术以及接口 技术的一种综合技术。 CORBA采用了面向对象技术, CORBA2.0是完全基于面向对象技术 的。目前, CORBA3.0则是基于 Component(组件)的方向发展。 Component可以认为是更高级别上的“类”。它可以在不同语言 中实现。实际上, Component是经过包装处理的一组类。 CORBA采用了分布式计算模型,事实上, CORBA、 COM DCOM都采 用了分布式计算模型(资源、功能、任务、控制等都分布的系 统) ■ CORBA采用了多层体系结构
基本概念-CORBA的技术基础 ◼ CORBA是一种编程方法,更是吸收了程序设计中的面向对象技 术、分布式计算技术、多层体系结构技术、多线程技术以及接口 技术的一种综合技术。 ◼ CORBA采用了面向对象技术,CORBA2.0是完全基于面向对象技术 的。目前,CORBA3.0则是基于Component(组件)的方向发展。 Component可以认为是更高级别上的“类”。它可以在不同语言 中实现。实际上,Component是经过包装处理的一组类。 ◼ CORBA采用了分布式计算模型,事实上,CORBA、COM/DCOM都采 用了分布式计算模型(资源、功能、任务、控制等都分布的系 统)。 ◼ CORBA采用了多层体系结构。 ◼
基本概念一多层体系结构 WEB 事务处理 HM及FFUs Http HL文件 Internet CGI 服务器 消息服务 工作流 TCP/IP 对象 ISAPI 服务器 数据库系统 NSAPI 应用程序包 Java及图形界面 Java Applets CoRBA ORB 客户层 资源层 中间层
基本概念-多层体系结构
基本概念一多层体系结构 CORBA本身是位于中间层的中间件( Middleware), CORBA关 心的是对象的互操作,因此在资源层依旧包含有数据的操作。 CORBA是OMG公司联盟的产品,各种服务只能由不同的公司提 供,因此在体系结构的第二层更关心的是兼容性,互通性 CORBA采用了接口技术,接口技术主要用于解决两个问题 (1)如何提供一种清晰的设计标准,使得软件开发在总体 设计、详细设计、具体编码阶段以及维护阶段都能够保持各 自的独立性与一致性。(2)如何提供一种包装方式,使得 软件开发可以在不同程序语言中实现。 采用接口技术以后,无论采用哪种编程语言,操作都可以被 成功的激发、调用。 Component就可以被看作是用接口包装 的、跨语言的“类
基本概念-多层体系结构 ◼ CORBA本身是位于中间层的中间件(Middleware),CORBA关 心的是对象的互操作,因此在资源层依旧包含有数据的操作。 CORBA是OMG公司联盟的产品,各种服务只能由不同的公司提 供,因此在体系结构的第二层更关心的是兼容性,互通性。 ◼ CORBA采用了接口技术,接口技术主要用于解决两个问题 ◼ (1)如何提供一种清晰的设计标准,使得软件开发在总体 设计、详细设计、具体编码阶段以及维护阶段都能够保持各 自的独立性与一致性。(2)如何提供一种包装方式,使得 软件开发可以在不同程序语言中实现。 ◼ 采用接口技术以后,无论采用哪种编程语言,操作都可以被 成功的激发、调用。Component就可以被看作是用接口包装 的、跨语言的“类”
基本概念一分布式计算 上世纪80年代以来,分布式计算的需求 越来越大。分布式计算的特点是 分布的应用程序-运行在组成一个网络的 机器上的应用程序。 将原始代码集成进新的系统 ·使用不同语言来写新的组件或对原始代码进 行封装
基本概念-分布式计算 ◼ 上世纪80年代以来,分布式计算的需求 越来越大。分布式计算的特点是: • 分布的应用程序 -- 运行在组成一个网络的 机器上的应用程序。 • 将原始代码集成进新的系统。 • 使用不同语言来写新的组件或对原始代码进 行封装
基本概念一分布式计算 在 CORBA没有出现之前的分布式计算解决方案: 采用 Remote procedure ca1ls(RPCs)远程过程调用 使得应用程序的函数可以由一台机器上的 client调用, 而由另一台机器上的 server执行。 封装性不好 其它的问题,如:请求的排队处理,事件通知、事务管 理 CORBA出现之后的分布式计算解决方案: CORBA-RPC和面向对象概念的集合体,即: CORBA=RPC+面向对象概念
◼ 在CORBA没有出现之前的分布式计算解决方案: ◼ 采用Remote procedure calls (RPCs) 远程过程调用 • 使得应用程序的函数可以由一台机器上的client调用, 而由另一台机器上的server执行。 • 封装性不好 • 其它的问题,如:请求的排队处理,事件通知、事务管 理... ◼ CORBA出现之后的分布式计算解决方案: ◼ CORBA -- RPC和面向对象概念的集合体,即: ◼ CORBA = RPC + 面向对象概念, ◼基本概念-分布式计算