Os sistemas distribuídos são computadores autônomos que se comunicam entre si por troca de mensagens e são capazes de prover um ambiente transparente de comunicação com o usuário final.
Os sistemas distribuídos só puderam existir com a diminuição do tamanho dos hardware e também pelo seu barateamento.
Os principais desafios dos sistemas distribudos são
- Heterogeniedade
- Abertura
- Segurança
- Escalabilidade
- Manutenção de falhas
- Concorrência
- Transparência
A heterogeniedade diz respeito as coisas que podem ser diferentes em cada sistema, como tipo de dados, estrutura de dados, paradigmas de programação e linguagens em que o sistema foi implementado.
A manutenção de falhas diz respeito a