sistemas distribuídos

29
1 Sistemas Distribuídos Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 08

Upload: ivor-cochran

Post on 30-Dec-2015

59 views

Category:

Documents


0 download

DESCRIPTION

Sistemas Distribuídos. Carlos A. G. Ferraz DI/UFPE Aula 08. Objetos Distribuídos. Tópicos Orientação a Objetos Java DCOM Padrões Aplicação Exemplo. DCOM. ORB (Object Request Broker) específico para OLE/ActiveX Como CORBA, separa a interface de um objeto de seu implementação - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sistemas Distribuídos

1Sistemas Distribuídos

Sistemas Distribuídos

Carlos A. G. Ferraz

DI/UFPE

Aula 08

Page 2: Sistemas Distribuídos

Objetos DistribuídosTópicos Orientação a Objetos Java DCOM Padrões Aplicação Exemplo

Page 3: Sistemas Distribuídos

DCOM ORB (Object Request Broker)

específico para OLE/ActiveX Como CORBA, separa a interface

de um objeto de seu implementação

Interfaces declaradas usando uma IDL

TypeLibrary: repositório de interfaces

Page 4: Sistemas Distribuídos

DCOM (cont.) Um objeto DCOM suporta uma ou

mais interfaces Servidor de objetos deve

implementar a interface IClassFactory, que fornece mecanismos para instanciar objetos

Page 5: Sistemas Distribuídos

DCOM - Servidores de Objetos

In-process Rodam no mesmo processo que

seus clientes Implementados como bibliotecas

de ligação dinâmicas (DLLs)

Page 6: Sistemas Distribuídos

DCOM - Servidores de Objetos (cont.)

Out-of-process locais Rodam em processo distinto do de

seus clientes Comunicação através de

Lightweight RPC (LRPC)

Page 7: Sistemas Distribuídos

DCOM - Servidores de Objetos (cont.)

Out-of-process remotos Comunicação através de RPC

semelhante ao DCE (Distributed Computing Environment), como em CORBA

Assim, a comunicação entre uma aplicação cliente e um servidor de objetos, local ou remoto, é transparente

Page 8: Sistemas Distribuídos

DCOM - Comunicação Do ponto de vista do cliente, o

acesso a membros de uma classe é feito através de ponteiros para os elementos da interface

Como é feita a comunicação com servidores out-of-process?

Page 9: Sistemas Distribuídos

DCOM - Com. (cont.) O barramento gera objeto de

comunicação (proxy object) Proxy recebe chamada e converte

em RPC Na outra ponta (lado servidor),

stub object faz ação inversa ao proxy object

Semelhante a CORBA!

Page 10: Sistemas Distribuídos

DCOM Um componente pode encapsular

vários outros, escondendo-os dos processos externos

Interface única inteiramente consistente

Page 11: Sistemas Distribuídos

DCOMMecanismos de encapsulação Por delegação (“clonagem”)

Componente externo encapsula outros componentes e reimplementa a interface de cada um deles

O componente externo redireciona chamadas para o membro correspondente do componente encapsulado (cont...)

Page 12: Sistemas Distribuídos

DCOMMecanismos de encapsulação Por delegação (cont.)

O componente externo delega ao componente encapsulado a responsabilidade de executar o serviço requisitado

(cont...)

Page 13: Sistemas Distribuídos

DCOMMecanismos de encapsulação (cont.) Por agregação

Agrega objetos encapsulados dentro do objeto externo e disponibiliza interface diretamente para as aplicações clientes

Page 14: Sistemas Distribuídos

Processamento Distribuído baseado em Objetos

Iniciativas de Padronização ODP/ISO CORBA/OMG DCOM/Microsoft

(“padrão” Microsoft - base instalada)

Page 15: Sistemas Distribuídos

ODPOpen Distributed Processing Comunicação aberta - OSI

Interfaces de HW padrão Protocolos de comunicação

Processamento distribuído aberto - ODP Plataformas-padrão de suporte ao processamento

distribuído Baseado em objetos

Encapsulação/Interfaces Reutilização de componentes

Page 16: Sistemas Distribuídos

ODPPontos de Vista Empresa - impacto nos sistemas da

empresa Informação - fluxo de informação Computacional - interação entre

componentes Engenharia - componentes de suporte,

plataforma Tecnologia - tecnologia utilizada,

incluindo hardware

Page 17: Sistemas Distribuídos

OMGObject Management Group 1000+ empresas Comprometido com desenvolvimento de

tecnologia de objetos CORBA - Common Object Request Broker

Architecture Plataformas: Orbix/IONA, Visibroker/Visigenic, ... Versão 2.0: interoperabilidade de

ORBs/plataformas

Page 18: Sistemas Distribuídos

CORBA (cont.) Cooperação para

desenvolvimento/incorporação de novos componentes + CFPs (Call For Proposals) Basic services Common facilities (horiz. & vert.)

Integração com ODP Ex: IDL comum

Page 19: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas ANSA (Advanced Networked

Systems Architecture) Conforme ODP ANSAware Visões:

Computacional Engenharia

Page 20: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas Principais objetivos

Reuso de software Metologia baseada no paradigma

de objetos Suporte de alto nível a multimídia

Independência de S.O. Abertura

Page 21: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas Usuários em potencial

Músicos Críticos Analisadores de discurso

Page 22: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas Componentes

Arquitetura Aplicação

Page 23: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas Componentes de Arquitetura

Trader NodeManager

Page 24: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas (ex:

música) Componentes de Aplicação

Básicos AudioServer (dispositivos E/S:

auto-falante e microfone) AudioStorageServer VoiceRopeServer

Page 25: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas Componentes de Aplicação (cont.)

Aplicação MusicPlayer MusicAnnotator

Page 26: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas Interfaces principais

AudCtrl - abre novo canal de áudio Audio - dados Ass - manipula arquivo Vrs - manipula banco de dados Callback - notificação de eventos aos

clientes Rate - sincroniza/controla relógios

lógicos

Page 27: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas Interfaces gráficas

AudioControl - volume de E/S MusicPlayer - controle remoto (play, pause,

skip, stop) e relógio (direção e velocidade) Annotator - controle de anotações (posição, tipo

(paused, continuous), duração) e relógio

Os relógios nas GUIs mostram a sincronização entre os componentes

Page 28: Sistemas Distribuídos

Aplicação ExemploAnotação de Mídias Contínuas Sincronização

Buffering no Servidor de Dispositivo (AudioServer) Compensação de atraso

RateControl Relógios lógicos Threads (operação em background)

Separação entre controle de dispositivo e ratecontrol é importante para manter abertura

Page 29: Sistemas Distribuídos

Aplicação ExemploPrincipais contribuições Modelo de construção de

aplicações multimídia Suporte de alto nível a MM Desenvolvimento conforme ODP