1 / 32

Objetos Distribuídos para WEB

Objetos Distribuídos para WEB. Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB. Organização. Módulo 1: Conceitos de Sistemas Distrubídos; Módulo 2: Remote Procedure Call; Módulo 3: Java RMI; Módulo 4: CORBA ;.

betsy
Télécharger la présentation

Objetos Distribuídos para WEB

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. Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB

  2. Organização • Módulo 1: • Conceitos de Sistemas Distrubídos; • Módulo 2: • Remote Procedure Call; • Módulo 3: • Java RMI; • Módulo 4: • CORBA;

  3. Módulo 1 - Sumário • Conceitos de Sistemas Distribuídos • Conceitos Básicos; • Arquiteturas Distribuídas; • Comunicação cliente-servidor;

  4. Conceitos Básicos • Conceito de Sistemas Distribuídos: • Sistema que executa em várias máquinas e aparece para o usuário de maneira transparente (Tanenbaum); • Sistema que executa tarefas coordenadas em várias máquinas e se comunica através de passagem de mensagens (Coulouris);

  5. Conceitos Básicos • Características básicas: • Concorrência: • Compartilhamento de recursos; • Falta de relógio global: • Diferentes máquinas não são sincronizadas; • Independência de falhas: • Um ponto falho não paralisa todo o sistema;

  6. Conceitos BásicosDesafios • Heterogeneidade; • Abertura; • Segurança; • Escalabilidade; • Tolerância a Falhas; • Concorrência; • Transparência;

  7. Conceitos BásicosDesafios • Heterogeneidade: • Diferentes Redes possuem diferentes protocolos; • Hardwares diferentes representam dados de maneira diferente; • Diferentes SOs fazer chamadas de função de maneira diferente; • Linguagens possuem diferentes estruturas; • Programas de diferentes desenvolvedores não se comunicam;

  8. Conceitos BásicosDesafios • Solução: Middleware: • Camada adicional de software; • TCP/IP: rede; • Corba: linguagem; • Java: sistema operacional;

  9. Conceitos BásicosDesafios • Abertura: • Possibilidade de alterar / estender o middleware; • Padronização de funções e interfaces; • Internet: RFC do IETF; • Corba: documentos da OMG;

  10. Conceitos BásicosDesafios • Segurança: • Confidencialidade; • Autenticidade; • Não repúdio; • Integridade; • Controle de acesso; • Disponibilidade;

  11. Date Computers Web servers Percentage 1,776,000 130 0.008 1993, July 1995, July 6,642,000 23,500 0.4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12 Conceitos BásicosDesafios • Escalabilidade: • Funcionamento adequado em diferentes escalas; • Internet é altamente escalável;

  12. Conceitos BásicosDesafios • Deve implementar: • Controle de custo de recursos físicos: se um recurso tem muito acesso precisa ser replicado; • Controle de performance dos recursos: se um recurso começa a ficar lento, precisa ser re-estruturado; • Prevenção contra esgotamento de recursos: tipos de dados, lista e tabelas devem ser extensíveis (Ex.: endereço IP); • Prevenção contra gargalos: enviar algoritmos centralizados;

  13. Conceitos BásicosDesafios • Tolerância a Falhas: • Detecção: checksum, votação de processamento; • Mascaramento: retransmissão, redundância; • Recuperação: rollback;

  14. Conceitos BásicosDesafios • Concorrência: • Recursos podem ser acessados ao mesmo tempo; • Serviços precisam gerenciar o acesso aos recursos; • Operações concorrentes devem ser sincronizadas; • Controle de transações; • Ex: movimentação em contas diferentes concorrentemente;

  15. Conceitos BásicosDesafios • Transparência: • Ocultar do usuário a separação dos componentes; • Ocultar do programador a separação dos componentes; • É um requisito importante nos sistemas distribuídos;

  16. Integração de AplicaçõesTransparência

  17. Arquiteturas – Cliente / Servidor

  18. Arquiteturas – Cliente / Vários Servidores

  19. Arquiteturas – Servidor Proxy

  20. Arquiteturas – Peer-to-Peer

  21. Arquiteturas – Código Móvel

  22. Arquiteturas – Agente Móvel • É um programa que viaja de um computador para outros; • Inclui código e dados; • Geralmente realiza coleta de informações; • Realiza acesso a recursos locais no servidor em que executa;

  23. Arquiteturas – Cliente Magro Compute server Network computer or PC Application network Thin Process Client

  24. Exemplo - Internet

  25. Middleware

  26. Comunicação Cliente-Servidor • Servidor: oferece serviços; • Cliente: requisita serviços; • Normalmente síncrono; • Premissas de comunicação: • Request / Reply; • Send / Receive;

  27. agreed port any port socket socket message client server other ports Internet address = 138.37.94.248 Internet address = 138.37.88.249 Cliente - ServidorComunicação Sockets

  28. Cliente - ServidorArquitetura Client-Server Client Server Request doOperation getRequest message select object execute (wait) method Reply sendReply message (continuation)

  29. Cliente - ServidorArquitetura Client-Server • public byte[] doOperation (RemoteObjectRef o, int methodId, byte[] arguments) • sends a request message to the remote object and returns the reply. • The arguments specify the remote object, the method to be invoked and the arguments of that method. • public byte[] getRequest (); • acquires a client request via the server port. • public void sendReply (byte[] reply, InetAddress clientHost, int clientPort); • sends the reply message reply to the client at its Internet address and port.

  30. Cliente - ServidorConfiabilidade • UDP: • Time out; • Retransmissão; • Duplicatas (histórico); • TCP: • Protocolo já é confiável; • Menos flexibilidade;

  31. N a m e M es sag es s e nt b y C li e nt S e r ve r C li e nt R R e qu es t R R R e pl y R e qu es t R R A R e pl y A ck no w ledg e re ply R e qu es t Cliente – ServidorMensagens

  32. Cliente – ServidorExemplo • Protocolo HTTP; • Implementado sobre TCP; • Cliente requisita páginas: • operação / parâmetros; • get <arquivo.html>; • Servidor atende requisição;

More Related