0% acharam este documento útil (0 voto)
3 visualizações29 páginas

Introdução ao CORBA e OMA

Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações29 páginas

Introdução ao CORBA e OMA

Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

CORBA

Commom Object Request Broker Architecture

Carlos Ferraz
cagf@[Link]
Tópicos

! O Modelo OMA

! A estrutura do ORB

! IDL

© 2003 Carlos A. G. Ferraz 2


Objetos Distribuídos (1/3)

! Características das aplicações atuais


" Complexas
" Multiliguagens

! Características dos ambientes atuais


" Distribuídos
" Heterogêneos

© 2003 Carlos A. G. Ferraz 3


Objetos Distribuídos (2/3)

! Particionar e distribuir dados e funções é uma


tarefa bastante difícil
" O Paradigma de Orientação a Objetos trata desse
problema

! Também é bastante difícil produzir aplicações


complexas em ambiente de rede
" Os Sistemas Distribuídos abstraem as características da
rede → transparências

© 2003 Carlos A. G. Ferraz 4


Objetos Distribuídos (3/3)

Orientação a Objetos + Sistemas Distribuídos


Objetos Distribuídos

© 2003 Carlos A. G. Ferraz 5


CORBA

! Common Object Request Broker Architecture


" Padrão para desenvolvimento de aplicações distribuídas
para sistemas heterogêneos usando orientação a objetos
! OMG: Object Management Group
([Link]
" Consórcio de empresas responsável pela proposição e
manutenção do padrão CORBA
" Criado em 1989

© 2003 Carlos A. G. Ferraz 6


CORBA

! Objetivos dos padrões OMG

" Permitir especificação de serviços separados da


implementação
# Interfaces de Objetos
# Implementação de Interfaces

" Projetar componentes que se descubram e interoperem


através de um “barramento” de objetos

© 2003 Carlos A. G. Ferraz 7


Separação de Conceitos

Interface do Serviço

Utilização do Serviço Implementação do Serviço

© 2003 Carlos A. G. Ferraz 8


O Modelo de Referência OMA
Object Management Architecture

© 2003 Carlos A. G. Ferraz 9


O Modelo de Referência OMA

! Visão do OMG de como deve ser a arquitetura


básica de um sistema distribuído

! Dois modelos:
" Modelo de Objetos
# Define conceitos tradicionais de orientação a objetos (objetos,
herança, interface etc)
" Modelo de Referência
# Relaciona serviços de um sistema distribuído passíveis de
serem padronizados e, posteriormente, implementados por
diferentes empresas

© 2003 Carlos A. G. Ferraz 10


O Modelo de Referência OMA

Objetos de Facilidades
Aplicação CORBA

Object Request Broker (ORB)

Serviços
CORBA

Object Management Architecture

© 2003 Carlos A. G. Ferraz 11


O Modelo de Referência OMA

! Serviços CORBA: serviços para manipulação de


objetos
" Exemplo: criação de objetos, serviço de nomes,
segurança, persistência, etc

! Objetos de Aplicação: serviços específicos de uma


determinada aplicação
" Não são objeto de padronização

© 2003 Carlos A. G. Ferraz 12


O Modelo de Referência OMA

! Facilidades CORBA: serviços para aplicações

" Facilidades Horizontais: Genéricas para diversas aplicações


# Exemplo: Interface de Usuário, Gerenciamento de Tarefas,
etc.

" Facilidades Verticais: Específicas de uma área de


conhecimento
# Exemplo: telecomunicações, financeira, indústria etc.

© 2003 Carlos A. G. Ferraz 13


ORB: Object Request Broker

! Conceito central da arquitetura OMA

! “Barramento lógico de software” que controla toda


a comunicação entre os componentes da
arquitetura
" Facilitador da comunicação entre objetos distribuídos

© 2003 Carlos A. G. Ferraz 14


ORB: Object Request Broker

! Objetivo:
" Transparência de localização
" Transparência de acesso
" Independência de sistema operacional e linguagem

! CORBA: padrão de ORB


" Não é um produto, e sim uma especificação

© 2003 Carlos A. G. Ferraz 15


ORB: Object Request Broker

Objeto
Cliente
(Servant)

ORB CORBA

© 2003 Carlos A. G. Ferraz 16


Anatomia de um ORB CORBA

© 2003 Carlos A. G. Ferraz 17


ORB CORBA

Objeto
Cliente
(Servant)

Interface de
Interface de Skeletons Esqueletos Adaptador
Invocação Stubs Interface Estáticos Dinâmicos de Objetos
Dinâmica Estáticos do ORB (DSI)
(DII)

Núcleo do ORB

Repositório
de Repositório de
Interfaces Implementações

© 2003 Carlos A. G. Ferraz 18


ORB CORBA

! Cliente
" Acesso a objetos e operações
" Transparência de implementação dos objetos acessados
! Objeto
" É uma instância de uma Interface IDL
" É definido por uma object reference
" Utiliza o conceito de ObjectId para associar um objeto com
suas implementações (servants)
! Servant
" Implementa as operações das interfaces IDL

© 2003 Carlos A. G. Ferraz 19


ORB CORBA

! Núcleo do ORB
" Representação básica de objetos e comunicação
" Lida com referências a objetos
" Implementação específica

! Interface do ORB
" Conjunto de operações para a manipulação de informações
do ORB

© 2003 Carlos A. G. Ferraz 20


ORB CORBA

! Lado Cliente
" Repositório de Interfaces
# Repositório de Descrições de Interfaces utilizado para a
realização de invocações dinâmicas
" Interface de Invocação Dinâmica (DII)
# Conjunto de operações utilizadas para a criação de invocações
dinâmicas
" Stubs Estáticos
# Stubs para invocações estáticas

© 2003 Carlos A. G. Ferraz 21


ORB CORBA

! Lado Servidor (Servant)


" Repositório de Implementações
# Armazenamento de meta-dados sobre implementações de
objetos
" Esqueletos Estáticos
# Stubs utilizados para invocações estáticas
" Interface de Esqueletos Dinâmicos (DSI)
# Conjunto de operações para a manipulação de invocaçoes
dinâmicas
" Adaptador de Objetos
# Módulo responsável pelo controle de execução dos servants

© 2003 Carlos A. G. Ferraz 22


Linguagem de Definição de Interfaces

IDL
IDL (Interface Definition Language)

! Principal componente do padrão CORBA

! A neutralidade de IDL define a heterogeneidade de


CORBA
! Linguagem para definir a interface de um objeto
remoto
" Especifica a assinatura (cabeçalho) das operações que
serão implementadas por um objeto remoto

© 2003 Carlos A. G. Ferraz 24


IDL (Interface Definition Language)

! Linguagem declarativa (sem código)


" Tipos pré-definidos: long, short, float, double, char,
boolean, enum;
" Tipos estruturados: struct, union, string, sequence;
" Tratamento de exceções (exception);
" Modos de passagem de parâmetros: in, out e inout;

! Idéia Básica: especificar serviços em uma


linguagem neutra

© 2003 Carlos A. G. Ferraz 25


IDL (Interface Definition Language)

! Exemplo:

typedef sequence<string> extrato;


struct Data {
short dia, mes, ano;
};
interface conta {
float obterSaldo ();
extrato obterExtrato (in Data inicio, in Data
fim);
.......
};

© 2003 Carlos A. G. Ferraz 26


IDL (Interface Definition Language)

! Compiladores de IDL geram automaticamente:


" stubs (clientes)
" esqueletos (servidores)
" Diversos outros objetos de suporte

! Independência de linguagem:
" Compiladores IDL implementam geração de código para C,
C++, Smalltalk, Ada, COBOL, Java, etc
" CORBA especifica como deve ser o mapeamento (binding)
de IDL para cada linguagem

© 2003 Carlos A. G. Ferraz 27


Implementações CORBA

! Produtos que implementam o padrão CORBA:


" Visibroker ([Link]

" Orbix ([Link]

" omniORB ([Link]

" Java IDL


([Link]

"…

© 2003 Carlos A. G. Ferraz 28


Projeto

! Proposta: 15 de janeiro de 2004

! Grupos: 3 – 5 pessoas

! Documento: 1 - 2 páginas

! [Link]

! Enviar proposta por e-mail para cagf@[Link]

© 2003 Carlos A. G. Ferraz 29

Você também pode gostar