360 likes | 445 Views
CORBA e Desenvolvimento Baseado em Componentes. Marcelo Daibert. Agenda. 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
E N D
CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert
Agenda • 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
Agenda • 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çã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.
Agenda • 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ó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.
Agenda • 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
Arquitetura OMA - Object Management Arquitecture • Componentes Básico do Modelo OMA Interfaces de Aplicação Interfaces de Domínio Facilidades Comuns ORB – Barramento para Pedidos de Objetos Serviços de Objetos
Arquitetura OMA - Object Management Arquitecture • Componentes Básico do Modelo OMA 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. Interfaces de Aplicação Interfaces de Domínio Facilidades Comuns ORB – Barramento para Pedidos de Objetos Serviços de Objetos
Arquitetura OMA - Object Management Arquitecture • Componentes Básico do Modelo OMA Interfaces de Aplicação Interfaces de Domínio Facilidades Comuns 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 Serviços de Objetos
Arquitetura OMA - Object Management Arquitecture • Componentes Básico do Modelo OMA Interfaces de Aplicação Interfaces de Domínio Facilidades Comuns 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 Serviços de Objetos
Arquitetura OMA - Object Management Arquitecture • Componentes Básico do Modelo OMA Interfaces de Aplicação Interfaces de Domínio Facilidades Comuns 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 Serviços de Objetos
Arquitetura OMA - Object Management Arquitecture • Componentes Básico do Modelo OMA Interfaces de Aplicação Interfaces de Domínio Facilidades Comuns Interfaces de Aplicação: desenvolvidas especificamente para a aplicação ORB – Barramento para Pedidos de Objetos Serviços de Objetos
Arquitetura ORB - 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. Implementação do Objeto Cliente Pedido do Cliente ORB
Arquitetura ORB - Object Request Broker 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 • 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. Implementação do Objeto Cliente Pedido do Cliente ORB
Arquitetura ORB - 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. Implementação do Objeto Cliente Stubs IDL DII Esqueleto IDL ou Dinâmico Pedido do Cliente ORB
Arquitetura ORB - 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. Toda a Comunicação entre o cliente e a implementação do objeto é feita através de interfaces. Implementação do Objeto Cliente Stubs IDL DII Esqueleto IDL ou Dinâmico Pedido do Cliente ORB
Arquitetura IDL – 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.
Arquitetura IDL – 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] } • Estrutura de um Arquivo IDL Define um Contexto Define uma Classe CORBA Define um Método
Arquitetura IDL – Interface Definition Language • Aplicação de um Arquivo IDL Cliente Servidor Implementação Employee Referência ao empregado X interface Employee { void promote (in char new_job_class); void dismiss (in DismissalCode reason, in string description); }; operação promote MétodoEmp_promote operação dismiss MétodoEmp_dismiss
Arquitetura CORBA • Modelo CORBA
Arquitetura CORBA • 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.
Arquitetura CORBA • 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.
Arquitetura CORBA • 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.
Arquitetura CORBA • Modelo CORBA Protocolos CORBA: GIOP - General Inter-ORB Protocol – Padrão GERAL. IIOP - Internet Inter-ORB Protocol - mais popular (transportado sobre TCP/IP).
Agenda • 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 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 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. CCM CORBA
CCM – 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 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 Model Comunicação entre componentes utilizando suas portas
Agenda • 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ã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.
Agenda • 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ê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/trabalhos/sem2000-1/cb_svd/
Obrigado! • Marcelo Daibert • granbery@daibert.net • http://daibert.net