middleware2

对象管理组织(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)协议。