Você está na página 1de 1

O OMG (Object Management Group) é um consórcio internacional que

direciona as padronizações na área da computação de objetos distribuídos. Um


dos padrões desenvolvidos pela OMG é o CORBA - Common Object Request
Broker Architecture. O núcleo da arquitetura CORBA é o ORB (Object Request
Broker) que atua como um barramento de objetos, estes objetos interagem
com outros objetos de forma transparente tanto localmente ou remotamente.
Um objeto CORBA é apresentado para o mundo exterior por uma interface com
um conjunto de métodos. Uma instância particular de um objeto é identificada
por uma referência a um objeto. Um cliente de um objeto CORBA obtém a
referência do objeto e utiliza para fazer as chamadas dos métodos, como se o
objeto estivesse localizado no mesmo endereço do cliente.
O ORB é responsável por todos os mecanismos requeridos para
encontrar a implementação do objeto, prepará-lo para receber as requisições,
comunicar as requisições recebidas, e transportar o retorno, caso houver, de
volta para o cliente. A implementação do objeto interage com o ORB através do
OA (Object Adapter) ou através da interface ORB.
No CORBA, as interfaces dos objetos são definidas pela OMG Interface
Definition Language. IDL não é uma linguagem de programação como C++ e
Java, assim os objetos e aplicações não podem ser implementados através da
IDL. O propósito da IDL é permitir que as interfaces do objeto sejam definidas
de maneira que sejam independentes de qualquer linguagem de programação.
Assim as aplicações podem ser implementadas em diferentes linguagens de
programação podendo interoperar (capacidade de dois ou mais sistemas
heterogêneos trabalhar em conjunto) entre si. A independência de linguagem
da IDL é uma meta crítica do CORBA para dar suporte a sistemas
heterogêneos e integrar aplicações que foram desenvolvidas separadamente.
OMG IDL suporta tipos simples, como tipos inteiros com sinal e sem sinal,
caracteres, boolean, strings, sequence, array, record, union, tipos enumerados,
estruturas, vetores (unidimensionais) e exceções. Estes tipos são usados para
definir os tipos de dados dos parâmetros e tipos de dados para operações com
retorno.
IDL (interface definition language) é a linguagem desenvolvida para definir
as interfaces. A partir de uma definição criada em IDL, o compilar IDL gera o
stub e o skeleton, sendo o primeiro utilizado para invocar os objetos remotos e
o segundo utilizado como esqueleto para a implementação do objeto.
Portanto, o objetivo do CORBA, é agir como se fosse um método,
podendo ser chamado em qualquer classe, mesmo sendo de linguagens
diferentes, e como é puramente objeto local, suas operações não podem ser
invocadas de forma remota.

Você também pode gostar