Sei sulla pagina 1di 2

SISTEMA PARA TROCA DE ARQUIVOS ENTRE CLIENTES

Objetivo
Implementação de uma aplicação distribuída que possibilite o compartilhamento de arquivos CLIENTE a
CLIENTE por intermédio de um SERVIDOR

Funcionalidades da aplicação CLIENTE


- Solicitar o seu cadastramento no servidor
- Solicitar ao servidor, a inclusão ou exclusão das informações dos arquivos a serem compartilhados
- Trocar mensagens com outro cliente via servidor (a troca de mensagens deve ser criptografada)
- Pesquisar no servidor um arquivo para download
- Solicitar ao servidor o download de um arquivo
- Enviar um arquivo solicitado por um cliente via servidor (o envio desse arquivo deve ser criptografado)

Funcionalidades da aplicação SERVIDOR


- Manter registrado em BD as informações dos clientes cadastrados
- Manter registrado em BD as informações dos arquivos compartilhados pelos clientes
- Informar aos clientes informações dos arquivos solicitados para download
- Receber uma mensagem de um cliente de origem e envia-la para o cliente destino (a troca de mensagens deve
ser criptografada)
- Receber um arquivo de um cliente e envia-lo a outro, conforme solicitação de download (o envio desse arquivo
deve ser criptografado)

//Interface a ser utilizada por todas as equipes na implementação do SERVIDOR


public interface ServidorInt {

//Cadastramento de clientes (retorno long, 0=sucesso, 1=fracasso)


int incluirCliente(String nomeCliente, String ipCliente, int portaCliente);
int excluirClientes(String ipCliente);

//Cadastramento de arquivos compartilhados (retorno long, 0=sucesso, 1=fracasso)


int incluirArquivo(String nomeArquivo, int tamanhoArquivo, String ipCliente);
int excluirArquivo(String nomeArquivo, String ipFonte);

//Pesquisa e solicitação de arquivos (retorno long, 0=sucesso, 1=fracasso)


String pesquisarArquivo(String nomeArquivo); //retorno string, “#arquivo1#tamanho1#ipCliente1#...# arquivon#tamanhon#ipClienten# “
int solicitarArquivo(String ipSolicitante, String nomeArquivo);

//Troca de mensagens entre os clientes via servidor (retorno long, 0=sucesso, 1=fracasso)
int enviarMensagem(String ipClienteOrigem, String ipClienteDestino, String mensagem);
}

Observações:
• Um cliente só poderá enviar mensagens ou pesquisar arquivos se o mesmo estiver cadastrado no banco de
dados;
• Na pesquisa de um arquivo, utilizar máscaras para localizações genéricas conforme exemplo abaixo:
o Utilizar asterisco “*” no final do nome do arquivo para indicar que somente o que antecede a ele
deve ser utilizado na pesquisa, ou seja, para uma chamada do tipo int resultadoPesquisa =
pesquisarArquivo(“arqui*”), será retornado ao cliente, todos os arquivos que tenham no início de
seu nome o prefixo “arqui”.

//Interface a ser utilizada por todas as equipes na implementação dos CLIENTES


public interface ClienteInt {
//upload de arquivo e recepção de mensagens (retorno long, 0=sucesso, 1=fracasso)
int receberMensagem(String ipClienteOrigem, String mensagem);
int enviarArquivo(String ipClienteSolicitante, String nomeArquivo);
}

Ambiente WEB
Rede social para compartilhamento de arquivos
- controle de acesso de nível administrador com permissão de manipular dados dos cadastros dos usuários, e
monitorar as mensagens e arquivos
- rotinas que permitam ao usuário criar sua conta, editar seu perfil, logar ou excluir sua conta
- rotinas que permitam a um usuário cadastrado, incluir , alterar e excluir dados dos arquivos que irá compartilhar
- rotina de pesquisa dos arquivos disponíveis para download
- permitir ao usuário votar nos arquivos que ele baixou
- permitir ao usuário inserir comentários aos arquivos que ele baixou
- ranking de arquivos
- ranking de usuários
- área do perfil do usuário que liste os arquivos baixados/baixando/compartilhando
- rotina que permita aos usuários solicitar compartilhamento de arquivos

Potrebbero piacerti anche