sistemas distribuídos

Post on 30-Dec-2015

59 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

1Sistemas Distribuídos

Sistemas Distribuídos

Carlos A. G. Ferraz

DI/UFPE

Aula 08

Objetos DistribuídosTó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

Interfaces declaradas usando uma IDL

TypeLibrary: repositório de interfaces

DCOM (cont.) Um objeto DCOM suporta uma ou

mais interfaces Servidor de objetos deve

implementar a interface IClassFactory, que fornece mecanismos para instanciar objetos

DCOM - Servidores de Objetos

In-process Rodam no mesmo processo que

seus clientes Implementados como bibliotecas

de ligação dinâmicas (DLLs)

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)

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

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?

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!

DCOM Um componente pode encapsular

vários outros, escondendo-os dos processos externos

Interface única inteiramente consistente

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...)

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

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

(cont...)

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

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

Processamento Distribuído baseado em Objetos

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

(“padrão” Microsoft - base instalada)

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

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

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

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

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

Systems Architecture) Conforme ODP ANSAware Visões:

Computacional Engenharia

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

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

Músicos Críticos Analisadores de discurso

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

Arquitetura Aplicação

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

Trader NodeManager

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

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

Aplicação MusicPlayer MusicAnnotator

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

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

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

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

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

top related