- Sistemas distribuidos são muito complexos, para controlar sua complexidade é necessário organizá-los adequadamente.
- Arquitetura de Software é a forma como organizamos os componentes de software de um sistema e como eles devem interagir.
- A especificação final da arquitetura de software é (também) denominada arquitetura de sistema.
- Uma meta importante de sistemas distribuídos é separar aplicações das plataformas subjacentes provendo uma camada de middleware.
- Sistemas autonômicos são sistemas que tomam providências adequadas em relação a eventos que o próprio sistema monitorou e identificou.
Operações idempotentes: quando aplicadas múltiplas vezes, deixam o sistema, sempre, no mesmo estado.
processos
, threads de sistema
e threads de usuário
.Implementar um chat multi-usuário utilizando uma arquitetura distribuída, utilizando threads tanto do lado do cliente como do lado do servidor.