corba e desenvolvimento baseado em componentes marcelo daibert

36
CORBA e CORBA e Desenvolvimento Desenvolvimento Baseado em Componentes Baseado em Componentes Marcelo Daibert Marcelo Daibert

Upload: internet

Post on 21-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert

CORBA e Desenvolvimento CORBA e Desenvolvimento Baseado em ComponentesBaseado em Componentes

Marcelo DaibertMarcelo Daibert

Page 2: CORBA e Desenvolvimento Baseado em Componentes Marcelo 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

Page 3: CORBA e Desenvolvimento Baseado em Componentes Marcelo 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

Page 4: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CORBACORBAArquiteturaArquitetura

Modelo CORBA

Page 22: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert

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

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

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

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

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

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

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

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

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

CCM – CORBA Component ModelCCM – CORBA Component Model

Comunicação entre componentes utilizando suas portas

Page 32: CORBA e Desenvolvimento Baseado em Componentes Marcelo 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

Page 33: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert

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

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

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/

Page 36: CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert

Obrigado!Obrigado!

Marcelo Daibert [email protected] http://daibert.net