Arquitetura CORBA

CORBA (Common Object Request Broker Architecture) é um padrão definido pelo consórcio OMG (Object Management Group) que define uma arquitetura de objetos, com uma linguagem para descrição de interfaces com mapeamentos padronizados para diversas linguagens e um conjunto de serviços básicos.

Como o padrão CORBA visa atender a diversas linguagens de programação, sua especificação é ampla e relativamente complexa. De forma extremamente simplificada, os componentes básicos dessa arquitetura são:

IDL é a Interface Description Language, uma linguagem que permite especificar interfaces de forma independente da linguagem de programação na qual a especificação é implementada. CORBA determina uma série de mapeamentos padronizados entre IDL e outras linguagens, tais como C, C++, COBOL e Java.

ORB é o Object Request Broker, o núcleo da arquitetura CORBA. É um programa que deve estar executando em cada máquina envolvida em uma aplicação CORBA, sendo o responsável pela conexão entre clientes e serviços através dos correspondentes stubs e skeletons.

O Serviço de Nomes de CORBA define uma estrutura para associar nomes a objetos remotos definidos na arquitetura. A estrutura definida é uma hierarquia (ou árvore), onde cada ramo define um contexto distinto e cujas folhas são os nomes dos serviços disponibilizados. Assim, a referência completa para o nome de um serviço é dada pelo contexto (os nomes dos nós intermediários) e pelo nome do serviço.

O protocolo de comunicação de CORBA especifica o padrão para que as requisições de objetos transmitidas entre ORBs, independentemente de como ou em qual linguagem esses ORBs foram implementados, possam ser reconhecidas. O protocolo de comunicação CORBA mais comum é o IIOP, o Internet Inter-ORB Protocol, em função da disseminação da Internet, mas outros protocolos podem ser obtidos para outras plataformas.