Autor: Victor Ponciano - ADS Noturno
Professor/Instrutor: Walter Matheos
Este repositório reúne as atividades desenvolvidas para a avaliação intermediária da disciplina de Sistemas Distribuídos.
O objetivo do projeto é demonstrar, na prática, diferentes conceitos fundamentais da computação distribuída utilizando Python.
Cada pasta contém:
- Código-fonte da atividade;
- README próprio explicando o funcionamento;
- Prints de execução;
- Estrutura independente para testes.
Este projeto foi desenvolvido com fins acadêmicos para reforçar os conceitos estudados na disciplina de Sistemas Distribuídos.
Cada atividade possui uma pasta de prints demonstrando a execução dos programas.
- Python 3
- Flask
- XML-RPC
- Multiprocessing
- Threading
- Sockets TCP
- Queue
Avaliacao-Intermediaria/
│
├── 1-processos/
├── 2-threads/
├── 3-sockets/
├── 4-rpc/
├── 5-objetos-distribuidos/
├── 6-mom/
├── 7-web-services/
└── README.mdImplementação utilizando multiprocessing para executar tarefas simultaneamente em processos diferentes.
- Concorrência
- Paralelismo
- Criação de processos
- Execução simultânea
Utilização de threads para execução concorrente dentro do mesmo processo.
- Multithreading
- Compartilhamento de memória
- Execução concorrente
Comunicação cliente-servidor utilizando sockets TCP.
- Comunicação em rede
- Cliente e servidor
- TCP/IP
- Troca de mensagens
Implementação de chamadas remotas utilizando XML-RPC.
- Comunicação remota
- Cliente-servidor
- Invocação de métodos remotos
Simulação de objetos distribuídos utilizando XML-RPC.
- Objetos distribuídos
- Comunicação remota
- Encapsulamento de serviços
Implementação do modelo Produtor-Consumidor utilizando fila de mensagens.
- Middleware orientado a mensagens
- Filas
- Sincronização
- Comunicação assíncrona
Criação de um Web Service simples utilizando Flask.
- APIs
- HTTP
- Serviços Web
- Cliente e servidor
- Python 3 instalado
- Pip instalado
pip install flaskEntre na pasta desejada e execute o arquivo principal.
Exemplo:
cd 3-sockets
python servidor.pyEm outro terminal:
python cliente.py