OSGi

From air
Jump to navigation Jump to search

OSGi est une spécification de l'OSGi Alliance pour la définition d'applications Java modulaires pouvant être mises à jour durant leur exécution. OSGi est particulièrement adapté au développement et au déploiement d'applications à plugins et des applications sensibles au contexte (Context-awareness). Contrairement à la JVM standalone, OSGi contrôle les versions des dépendances entre les différents modules (appelés bundles)de l'application. OSGi introduit aussi le paradigme des architectures orientées service (SOA) dans la programmation Java. Les services dans OSGi permet ainsi le couplage faible, la liaison retardée, la substitution dynamique, la sensibilité aux contexte. Cependant, l'API OSGi reste difficile d'utilisation : il est recommandé d'utiliser des modèles de composants logiciels comme Declarative Services (aka SCR), Blueprint ou iPOJO pour le développement des applications (centralisées ou distribuées). Les principales plateformes open-source sont Apache Felix, Eclipse Equinox (qui est intégré à l'IDE Eclipse) et Knopflerfish. OSGi est devenu le standard de-facto pour la conception des intergiciels et les applications modulaires comme les IDE Eclipse, les serveurs JavaEE (comme JOnAS 5, Glassfish 3, Apache Geronimo ...), les passerelles M2M (comme OpenHAB, Eclipse M2M Kura), pour les applications distribuées (Eclipse ECF) ...

Liens


Livres