CORBA e Desenvolvimento Baseado em Componentes Marcelo Daibert

Preview:

Citation preview

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 granbery@daibert.net http://daibert.net

Recommended