Buscar

APS de distribuida

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

*
Atividade Prática Supervisionada
CRIAR UMA APLICAÇÃO DISTRIBUÍDA
Prof. Jorge Viana Doria Junior, M.Sc.
Mestre em Informática iNCE/DCC/PPGI/UFRJ
*
Roteiro
Objetivos
Descrição da aplicação
Sobre a arquitetura
Implementação
Execução em paralelo
Apresentação
*
Objetivos
Fundamentar conceitos sobre:
Arquitetura distribuída
Interface baseada em Sockets
Serialização de dados em Java (Interface Serializable)
Modelo de Java Threading
Sistema de passagem de mensagem
*
Descrição da aplicação
Sistema de Sincronização de Arquivos
Desenvolver um cliente e um servidor que permita a sincronização e transferência de arquivos (downloads e uploads). O servidor terá que responder a múltiplos pedidos por parte de diversos clientes. Cliente e servidor terão de ter capacidade de efetuar uploads e downloads em simultâneo.
Desenvolva um programa de sincronização de arquivos entre computadores. O programa deve comparar dois diretórios localizando os arquivos que têm em um e não têm no outro computador para realizar a sincronização. Caso um arquivo esteja em ambos diretórios, o mais recente deve prevalecer em ambas máquinas. O programa deve ter uma opção que permita ao usuário interagir no processo de sincronização, ou seja, decidir se um arquivo vai mesmo ser copiado de uma máquina para outra.
*
Sobre a arquitetura
*
Sobre a arquitetura
Vantagens
A distribuição dos dados é fácil.
Faz uso efetivo de sistemas em rede.
É fácil adicionar novos servidores.
Desvantagens
Não existe um modelo de dados compartilhado.
Gerenciamento redundante em cada servidor.
Não há um registro central de nomes.
*
Implementação
O programa deve ser instalado em ambas máquinas e a comunicação deve ser implementada usando TCP/IP.
Uma requisição deve estar encapsulada em um objeto Request, esse objeto deve conter como atributo a requisição (ex. obter lista dos arquivos de um diretório ou download ou upload de um arquivo) e os parâmetros da requisição (por exemplo, um path). A outra máquina, ao receber o objeto Request, deve extrair a requisição e executá-la.
Ao término da execução, o servidor deve criar a resposta (um objeto Reply) para enviar à máquina que fez a requisição. Dentro do objeto Reply deve conter um atributo que possibilite colocar um arquivo (p.ex. um array de bytes), caso a requisição seja de download. Use ObjectOutputStream e ObjectInputStream para serializar o objeto Request/Reply na comunicação cliente/servidor. 
*
Implementação
1. Separe claramente o código de comunicação do código de aplicação.
2. Para implementar a busca, utilize o pacote java.io.File;
3. Para implementar o trabalho, pesquise as classes abaixo:
java.net.*
FileOutputStream
FileInputStream
ObjectOutputStream
ObjectInputStream
4. Utilize o link abaixo para praticar a transferência de arquivos via Sockets;
http://www.devmedia.com.br/java-socket-transferencia-de-arquivos-pela-rede/32107
*
Execução em paralelo
Como implementar recursos multithread?
Estendendo a classe Thread ou
Implementando a Interface Runnable
*
Apresentação
1. A atividade deve ser desenvolvida em grupos com 2 alunos.
2. O programa deve ser apresentado ao professor no laboratório no dia 22/11/2018 e publicado até o dia 22/11/2018.
3. Os trabalhos NÃO poderão ser enviados por e-mail.
4. Será verificado o funcionamento do programa e em seguida os alunos devem responder a questões sobre o código do programa referentes ao uso de mecanismos de comunicação entre processos. 
5. Trabalhos não entregues após o fim do prazo original, não será aceito, ou seja, terá nota ZERO.
6. Em caso de cópia do código de outro aluno, ambos não terão nota.

Continue navegando

Outros materiais