1 / 29

Sistemas Distribuídos

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

Télécharger la présentation

Sistemas Distribuídos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Objetos Distribuídos Tópicos • Orientação a Objetos • Java • DCOM • Padrões • Aplicação Exemplo

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

  4. DCOM (cont.) • Um objeto DCOM suporta uma ou mais interfaces • Servidor de objetos deve implementar a interface IClassFactory, que fornece mecanismos para instanciar objetos

  5. DCOM - Servidores de Objetos • In-process • Rodam no mesmo processo que seus clientes • Implementados como bibliotecas de ligação dinâmicas (DLLs)

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

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

  8. 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?

  9. 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!

  10. DCOM • Um componente pode encapsular vários outros, escondendo-os dos processos externos • Interface única inteiramente consistente

  11. DCOM Mecanismos 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...)

  12. DCOM Mecanismos de encapsulação • Por delegação (cont.) • O componente externo delega ao componente encapsulado a responsabilidade de executar o serviço requisitado (cont...)

  13. DCOM Mecanismos de encapsulação (cont.) • Por agregação • Agrega objetos encapsulados dentro do objeto externo e disponibiliza interface diretamente para as aplicações clientes

  14. Processamento Distribuído baseado em Objetos Iniciativas de Padronização • ODP/ISO • CORBA/OMG • DCOM/Microsoft (“padrão” Microsoft - base instalada)

  15. ODP Open 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

  16. ODP Pontos 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

  17. OMG Object 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

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

  19. Aplicação Exemplo Anotação de Mídias Contínuas • ANSA (Advanced Networked Systems Architecture) • Conforme ODP • ANSAware • Visões: • Computacional • Engenharia

  20. Aplicação Exemplo Anotaçã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

  21. Aplicação Exemplo Anotação de Mídias Contínuas • Usuários em potencial • Músicos • Críticos • Analisadores de discurso

  22. Aplicação Exemplo Anotação de Mídias Contínuas • Componentes • Arquitetura • Aplicação

  23. Aplicação Exemplo Anotação de Mídias Contínuas • Componentes de Arquitetura • Trader • NodeManager

  24. Aplicação Exemplo Anotaçã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

  25. Aplicação Exemplo Anotação de Mídias Contínuas • Componentes de Aplicação (cont.) • Aplicação • MusicPlayer • MusicAnnotator

  26. Aplicação Exemplo Anotaçã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

  27. Aplicação Exemplo Anotaçã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

  28. Aplicação Exemplo Anotaçã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

  29. Aplicação Exemplo Principais contribuições • Modelo de construção de aplicações multimídia • Suporte de alto nível a MM • Desenvolvimento conforme ODP

More Related