对象管理组织(OMG)
促进在分布式系统开发中面向对象技术的理论与实践的发展。
负责制订并维护一套规范
OMG主要规范:- UML:Unified Modeling Language
- CORBA:Common Object Request Broker Architecture。
- MDA: Model Driven Architecture
OMA 对象管理体系结构
描述了面向对象技术在分布式处理中的运用。它包括两部分:对象模型(Object Model)和参考模型(Reference Model)。
对象模型定义如何描述分布式异质环境中的对象
参考模型描述对象之间的交互(组件,接口,协议)
OMA参考模型 - 对象请求代理
- 对象服务
- 公共设施
- 领域接口
- 应用接口
corba
orb:Object request broker
- 对象请求代理:通过智能代理的方式处理对象请求,ORB是OMA参考模型的核心
- 提供了最基本的通信枢纽设施(分布式对象之间透明的地发送请求或接收响应的基本机制),独立于实现对象的特定平台与技术。
- 是基于分布式对象构建应用程序的基础设施,保证了在异构平台上对象的互操作性与可移植性
ORB(Object Request Broker)是对象总线。
1 通过ORB,一个client可以透明的调用同一台机器上或网络上的一个server对象的方法。
2 ORB解释该调用并负责查找一个实现该请求的对象,
3 找到后,把参数传给该对象,调用它的方法,最后返回结果。
4 客户方不需要了解服务对象的位置、通信方式、实现、激活或存储机制。
CORBA体系结构
建立在OMG的对象模型基础之上,主要由三个关键部分组成:
- 作为分布式对象通信基础设施的对象请求代理ORB的体系结构 - 接口定义语言IDL的语法和语义以及到各种程序设计语言的映射 - 保证可互操作性的标准ORB间的通信协议GIOP/IIOP
由ORB提供的通信机制负责完成查找请求的对象实现,让对象实现准备好接收请求,传递构成请求的数据
ORB功能:把客户发出的请求传递给目标对象,并把目标对象的执行结果返回给发出请求的客户
CORBA支持两种用于动态调用的接口:
- 动态调用接口(DII)——支持客户方的动态请求调用。 - 动态框架接口(DSI)——支持服务方的动态对象调用。
ORB提供了两个用于存储有关对象信息的服务:接口仓库和实现仓库。
对象适配器POA服务:
- 对象引用的生成与解释 - 根据对象引用找到它对应的对象实现 - 方法调用 - 交互的安全性 - 对象的激活与终止 - 对象实现的注册
GIOP协议(General Inter-ORB Protocol):用于规定在ORB间通信的标准传输语义和消息格式集,可用任何传输协议实现
IIOP协议(Internet Inter-ORB Protocol):用于指明如何使用TCP/IP连接来交换GIOP消息,是一个用于Internet上的标准交互协议。
ESIOP(Environment-Specific Inter-ORB Protocols):可用于特定环境(DCE,DCOM,无线网络)的互操作性
1 GIOP协议只是一种抽象协议,独立于任何特定的网络协议,在实现时必须映射到具体的传输层协议或者特定的传输机制之上 。
2 GIOP协议到TCP/IP协议的映射又称为IIOP(Internet Inter-ORB Protocol)协议。