OSGiTM est un framework dynamique de services Java qui permet la modularisation, le déploiement et la gestion dynamique des applications sans provoquer de redémarrage, principalement utilisé dans les systèmes embarqués et les serveurs d'application. Le modèle orienté service proposé par OSGi facilite la réutilisation des composants grâce à des bundles, mais la complexité de la conception logicielle modulaire reste un défi pour les développeurs. Bien que largement adopté dans les plateformes et IDE, OSGi n'a pas encore pénétré le développement d'entreprise de manière significative.