Your SlideShare is downloading. ×
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Sistemas Distribuídos - Comunicação Distribuída – CORBA

2,472
views

Published on

Published in: Technology, Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,472
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
157
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Comunicação Distribuída – CORBA Prof. Adriano Teixeira de Souza
  • 2.  Estratégias diferentes que permitem a comunicação entre aplicações distribuídas. Tipos distintos de comunicação em um sistema distribuído: ◦ Sockets ◦ RPC – Remote Procedure Call ◦ RMI - Remote Method Invocation ◦ CORBA – Commom Object Request Broker Architecture ◦ EJB – Enterprise Java Bean ◦ Web Services Prof. Adriano Teixeira de Souza
  • 3.  Motivação: ◦ Socket  Desenvolvimento lento ◦ RPC  Procedural  Dependente de linguagem ◦ RMI  O.O  Dependente de Linguagem ◦ Suporte a diversas linguagens, possibilitando a comunicação entre módulos escritos em linguagens distintas Prof. Adriano Teixeira de Souza
  • 4.  Objetivo ◦ Tornar fácil a implementação de aplicações distribuídas ◦ Para sistemas Orientado a Objetos e procedurais ◦ Independentes de:  plataforma  sistema operacional  linguagem de programação  protocolo de comunicação ◦ Permitindo chamadas de procedimento remoto como se fossem locais Prof. Adriano Teixeira de Souza
  • 5.  História ◦ OMG  A arquitetura CORBA é desenvolvida pela OMG (Object Management Group). www.omg.org  A OMG foi fundada em 1989 por oito membros fundadores (3Com, American Airlines, Canon, Data General, HP, Philips, Sun e Unisys).  No ano 2000 tinha mais de 800 membros, incluindo IBM e Microsoft (apenas como observadora). Prof. Adriano Teixeira de Souza
  • 6.  CORBA - Common Object Request Broker Architecture, Especificação que permite aos objetos de sistemas distribuídos comunicarem-se entre si de forma transparente Componentes principais da OMA - Object Management Architecture ◦ Objetos da aplicação ◦ Facilidades CORBA ◦ Serviços de Objeto ◦ ORB Prof. Adriano Teixeira de Souza
  • 7.  Conceito de ORB (Object Request Broker) ◦ componente que auxilia o cliente a invocar um método em um objeto de forma transparente (transparência de acesso)  localização do objeto  ativação do objeto se necessário  comunicar ao objeto sobre a requisição do cliente Prof. Adriano Teixeira de Souza
  • 8.  Chamada através de um ORB Prof. Adriano Teixeira de Souza
  • 9.  Objetivo: possibilitar que clientes invoquem métodos a objetos remotos (objetos CORBA), e que ambos possam ser implementados em linguagens distintas A linguagem de implementação do cliente não precisa ser necessariamente orientada a objetos Funcionalidades ◦ invocações estáticas  interface remota do objeto CORBA é conhecida em tempo de compilação (utilização dos stubs e skeletons) ◦ invocações dinâmicas  interface remota do objeto CORBA não é conhecida em tempo de compilação Prof. Adriano Teixeira de Souza
  • 10.  Estrutura de um ORB Prof. Adriano Teixeira de Souza
  • 11.  Semântica de invocação ◦ semântica at-most-once (default) ◦ semântica OneWay  métodos sem resultados ou callbacks, o cliente não bloqueia na espera de uma resposta ◦ Semântica at-most-once  O cliente continua imediatamente e pode mais tarde bloquear-se à espera da resposta Objeto CORBA: objeto remoto ◦ implementa uma interface IDL ◦ possui uma referência de objeto remoto ◦ capaz de responder a invocações aos métodos de sua interface Prof. Adriano Teixeira de Souza
  • 12. client server implementation interface repository repository object skeleton adapter client proxy ORB Request ORB Servantprogram for A core core A Reply or dynamic invocation or dynamic skeleton Prof. Adriano Teixeira de Souza
  • 13.  Adaptador de objeto (Object Adapter) ◦ interliga os objetos CORBA e as classes do servidor ◦ cria as referências a objetos remotos para os objetos CORBA ◦ despacha cada RMI através de um skeleton para o servidor apropriado ◦ ativa objetos (se necessário) ◦ CORBA 2.2: POA (Portable Object Adapter)  permite que aplicações e servidores sejam executados em ORBs produzidos por desenvolvedores diferentes Prof. Adriano Teixeira de Souza
  • 14.  Skeleton (servidor) ◦ geradas na linguagem do servidor por um compilador IDL ◦ RMIs são despachadas através do skeleton apropriado a um servidor ◦ marshaling e unmarshaling Stubs/proxies (cliente) ◦ geradas na linguagem do cliente por um compilador IDL ◦ proxy (linguagens orientadas a objeto) ◦ stub (linguagens procedurais) ◦ marshaling e unmarshaling Prof. Adriano Teixeira de Souza
  • 15.  Repositório de implementação ◦ ativa por demanda os servidores registrados, e localiza os servidores em execução ◦ armazena tabela com o mapeamento dos nomes dos adaptadores de objetos para suas implementações ◦ na ativação de objeto remoto, o hostname e o número da porta no servidor são adicionados na tabela ◦ possibilita armazenar outras informações sobre os servidores (e.g. controle de acesso) ◦ permite replicação  aumento de disponibilidade e tolerância a falhas Prof. Adriano Teixeira de Souza
  • 16.  Repositório de interface ◦ provê informações sobre interfaces IDL registradas (e.g. métodos, argumentos, exceções) ◦ cliente sem proxy de objeto pode obter informações necessárias (métodos e argumentos) ◦ necessário para invocações dinâmicas ◦ nem todos os ORBs provêm um repositório de interfaces Prof. Adriano Teixeira de Souza
  • 17.  Interface de invocação dinâmica ◦ permite que clientes façam invocações dinâmicas a objetos CORBA desconhecidos ◦ cliente obtém informações necessárias sobre um objeto CORBA a partir do repositório de interfaces, e utiliza esta informação para construir uma invocação e enviá-la ao servidor Prof. Adriano Teixeira de Souza
  • 18.  Passo para uma Inovação Dinâmica 1. Identificar o objeto que queremos invocar (provavelmente através do Trader Service do CORBAservices); 2. Recuperar sua interface (buscá-la no Repositório de Interfaces); 3. Construir a invocação; 4. Invocar a requisição, e receber os resultados. Prof. Adriano Teixeira de Souza
  • 19.  Interface skeleton dinâmica ◦ permite um objeto CORBA aceitar invocações em uma interface sem skeleton  interface não era conhecida em tempo de compilação ◦ skeleton dinâmico  recebe a invocação  inspeciona o conteúdo da requisição para descobrir o objeto destino, o método para ser invocado e os argumentos  invoca o destino Prof. Adriano Teixeira de Souza
  • 20. Prof. Adriano Teixeira de Souza
  • 21.  Facilidades para definir módulos, interfaces, tipos, atributos e métodos sintaxe similar a C++ incluindo mais algumas palavras-chaves Módulos IDL ◦ permite agrupar interfaces e outros tipos IDL em unidades lógicas ◦ módulo define um nome de escopo (evita conflito entre nomes) Interfaces IDL ◦ descrevem os métodos e atributos que são disponíveis por objetos CORBA que implementam a interface Prof. Adriano Teixeira de Souza
  • 22.  Transparência de localização ◦ Tratamento igual para Função local Deficiências de projeto e processo Problemas com implementações Firewalls Prof. Adriano Teixeira de Souza