corba e desenvolvimento baseado em componentes marcelo daibert
TRANSCRIPT
CORBA e Desenvolvimento CORBA e Desenvolvimento Baseado em ComponentesBaseado em Componentes
Marcelo DaibertMarcelo Daibert
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
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
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.
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
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.
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
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 – 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.
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).
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.
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
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
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
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
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
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.
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
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
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
CORBACORBAArquiteturaArquitetura
Modelo CORBA
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.
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.
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.
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).
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
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).
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
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.
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.
CCM – CORBA Component ModelCCM – CORBA Component Model
Comunicação entre componentes utilizando suas portas
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
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.
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
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/
Obrigado!Obrigado!
Marcelo Daibert [email protected] http://daibert.net