A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB."— Transcrição da apresentação:

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ásicos Desafios Heterogeneidade; Abertura; Segurança; Escalabilidade; Tolerância a Falhas; Concorrência; Transparência;

7 Conceitos Básicos Desafios 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ásicos Desafios Solução: Middleware: –Camada adicional de software; –TCP/IP: rede; –Corba: linguagem; –Java: sistema operacional;

9 Conceitos Básicos Desafios 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ásicos Desafios Segurança: –Confidencialidade; –Autenticidade; –Não repúdio; –Integridade; –Controle de acesso; –Disponibilidade;

11 Conceitos Básicos Desafios Escalabilidade: –Funcionamento adequado em diferentes escalas; –Internet é altamente escalável; DateComputersWeb serversPercentage 1993, July 1,776,0001300.008 1995, July6,642,00023,5000.4 1997, July19,540,0001,203,0966 1999, July56,218,0006,598,69712

12 Conceitos Básicos Desafios 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ásicos Desafios Tolerância a Falhas: –Detecção: checksum, votação de processamento; –Mascaramento: retransmissão, redundância; –Recuperação: rollback;

14 Conceitos Básicos Desafios 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ásicos Desafios 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ções Transparência TransparênciaDescrição Acesso Esconde diferenças na representação de dados e como um recurso é acessado LocalizaçãoEsconde onde um recurso está localizado MigraçãoEsconde que um recurso pode mover-se para outra localização Relocação Esconde que um recurso pode ser movido para outra localização enquanto esta sendo usado ReplicaçãoEsconde que um recurso está distribuído por vários servidores. Concorrência Esconde que um recurso pode ser compartilhado por vários usuários concorrentes FalhaEsconde a falha e recuperação de um recurso Persistência Esconde quando um recurso (software) esta em memória ou em disco

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 Thin Client Application Process Network computer or PC Compute server network

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 Cliente - Servidor Comunicação Sockets message agreed port any port socket Internet address = 138.37.88.249Internet address = 138.37.94.248 other ports client server

28 Cliente - Servidor Arquitetura Client-Server Request ServerClient doOperation (wait) (continuation) Reply message getRequest execute method message select object sendReply

29 Cliente - Servidor Arquitetura 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 - Servidor Confiabilidade UDP: –Time out; –Retransmissão; –Duplicatas (histórico); TCP: –Protocolo já é confiável; –Menos flexibilidade;

31 Cliente – Servidor Mensagens Name Messagessent by Client ServerClient R Request RR Request Reply RRA Request Reply Acknowledge reply

32 Cliente – Servidor Exemplo Protocolo HTTP; Implementado sobre TCP; Cliente requisita páginas: –operação / parâmetros; –get ; Servidor atende requisição;


Carregar ppt "Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB."

Apresentações semelhantes


Anúncios Google