sistemas distribuídos
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 PresentationTRANSCRIPT
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