Gerência - Arquitetura

O modelo de arquitetura CORBA

Na primeira parte será explicado o conceito do CORBA e um pouco da arquitetura modelo de referência, os componentes básicos dessa estrutura. Em seguida será abordado o funcionamento do CORBA. Por último, a conclusão...

por Andréa Cerqueira



Resumo

A exigência de se ter objetos em ambientes distribuídos, heterogêneos e que ainda possuam características de portabilidade, reusabilidade, interoperabilidade vem crescendo muito. Isso se deve ao surgimento de novas tecnologias, como por exemplo: redes de comunicação de alta velocidade e estações de trabalho com grande poder de processamento. Com base em pesquisa bibliográfica, este artigo tem por objetivo apresentar o padrão Common Object Request Broker Architecture (CORBA), que descreve uma interface com mapeamento padronizado para diversas linguagens e um conjunto de serviços básicos.

1. INTRODUÇÃO

Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade de hardware, sistemas operacionais, linguagens de programação, protolocos de comunicação, arquiteturas de computadores e diferentes formas de se representar dados.[1]

Para resolver esses problemas, percebeu-se a necessidade de se ter transparência de localização de recursos computacionais, suporte universal de representação de dados, interoperabilidade entre componentes de uma aplicação distribuída, reutilização de componentes, integração de código.[2]

O modelo de arquitetura CORBA propõe a interoperabilidade local e/ou remota entre aplicações que têm como base a tecnologia orientada a objetos. Com isso, é possível permitir que objetos de sistemas distribuídos comuniquem-se de forma transparente, independentemente do local onde se encontram, do protocolo que utilizam, da linguagem em que foram implementados, da plataforma e do sistema operacional em que estão rodando [2,3,4,5].

Por meio de uma pesquisa bibliográfica, busca-se conhecer a arquitetura de requisição comum a objetos (CORBA), capaz de integrar soluções de software independentemente de qualquer tipo de heterogeneidade.

Na primeira parte será explicado o conceito do CORBA e um pouco da arquitetura modelo de referência, os componentes básicos dessa estrutura. Em seguida será abordado o funcionamento do CORBA. Por último, a conclusão.

2. CONCEITO CORBA

Common Object Request Broker Architecture (CORBA). Trata-se de um padrão proposto pela Object Manager Group (OMG), uma organização internacional da indústria de software que estabeleceu uma estrutura comum para o gerenciamento de objetos distribuídos, conhecida como Object Manager Architecture (OMA) [4,5,6].

Seus principais componentes são [5]:

  • Núcleo do CORBA o Object Request Broker (ORB) - manipulam as requisições dos objetos. Um intermediário entre o cliente e o servidor (objeto).
  • Serviços CORBA - definem serviços que ajudam a gerenciar e a manter objetos. Exemplo: serviço de nomes, eventos, ciclo de vida, tempo, persistência, etc.
  • Facilidades CORBA - definem facilidades e interfaces no nível de aplicação, manipulação de dados e armazenamento.
  • Objetos de aplicação - são os objetos que podem ser considerados visíveis ao nível de aplicação.

A figura abaixo ilustra o modelo que a OMG segue para a especificação do CORBA.

Arquitetura de modelo de referência da OMG

Figura1 Arquitetura de modelo de referência da OMG.

3. COMO É O FUNCIONAMENTO DO CORBA

Para cada sistema de rede o CORBA permite que seja definida uma Linguagem de Definição de Interface (IDL). Essas interfaces descrevem os serviços que são oferecidos. Trata-se de uma linguagem puramente declarativa, que ao ser compilada irá gerar o stubs e o skeletons (responsável pela comunicação entre objetos) [7]. Desta forma, a aplicação cliente pode acessar facilmente todos os serviços oferecidos.

Além disso, o CORBA inclui uma estrutura de execução, fornecendo diversas funcionalidades básicas importantes como localização e ativação automática de serviços, comunicação, controle de transações e segurança [7].

Em linhas gerais, a arquitetura CORBA é composta pelos seguintes componentes [5,8]:

Do lado do cliente, temos os seguintes itens:

  • Stubs Clientes - trata-se de uma interface estática gerada através da compilação de uma IDL. Compõe uma mensagem que contém uma identificação e protótipos dos métodos invocados a um servidor.
  • Interface de Invocação Dinâmica (DII) - permite que o cliente invoque um método no servidor sem que tenha conhecimento, em tempo de compilação, de sua interface.
  • Repositório de Interfaces - contém uma base de dados com a definição de todas as interfaces de serviços conhecidos pelo ORB.

Do lado do objeto CORBA servidor, temos os seguintes itens:

  • Skeletons - interface estática para os serviços (métodos) remotos. É responsável por receber as requisições do cliente e repassá-las para o servidor.
  • Interface de Skeletons Dinâmica (DSI) - é semelhante ao DII, porém ocorre no lado do servidor. Fornece um mecanismo que permite, em tempo de execução, que servidores entreguem requisições de um ORB para uma implementação de objeto sem que tenha conhecimento, em tempo de compilação, de sua interface;
  • Repositório de Implementação - é um repositório, em tempo de execução, para as classes que um servidor suporta, os objetos instanciados e suas identificações;
  • Adaptador de Objetos (OA) - responsável por: registrar as classes servidoras no repositório de implementação; instanciar os objetos chamados em tempo de execução, de acordo com a demanda dos clientes; receber as chamadas para os objetos e repassá-las aos mesmos; gerar e gerenciar as referências de objetos (ORB).
  • Interface ORB - permite o acesso às funcionalidades não oferecidas pelas demais interfaces, pois não depende da interface do objeto ou do adaptador do objeto.

4. CONCLUSÃO

A integração de aplicações sem a presença de uma infra-estrutura distribuída e eficiente não é simples e clara. Imaginar que a cada necessidade de se ter uma extensão de um sistema seria necessário desenvolver uma solução totalmente nova é algo extremamente custoso, que gera um novo trabalho.

A utilização da computação de objetos distribuídos e a arquitetura CORBA permitem maximizar a flexibilidade de um sistema, reusabilidade, portabilidade, escalabilidade, consistência, usabilidade, interoperabilidade, acarretando ganho de tempo, esforço e, principalmente, economia de dinheiro.

Hoje o CORBA vem se disseminando muito, principalmente em segmentos como: saúde, transportes, telecomunicações, etc. E a tendência é que continue sendo a base de uma arquitetura para a pavimentação de grandes integrações de sistemas.

5. REFERÊNCIAS BIBLIOGRÁFICAS

  1. C. MONTEZ. Um Modelo de Programação para Aplicações de Tempo Real em Sistemas Abertos. Disponível em: . Data de acesso: 28/02/2003
  2. VARGAS, Patrícia Kayser. CORBA: Visão Geral e Aspectos Relacionados à Replicação e Persistência. Disponível em: . Data de acesso: 28/02/2003
  3. DATASUS PESQUISAS. FAQ - As dúvidas mais freqüentes sobre a arquitetura CORBA. Disponível em: . Data de acesso: 28/02/2003
  4. SUCESU. Grupo de Usuários CORBA. Disponível em: Data de acesso: 28/02/2003
  5. OBJECT MANAGER GROUP. Especificações do padrão CORBA. Disponível em: . Data de acesso: 28/02/2003
  6. RAVAGNANI, Wanderley Júnior. Arquitetura CORBA. Disponível em: . Data de acesso: 28/02/2003
  7. ALOISE, Felipe André. Objetos Distribuídos. CORBA: Uma Evolução do Modelo cliente/servidor. Disponível em: . Data de acesso: 28/02/2003.
  8. TEIXEIRA,Renata Cruz. A arquitetura de interfaces. Disponível em: http://www.gta.ufrj.br/~renata/corba/arquit.htm. Data de acesso: 11/03/2002
Read more: http://www.linhadecodigo.com.br/artigo/299/o-modelo-de-arquitetura-corba.aspx#ixzz23wPYBSRp
Andréa Cerqueira

Andréa Cerqueira - Estudante de Ciência da Computação da Faculdade Ruy Barbosa. E que tem interesse e conhecimento na área de BI, Banco de Dados e desenvolvimento de sistemas utilizando a tecnologia J2EE e .NET.