Les objets persistants sont utiles lorsqu'ils modélisent un client, une facture, etc. L'ensemble de ces objets forment alors une base d'objets. Ils sont conservés dans des entrepôts persistants gérés par des programmes Up ! Server. Généralement, le client exploitant ces objets persistants sont distincts de ces serveurs.
Pour savoir quels serveurs gèrent ces objets, un programme en technologie Up ! Virtual Technical Machine interroge Up ! Object Request Broker en lui spécifiant l'identificateur de cet objet. L'objet étant uniquement déterminé par son identifiant et celui-ci comportant l'identificateur du serveur, Up ! Object Request Broker permet de s'assurer que le fonctionnement est disponible. Au besoin, le serveur est démarré.
Le code de persistance est automatiquement généré par Up ! Compiler si l'option de génération persistance est activée. Celle-ci a pour effet d'ajouter des méthodes de persistance implicites au module généré. Pour qu'un programme ait ses objets de persistants, il est nécessaire que :
Pour réaliser cette tâche, il faut utiliser le service d'externalisation permettant d'enregistrer un ou plusieurs objets dans un flux (objet binaire, fichier, etc.). Cela s'effectue au moyen de la méthode Exporter du type Objet. Si un graphe d'objets est sélectionné, Up ! Object Management System mémorise également les relations entre les objets et fait en sorte de ne pas enregistrer cet objet plusieurs fois.
A l'inverse, il existe une méthode Importer du type Objet permettant d'importer un ou plusieurs objets qui ont été externalisés. Up ! Object Management System se réfère à l'en-tête de l'exportation contenant la description des types nécessaires à la construction des objets afin de savoir si l'importation peut avoir lieu.
Ce principe d'externalisation permet de réaliser automatiquement une fonction de sauvegarde. Un autre usage de ce principe est employé par Up ! Network pour échanger des objets entre deux machines. Le format d'externalisation est bien sur indépendant de la plate-forme.