![Page 1: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/1.jpg)
CORBA e Desenvolvimento CORBA e Desenvolvimento Baseado em ComponentesBaseado em Componentes
Marcelo DaibertMarcelo Daibert
![Page 2: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/2.jpg)
AgendaAgenda
Definição Histórico Arquitetura
OMA - Object Management Arq. ORB - Object Request Broker IDL – Interface Definition Language CORBA – Common Object Request Broker Arq.
CCM – CORBA Component Model Conclusão Referências
![Page 3: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/3.jpg)
AgendaAgenda
Definição Histórico Arquitetura
OMA - Object Management Arq. ORB - Object Request Broker IDL – Interface Definition Language CORBA – Common Object Request Broker Arq.
CCM – CORBA Component Model Conclusão Referências
![Page 4: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/4.jpg)
DefiniçãoDefinição
CORBA = Common Object Request Broker Architecture.
Define uma especificação que permite aos objetos de sistemas distribuídos comunicar-se entre si de forma transparente.
Plataforma de Comunicação. Padrão aberto para computação de objetos
distribuídos.
![Page 5: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/5.jpg)
AgendaAgenda
Definição Histórico Arquitetura
OMA - Object Management Arq. ORB - Object Request Broker IDL – Interface Definition Language CORBA – Common Object Request Broker Arq.
CCM – CORBA Component Model Conclusão Referências
![Page 6: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/6.jpg)
HistóricoHistórico
1991: CORBA 1.1 => OMG + consórcio de mais de 800 companhias (IBM, Canon, DEC, Philips, Sun, Apple, e etc, assim como grandes usuários como Citicorp, British Telecom, American Airlines, e outros).
1994: CORBA 2.0 => Internet Inter-ORB Protocoll (IIOP), solução definitiva para a interoperabilidade entre objetos que não estão presos a uma plataforma ou padrão específico.
![Page 7: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/7.jpg)
AgendaAgenda
Definição Histórico Arquitetura
OMA - Object Management Arq. ORB - Object Request Broker IDL – Interface Definition Language CORBA – Common Object Request Broker Arq.
CCM – CORBA Component Model Conclusão Referências
![Page 8: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/8.jpg)
ORB – Barramento para Pedidos de Objetos
OMA - Object Management ArquitectureOMA - Object Management Arquitecture
Componentes Básico do Modelo OMA
ArquiteturaArquitetura
Interfaces de Aplicação
Interfaces de Domínio
Facilidades Comuns
Serviços de Objetos
![Page 9: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/9.jpg)
ORB – Barramento para Pedidos de Objetos
OMA - Object Management ArquitectureOMA - Object Management Arquitecture
Componentes Básico do Modelo OMA
ArquiteturaArquitetura
Interfaces de Aplicação
Interfaces de Domínio
Facilidades Comuns
Serviços de Objetos
ORB (Object Request Broker): Comercialmente conhecido como CORBA, o ORB é o coração da comunicação do padrão. Ele oferece uma infraestrutura que permite objetos conversarem, independente de plataformas específicas e técnicas usadas para implementar os objetos. O padrão do ORB garante portabilidade e interoperabilidade de objetos sobre uma rede de sistemas heterogêneos.
![Page 10: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/10.jpg)
ORB – Barramento para Pedidos de Objetos
OMA - Object Management ArquitectureOMA - Object Management Arquitecture
Componentes Básico do Modelo OMA
ArquiteturaArquitetura
Interfaces de Aplicação
Interfaces de Domínio
Facilidades Comuns
Serviços de Objetos
Serviços de Objetos (Objects Services): Estes componentes padronizam o gerenciamento do ciclo de vida dos objetos. São fornecidas interfaces para criar objetos, controlar o acesso a objetos, cuidar de objetos realocados e controlar o relacionamento entre estilos de objetos (gerenciamento de classes).
![Page 11: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/11.jpg)
ORB – Barramento para Pedidos de Objetos
OMA - Object Management ArquitectureOMA - Object Management Arquitecture
Componentes Básico do Modelo OMA
ArquiteturaArquitetura
Interfaces de Aplicação
Interfaces de Domínio
Facilidades Comuns
Serviços de Objetos
Facilidades Comuns (Common Facilities): fornecem um conjunto de funções de aplicação genéricas que podem ser configuradas para os requisitos específicos de uma configuração particular, como facilidade de impressão, gerenciamento de documentos, banco de dados, etc.
![Page 12: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/12.jpg)
ORB – Barramento para Pedidos de Objetos
OMA - Object Management ArquitectureOMA - Object Management Arquitecture
Componentes Básico do Modelo OMA
ArquiteturaArquitetura
Interfaces de Aplicação
Interfaces de Domínio
Facilidades Comuns
Serviços de Objetos
Interfaces de Domínio: fornecem funcionalidades de interesse direto de usuários finais em determinados domínios de aplicação
![Page 13: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/13.jpg)
ORB – Barramento para Pedidos de Objetos
OMA - Object Management ArquitectureOMA - Object Management Arquitecture
Componentes Básico do Modelo OMA
ArquiteturaArquitetura
Interfaces de Aplicação
Interfaces de Domínio
Facilidades Comuns
Serviços de Objetos
Interfaces de Aplicação: desenvolvidas especificamente para a aplicação
![Page 14: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/14.jpg)
ORB - Object Request BrokerORB - Object Request Broker
Abrange toda a infraestrutura de comunicação necessária para identificar e localizar objetos, tratar o gerenciamento de conexão e a entrega dos dados.
ArquiteturaArquitetura
ORB
ClienteImplementação do Objeto
Pedido do Cliente
![Page 15: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/15.jpg)
ORB - Object Request BrokerORB - Object Request Broker
Abrange toda a infraestrutura de comunicação necessária para identificar e localizar objetos, tratar o gerenciamento de conexão e a entrega dos dados.
ArquiteturaArquitetura
ORB
ClienteImplementação do Objeto
Pedido do Cliente
Funcionalidade básica fornecida pelo ORB consiste em passar os
pedidos dos clientes para as implementações dos objetos em
que eles são chamados
![Page 16: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/16.jpg)
ORB - Object Request BrokerORB - Object Request Broker
Para fazer o pedido o cliente pode-se comunicar com o núcleo ORB através de stubs IDL ou pela Interface de Invocação Dinâmica (DII). O núcleo ORB então transfere o pedido para a implementação do objeto, que recebe o pedido como uma chamada através de um esqueleto IDL ou de um esqueleto dinâmico.
ArquiteturaArquitetura
ORB
ClienteImplementação do Objeto
Pedido do Cliente
Stubs IDL
DII
Esqueleto IDL ou Dinâmico
![Page 17: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/17.jpg)
ORB - Object Request BrokerORB - Object Request Broker
Para fazer o pedido o cliente pode-se comunicar com o núcleo ORB através de stubs IDL ou pela Interface de Invocação Dinâmica (DII). O núcleo ORB então transfere o pedido para a implementação do objeto, que recebe o pedido como uma chamada através de um esqueleto IDL ou de um esqueleto dinâmico.
ArquiteturaArquitetura
ORB
ClienteImplementação do Objeto
Pedido do Cliente
Stubs IDL
DII
Esqueleto IDL ou Dinâmico
Toda a Comunicação entre o cliente e a
implementação do objeto é feita através de
interfaces.
![Page 18: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/18.jpg)
IDL – Interface Definition LanguageIDL – Interface Definition Language
É uma linguagem puramente declarativa utilizada para descrever interfaces.
Permite que diferentes objetos, escritos em diferentes linguagens, possam interoperar através de redes e sistemas operacionais.
ArquiteturaArquitetura
![Page 19: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/19.jpg)
IDL – Interface Definition LanguageIDL – Interface Definition Language
module <identificador>{ <declaração de tipos>; <declaração de constantes>; <declaração de exceções>;
interface <identificador> [:herança] { <declaração de tipos>; <declaração de constantes>; <declaração de exceções>;
[<tipo_op>]<identificador>(parâmetro); [raises exceção][contexto]; } interface<identificador>[:herança]}
ArquiteturaArquitetura
Estrutura de um Arquivo IDLDefine um Contexto
Define uma Classe CORBA
Define um Método
![Page 20: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/20.jpg)
IDL – Interface Definition LanguageIDL – Interface Definition LanguageArquiteturaArquitetura
Aplicação de um Arquivo IDL
interface Employee { void promote (in char new_job_class); void dismiss (in DismissalCode reason, in string description); };
operação operação promotepromote
operação operação dismissdismiss
ClienteCliente
MétodoMétodoEmp_dismissEmp_dismiss
MétodoMétodoEmp_promotEmp_promot
ee
ImplementaçãImplementação Employeeo Employee
Referência Referência ao ao
empregado Xempregado X
ServidorServidor
![Page 21: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/21.jpg)
CORBACORBAArquiteturaArquitetura
Modelo CORBA
![Page 22: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/22.jpg)
CORBACORBAArquiteturaArquitetura
Modelo CORBA
Define os objetos de acordo com suas operações e seus parâmetros.
Define os objetos de acordo com suas operações e seus parâmetros.
![Page 23: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/23.jpg)
CORBACORBAArquiteturaArquitetura
Modelo CORBA
Permite a invocação aos seus serviços em tempo de execução.
Permite a invocação aos seus serviços em tempo de execução.
![Page 24: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/24.jpg)
CORBACORBAArquiteturaArquitetura
Modelo CORBA
Permite a implementação do objeto acessar serviços diretamente do ORB, tais como: Geração de referências a objetos, Invocação de métodos, Ativação e desativação de objetos, Registro das implementações, etc.
![Page 25: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/25.jpg)
CORBACORBAArquiteturaArquitetura
Modelo CORBA
Protocolos CORBA:
GIOP - General Inter-ORB Protocol – Padrão GERAL.GIOP - General Inter-ORB Protocol – Padrão GERAL.IIOP - Internet Inter-ORB Protocol - mais popular IIOP - Internet Inter-ORB Protocol - mais popular (transportado sobre TCP/IP).(transportado sobre TCP/IP).
![Page 26: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/26.jpg)
AgendaAgenda
Definição Histórico Arquitetura
OMA - Object Management Arq. ORB - Object Request Broker IDL – Interface Definition Language CORBA – Common Object Request Broker Arq.
CCM – CORBA Component Model Conclusão Referências
![Page 27: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/27.jpg)
CCM – CORBA Component ModelCCM – CORBA Component Model
Surge com a finalidade de suprir as limitações do modelo de objetos CORBA 2.x:
Não existência de padrão de desenvolvimento e empacotamento de objetos;
Falta de suporte para o uso de subconjuntos de funcionalidades comuns;
Falta de um mecanismo, além da herança, para estender funcionalidades de objetos CORBA e falta de definição de serviços obrigatórios.
Também baseado em Interfaces, mas em interfaces de componentes. As interfaces são definidas por CIDL (Component Interface Definition Language).
![Page 28: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/28.jpg)
CCM – CORBA Component ModelCCM – CORBA Component Model
O CORBA é um modelo subjacente ao CCM. Os Componentes executam em um servidor de
componentes e ficam disponíveis para atender às requisições dos clientes pelo ORB.
CORBA
CCM
![Page 29: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/29.jpg)
CCM – CORBA Component ModelCCM – CORBA Component Model
O CCM possui dois níveis de componentes: Componentes Básicos: Provê um mecanismo
simples para componentizar um objeto CORBA. Componentes Estendidos: Provê um mecanismo
com mais recursos para componentizar um objeto CORBA.
Um componente estendido que suporta uma grande quantidade de características de superfície é denominado mecanismo de porta.
![Page 30: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/30.jpg)
CCM – CORBA Component ModelCCM – CORBA Component Model
Componentes Estendidos: Facet: Serviços Oferecidos. Receptacles: Serviços Requisitados. Event Sources: Emissores de Evento. Event Sinks: Receptores de Evento. Atributos
Componentes Básicos Possuem somente atributos.
Component HOME: Gerenciamento do Componente.
![Page 31: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/31.jpg)
CCM – CORBA Component ModelCCM – CORBA Component Model
Comunicação entre componentes utilizando suas portas
![Page 32: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/32.jpg)
AgendaAgenda
Definição Histórico Arquitetura
OMA - Object Management Arq. ORB - Object Request Broker IDL – Interface Definition Language CORBA – Common Object Request Broker Arq.
CCM – CORBA Component Model Conclusão Referências
![Page 33: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/33.jpg)
ConclusãoConclusão
Para que os componentes possam se comunicar via CORBA, os mesmo devem seguir um padrão de interfaces e estender os componentes CORBA.
A estrutura do modelo CORBA é muito rígida, o que dificulta a implementação de aplicações com este modelo.
![Page 34: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/34.jpg)
AgendaAgenda
Definição Histórico Arquitetura
OMA - Object Management Arq. ORB - Object Request Broker IDL – Interface Definition Language CORBA – Common Object Request Broker Arq.
CCM – CORBA Component Model Conclusão Referências
![Page 35: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert](https://reader036.vdocuments.us/reader036/viewer/2022081518/552fc153497959413d8e3bb8/html5/thumbnails/35.jpg)
ReferênciasReferências
http://www.gta.ufrj.br/~renata/corba/ http://www.linhadecodigo.com.br/artigos.asp?
id_ac=299&sub=0 http://www.inf.ufrgs.br/procpar/disc/dsitec08/tr
abalhos/sem2000-1/cb_svd/