Dans l'approche du développement distant avec un seul emplacement distant, un mappage entre un projet local et un emplacement distant est suffisant. Tout comme pour les projets purement locaux, des propriétés telles que les commandes de génération, les options de compilateur et les variables d'environnement peuvent être gérées au niveau du projet car il n'y a vraisemblablement qu'un seul environnement cible. Le projet gère les propriétés tandis que l'emplacement distant est utilisé pour les opérations effectuées sur le système distant, telles que le téléchargement en amont et en aval de ressources et l'appel de compilateurs.
Si l'on considère une approche du développement distant impliquant plusieurs emplacements distants associés à un projet, il apparaît qu'un seul emplacement distant est insuffisant. Si un projet associé à plusieurs emplacements distants peut bénéficier de la possibilité d'insérer et d'extraire des ressources dans et depuis ces emplacements, les opérations distantes avec des propriétés gérées par un projet vont certainement souffrir de la complexité liée au fait d'avoir à prendre en compte différents environnements cible pour chaque emplacement distant. Par exemple, la commande de génération et les variables d'environnement pour un emplacement distant peuvent différer de celles d'un autre emplacement distant. Même si un projet a été utilisé seulement pour insérer et extraire des ressources, ce projet doit prendre en compte les différents états de synchronisation entre les ressources et les emplacements distants du projet. Au lieu d'avoir chaque projet gérant des tableaux distincts de propriétés correspondant à un emplacement distant donné, la meilleure solution consiste à ne pas inclure dans le projet les informations spécifiques à chaque emplacement distant et à produire une nouvelle construction indépendante : le contexte distant.
Tout comme un emplacement distant, un contexte distant décrit un hôte et un emplacement sur cet hôte. Cependant, au contraire d'un emplacement distant, un contexte distant est une entité indépendante, qui contient des propriétés supplémentaires telles que des variables d'environnement, à laquelle les utilisateurs peuvent contribuer et avec laquelle ils peuvent interagir dans un environnement de développement intégré. Dans IBM® Rational Developer for Power Systems Software, les utilisateurs peuvent créer de nouveaux contextes distants à partir de l'Explorateur de systèmes distants.