MC118 - SISTEMAS OPERACIONAIS DISTRIBUÍDOS

1º Projeto - Versão Distribuída da Base de Dados (Sockets)

 

Descrição do Projeto

O projeto consiste no desenvolvimento de uma aplicação elementar segundo o Modelo Cliente/Servidor usando a base de dados "gdbm" disponível no Linux. A aplicação consiste de uma agenda eletrônica onde são armazenados nomes e números de telefones. A chave de acesso é o nome. A aplicação apresenta um menu do tipo:
  Opções:

    1 - Armazena/Atualiza um Registro
    2 - Remove um Registro
    3 - Lista um Registro
    4 - Lista todos os Registros
    5 - Finaliza a Aplicação

Na opção 1. - o programa pede o nome e o número do telefone. Caso um registro com o nome já esteja armazenado, o programa alerta o usuário solicitando permissão para atualizar o registro. Nas opções 2. e 3. - apenas o nome é solicitado. A opção 2. retorna um indicativo de sucesso (registro removido) ou falha (registro não encontrado). Na opção 3. o programa retorna o número do telefone ou um indicativo de falha (registro não encontrado). A Opção 4 lista todos os registros da armazenados na Base de Dados.

Para implementar uma versão distribuída do "gdbm" (ou dbm), implementar-se-á um servidor "gdbm" capaz de receber requisições via rede e clientes que interagindo com os usuários irão despachar mensagens ao servidor acerca da escolha do usuário.

Para facilitar o desenvolvimento da aplicação, considere as seguintes etapas: a. desenvolver um protocolo de comunicação cliente/servidor capaz de requisitar e receber o resultado de todas as operações "gdbm"; b. desenvolver uma biblioteca de funções "gdbm" para que possa ser utilizada pelo cliente no redirecionamento das mensagens ao servidor; c. implementar um servidor "gdbm" que receba e processe requisições via protocolo desenvolvido no item "a"; e d. testar a versão distribuída com um cliente.

A comunicação cliente/servidor deverá se processar via biblioteca de sockets.

Exemplos da utilização de socket:

 


Luís Fernando Faina
Last modified: Fri Oct 24 10:01:06 2003