- O ambiente de desenvolvimento escolhido foi o VSCode pelo Ubuntu, utilizando a linguagem de programação Python na versão 3.10.6
- Os comandos para instalação das ferramentas utilizados foram os seguintes:
- Para instalar o GRPC pra Python:
python3 -m pip install --upgrade pip sudo python3 -m pip install grpcio python3 -m pip install grpcio-tools
- Para instalar Plyvel interface to LevelDB
pip install plyvel
- Para instalar PySyncObj
pip install pysyncobj
- Os comandos para execução do projeto são:
- Para ligar os bancos:
- Todos os bancos devem ser ligados antes dos servidores/clientes. O argumento X deve ir de 1-6.
python3 ./database/database.py X
- Para executar o SERVER do Portal ADMIN:
- A PORTA em que o server será executado pode ser passada como argumento ou não. Caso não seja, terá valor default: 50051
python3 admin_server.py PORTA
- Para executar o CLIENT do Portal ADMIN:
- A PORTA em que o client será executado pode ser passada como argumento ou não. Caso não seja, terá valor default: 50051
python3 admin_client.py PORTA
- Para executar o SERVER do Portal ORDER:
- A PORTA em que o server será executado pode ser passada como argumento ou não. Caso não seja, terá valor default: 50051
python3 order_server.py PORTA
- Para executar o CLIENT do Portal ORDER:
- A PORTA em que o client será executado pode ser passada como argumento ou não. Caso não seja, terá valor default: 50051
python3 order_client.py PORTA
- RETRIEVE MULTIPLE ORDERS: Orders
- Devem ser testados CID, PID, OID com valores DIFERENTE.
- TODOS os bancos devem ser inicializados antes da criação dos servers/clients.
- ATENÇÃO: No arquivo leveldb.py o endereço deve ser trocado para o caminho do seu computador de forma que o final f'COMPLETAR_ENDERECO/leveldb/{part}/{port}/'. Onde leveldb é a pasta de mesmo nome no programa.
- Os servers devem ser inicalizados em portas diferentes. Assim como os clients, de forma que cada client acompanhe o server, pela porta.
- TODOS os servers devem ser inicializados antes de acionar os clients.
- Client_list
{CID:NAME}
- Product_list
{PID:{NAME:CAPACITY}
- Order_list
{OID:CID-{PID:CAPACITY}
CID: client id
PID: product id
OID: order id