CORBA, RMI e DCOM: Tecnologias de Objetos Distribuídos

Classificado em Computação

Escrito em em português com um tamanho de 2,42 KB

CORBA (Common Object Request Broker Architecture)

Desenvolvido em 1990, o CORBA (Common Object Request Broker Architecture) habilita invocações de métodos em objetos distribuídos residentes em qualquer local de uma rede, como se fossem objetos locais.

Os serviços CORBA são descritos através de uma interface escrita em IDL (Interface Definition Language). Uma implementação de CORBA emprega os ORBs (Object Request Brokers), localizados tanto no cliente quanto no servidor, para criar e gerenciar comunicações cliente-servidor entre objetos.

RMI (Remote Method Invocation)

O Remote Method Invocation (RMI) foi projetado para suportar chamadas de métodos remotos entre máquinas virtuais Java (JVM).

Um objeto RMI é basicamente um objeto Java remoto cujos métodos podem ser chamados por outra JVM (que pode estar em qualquer ponto da rede). Os métodos do objeto remoto RMI podem ser chamados como se o objeto fosse local. Não há necessidade de usar uma IDL, como em CORBA, para definir a interface dos objetos remotos. A principal desvantagem é que o RMI é proprietário; ele não foi projetado para trabalhar com outros ORBs ou linguagens que não sejam Java.

Um registro (registry) é mantido para permitir aos clientes realizarem consultas para um determinado serviço.

DCOM (Distributed Component Object Model)

O Distributed Component Object Model (DCOM) é o modelo de objetos distribuídos proposto pela Microsoft e que utiliza a comunicação cliente-servidor. Um servidor DCOM é uma camada de código capaz de servir objetos de um tipo específico em tempo de execução.

Um cliente DCOM chama os métodos disponíveis de um servidor DCOM obtendo um ponteiro para uma de suas interfaces de objeto. O objeto cliente pode então iniciar a chamada dos métodos disponíveis no servidor, através do ponteiro para a interface, como se o objeto servidor residisse no espaço de endereçamento do cliente. O serviço fornecido por um servidor é encapsulado como um objeto, e a interface deste objeto é descrita através de uma IDL (Interface Definition Language), assim como no CORBA.

Apesar de CORBA e DCOM possuírem algumas semelhanças, como o fato de ambos utilizarem uma IDL para declaração de interface de objetos, CORBA é baseado em um modelo de objetos clássico, enquanto DCOM não. DCOM não suporta a especificação de herança múltipla em IDL.

Entradas relacionadas: