12
1 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação 2 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Object Request Broker (ORB) Object Services Application Interfaces Domain Interfaces Domain Interfaces Domain Interfaces Domain Interfaces OMA (Object Management Arquitecture):

Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

1 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

2 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

Object Request Broker (ORB)

ObjectServices

ApplicationInterfaces

DomainInterfacesDomain

InterfacesDomain

InterfacesDomain

Interfaces

OMA (Object Management Arquitecture):

Page 2: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

3 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Naming service (já estudado)– Dado o nome do objeto, obter a object reference– Analogia: lista telefônica

● Trading service– Analogia: lista de páginas amarelas

● Event service– Propagação de eventos assíncronos

● Security service– Segurança

● Transaction service– Transações distribuídas

4 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Permite que as propriedades dos objetossejam “anunciadas” para potenciais clientes

● Clientes consultam o trading service paraobter referências para objetos com aspropriedades desejadas

● Analogia telefônica:– object reference ➔ número de telefone– naming service ➔ lista de assinantes– trading service ➔ lista páginas amarelas

Page 3: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

5 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

TradingService

1. Exporta oferta de serviço

2. Consulta e importa objref

3. Usa objref para invocar métodos

Cliente Objeto

6 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Lookup: apenas para consultar ofertas (acesso read-only)

● Register: exportar, descrever, modificar e retirar ofertas

● Admin: modificar políticas para exportação e importação de ofertas, listar ofertas

● Link: adicionar, remover e modificar links● Proxy: exportar, retirar e descrever ofertas

do tipo proxy

Page 4: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

7 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● É um serviço bastante complexo– Muito mais complexo que o serviço de nomes

● Bastante influenciado pelo Trader dapadronização ISO ODP (Open DistributedProcessing)

● Relativamente pouco utilizado

8 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Em certas situações a comunicaçãodesacoplada é mais interessante que umesquema direto de requisição/resposta– Fornecimento de informações sobre condiçoes

relativamente raras❏ Exemplos: disco cheio, valor de um ativo ultrapassou

o limite para venda ou caiu abaixo do limite paracompra…

– Objeto que, ao mudar de estado, notifica outrosobjetos interessados nessa mudança

❏ Exemplo: modificação numa planilha compartilhadapor vários documentos

Page 5: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

9 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● O serviço de eventos oferece modelos“push” e “pull” para entrega de eventos dequalquer tipo– Canais de eventos fazem o encaminhamento

dos eventos dos produtores até osconsumidores de eventos

– Produtores e consumidores não precisam seconhecer

– Múltiplos produtores e consumidores podem serconectados a um mesmo canal de eventos

10 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

Consumer Supplier

Event Channel

ProxyConsumer

ProxySupplier

Push ou Pull Push ou Pull

Direção do fluxo de eventos

Page 6: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

11 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

Consumer Supplier

Event Channel

ProxyPush

Consumer

ProxyPush

Supplier

Push Push

Passivo Ativo

(Notificador)

Direção do fluxo de eventos

12 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

Consumer Supplier

Event Channel

ProxyPull

Consumer

ProxyPull

Supplier

Pull Pull

Ativo Passivo

(Procurador)

Direção do fluxo de eventos

Page 7: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

13 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

Consumer Supplier

Event Channel

ProxyPush

Consumer

ProxyPull

Supplier

Pull Push

Ativo Ativo

(Fila de Eventos)

Direção do fluxo de eventos

14 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

Consumer Supplier

Event Channel

ProxyPull

Consumer

ProxyPush

Supplier

Push Pull

Passivo Passivo

(Agente Inteligente)

Direção do fluxo de eventos

Page 8: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

15 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● O Notification Service é uma extensão do serviçode eventos que tem suporte para filtragem deeventos– Os consumidores podem ter interesse só em alguns dos

eventos (não todos) que passam por um canal deeventos

– Com o Event Service eles vão ver todos os eventos,mesmo os que não interessam

– O Notification Service faz a filtragem de eventos e sóentrega a um consumidor os eventos que este querreceber

– As interfaces do Notification Service são derivadas (viaherança) das do Event Service

16 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● CORBA Messaging Service– Mensagens assíncronas– Time-independent invocation

Page 9: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

17 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Identificação, autenticação, autorização,controle de acesso, auditoria, proteção demensagem, imputabilidade– Autenticação mútua ou one-way– Garantias de integridade e confidencialidade

● Modelo de segurança independente datecnologia criptográfica– Pode ser implementado tanto com criptografia

de chave secreta como de chave pública– Encaixa-se a ambientes pré-existentes

18 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Aplicações podem ser– Security-unaware

❏ Não usam as interfaces do serviço de segurança❏ Os mecanismos de gerenciamento da segurança

estão totalmente fora da aplicação❏ Não tem controle sobre políticas de segurança

– Security aware❏ Usam as interfaces do serviço de segurança❏ Podem aplicar suas próprias políticas de segurança

● Dois níveis de serviço: security level 1(obrigatório) e security level 2 (opcional).

Page 10: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

19 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Baseia-se fortemente no mecanismo do IIOPpara propagação de contextos de serviço– Contextos de serviço podem ser transportados

“de contrabando” junto com as requisições IIOP– O Security Service usa isso para fazer a

propagação de credenciais dos clientes, etc.

● Alternativa ao Security Service completo:– Rodar IIOP sobre SSL

❏ Esquema simples e bastante popular

20 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Transações distribuídas envolvendo objetosem vários servidores

● Garante as propriedades ACID:– Atomicidade– Consistência– Isolação– Durabilidade

● Implementa o protocolo “two-phase commit”para efetivação de transações distribuídas

Page 11: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

21 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● Interfaceamento com gerenciadores derecursos via protocolo XA– Integração com sistemas de bancos de dados,

filas de Mensagens, ERP

● Várias implementações:– Inprise (ITS)– IONA (OTM)– BEA (OTS baseado no Tuxedo e integrado ao

Weblogic Enterprise)– IBM (OTS integrado ao Websphere Enterprise)

22 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

ClienteServidor

de Aplicação

Servidorde Bancode Dados

Cliente CORBA Servidor CORBA,cliente do BD

IIOP

Protocolo proprietário(SQL*Net, por exemplo)

Page 12: Cliente Objetoreverbel/SOD-00/Slides/s08.pdf · 2000. 11. 24. · 17 Copyright © 1998, 1999 Francisco Reverbel IME-USP Departamento de Ciência da Computação Identificação, autenticação,

23 Copyright © 1998, 1999 Francisco ReverbelIME-USPDepartamento de Ciência da Computação

● EJB (Enterprise Java Beans):– Arquitetura para componentização de servidores

Java– Componentes são implantados num servidor

EJB (“servidor de aplicação”)

● EJB adotou o protocolo de CORBA (o IIOP)● CORBA definiu um modelo de componentes

(CCM) bastante influenciado por EJB● O Gartner Group prevê a fusão dos

ambientes CORBA e EJB