O trabalho foi realizado utilizando a linguagem de programação Python 3.5 e a biblioteca Pyro 4.
Esta biblioteca implementa o mecanismo RMI (Remote Method Invocation). Com isso, o sistema foi construído utilizando orientação a objeto e possui quatros classes: AbstractStorage, StorageProxy, StoragePrimary e StorageSecundary.
Para rodar o sistema você precisa ter instalado:
- Python 3.5 (já vem instalado em sistemas Ubuntu e OSX)
- Pyro 4 (pode ser instalador usando o pip, gerenciador de pacotes do Python)
Toda a parte de gerência do sistema é feito através do script manage.py. Esse script fornece uma CLI onde você pode:
- Inicializar o serviço. (Cria o proxy, a máquina primária e o servidor de DNS)
- Adicionar uma cópia secundária.
- Simular a falha e a recuperação de uma cópia.
Através da CLI fornecida pelo script client.py você pode:
- Criar e enviar arquivo no formato txt.
- Enviar arquivo no formato PDF.
- Deletar arquivos.
- Ler arquivos.
- Listar os arquivos.