Si no necesita utilizar la capacidad dinámica de un entorno OSGi, puede aprovechar un acoplamiento más estrecho, el empaquetado declarativo y las dependencias del servicio que ofrece la infraestructura OSGi.
Con los plug-ins dinámicos, puede actualizar sus plug-ins sin detener la cuadrícula. Para utilizar esta función, el original y los nuevos plug-ins deben ser compatibles. Si no necesita actualizar plug-ins, o puede permitirse detener la cuadrícula para actualizarlos, puede que no necesite la complejidad de los plug-ins dinámicos. No obstante, todavía hay buenas razones para ejecutar la aplicación eXtreme Scale en un entorno OSGi. Estas razones incluyen un acoplamiento estrecho, un paquete declarativo, unas dependencias de servicio, etc.
Un problema que puede ocurrir al alojar una cuadrícula o un cliente en un entorno OSGi sin utilizar plug-ins dinámicos (más específicamente, sin declarar los plug-ins utilizando los servicios OSGi) es cómo el paquete de eXtreme Scale carga las clases de plug-in. El paquete de eXtreme Scale confía en los servicios de OSGi para cargar las clases de plug-in, lo que permite que el paquete llame los métodos de objetos de las clases en otros paquetes sin importar directamente los paquetes de dichas clases.
Cuando los plug-ins no están disponibles a través de los servicios OSGi, el paquete de eXtreme Scale debe poder cargar las clases de plug-in directamente. En lugar de modificar el manifiesto del paquete de eXtreme Scale para importar clases de usuario y paquetes, cree un fragmento de paquete que añada las importaciones necesarias del paquete. El fragmento también puede importar las clases necesarias para otras clases de usuario que no sean plug-ins, como objetos de datos y clases de agente.