Le fait qu'un même objet puisse être manipulé à distance et simultanément par plusieurs clients demande que cet objet possède des propriétés particulières afin que le système reste cohérent.
Un objet, dit observateur, doit guetter les modifications apportées à un autre objet, dit observable.
Remarque : le modèle qui existe en Java à travers l'interface java.util.Observer et et la classe java.util.Observable doit être adapté pour les objets distants.
Il est nécessaire de préserver les données d'une instance d'une application afin d'en faire profiter de nouvelles instances. Les Bases de données et les fichiers garantissent généralement la persistance. La notion de transaction est généralement introduite.
Les objets partagés par les clients ne doivent en aucun cas être dépendants des plates-formes. Une fois déplacé chez un client, il doivent par liaison dynamique utilisé la bonne classe ``peer''.
Remarque : mécanisme de base en Java.
Les clients souhaitent que ce soient les objets qui s'adaptent à eux et non l'inverse. Notamment, la langue, les couleurs ....
Le modèle de fabrique et l'utilisation de ressources locales permet de réaliser ce souhait.