Le projet Invariance utilise la technologie JNDI pour externaliser complètement la configuration des applications.
Grâce à cette librairie, les application JEE peuvent être déployée sur le serveur sans être dépendante de l'environnement (DEV, TEST, PROD).
On a déjà l'habitude de configurer les resoureces JDBC (javax.sql.DataSources), JMS (javax.jms.QueueConnectionFactory) et moins souvent e-Mail (javax.mail.Session).
Mais parfois cela ne suffit pas. On aimerait souvent ajouter un fichier de properties à l'application.
L'extension Invariance permet par exemple de lier des objets java.util.Properties sur un nom JNDI.
On peut donc très facilement réaliser des applications JEE avec une configuration externalisée. On déploye alors exactement la même application en DEV, TEST, PROD.