Exigences des systèmes distribués
Le besoin d'utiliser un système distribué est souvent dérivé d'exigences non fonctionnelles soit :
- extensibilité (« scalability ») - les systèmes distribués permettent facilement une expansion si nécessaire ;
- ouverture - les composantes des systèmes distribués possèdent des interfaces bien définies ce qui leur permet d'être facilement extensibles et modifiables. Les services web sont un exemple de système distribué qui possède une grande ouverture ;
- hétérogénéité – les composantes peuvent être écrites en différents langages sur différentes machines. Par exemple, les éléments d’un serveur peuvent être programmés en C++ et s'exécuter sous Unix, alors que le client peut être en Java et s'exécuter sous Windows ;
- accès aux ressources et partage - les systèmes distribués fournissent un moyen de partager les ressources, c'est-à-dire à la fois le matériel, le logiciel et les données ;
- tolérance aux pannes - les systèmes distribués peuvent être plus tolérant aux pannes que les systèmes centralisés, car ils permettent de répliquer facilement les composantes.