Si vous n'avez pas besoin d'utiliser la capacité dynamique d'un environnement OSGi, vous pouvez toujours profiter des avantages d'un couplage plus strict, d'un conditionnement déclaratif et de dépendances de services qu'offre la structure OSGi.
Avec les plug-in dynamiques, vous pouvez mettre à niveau les plug-in sans arrêter la grille. Pour utiliser cette capacité, les plug-in d'origine et les nouveaux plug-in doivent être compatibles. Si vous n'avez pas besoin de mettre à jour les plug-in, ou si vous pouvez vous permettre d'arrêter la grille afin de les mettre à niveau, vous pouvez peut-être vous passer de la complexité des plug-in dynamiques. Cependant, il existe de bonnes raisons d'exécuter votre application eXtreme Scale dans un environnement OSGi. Parmi ces raisons, l'utilisation d'un couplage plus strict, d'un conditionnement déclaratif, de dépendances de services, etc.
L'un des éléments importants de l'hébergement de la grille ou du client dans un environnement OSGi sans utiliser de plug-in dynamiques (plus précisément, sans déclarer les plug-in à l'aide des services OSGi) est la façon dont l'ensemble eXtreme Scale charge les classes de plug-in. L'ensemble eXtreme Scale s'appuie sur les services OSGi pour charger les classes de plug-in, ce qui permet à l'ensemble d'appeler des méthodes d'objet sur des classes dans d'autres ensembles sans importer directement les packages de ces classes.
Lorsque les plug-in ne sont disponibles via les services OSGi, l'ensemble eXtreme Scale doit pouvoir charger les classes de plug-in directement. Au lieu de modifier le manifeste de l'ensemble eXtreme Scale pour importer les packages et les classes d'utilisateur, créez un fragment d'ensemble qui ajoute les importations de package nécessaires. Le fragment peut également importer les classes nécessaires pour les autres classes d'utilisateur sans plug-in, telles que les classes d'objets de données et d'agent.