Se você não precisar usar o recurso dinâmico de um ambiente de OSGi, será possível ainda aproveitar o acoplamento mais fechado, o empacotamento declarativo e as dependências de serviço que a estrutura de OSGi oferece.
Com os plug-ins dinâmicos, é possível atualizar seus plug-ins sem parar a grade. Para usar este recurso, os plug-ins originais e novos devem ser compatíveis. Se você não precisar atualizar os plug-ins ou puder parar a grade para atualizá-los, talvez não seja necessária a complexidade dos plug-ins dinâmicos. Entretanto, ainda há boas razões para executar seu aplicativo eXtreme Scale em um ambiente OSGi. Essas razões incluem acoplamento mais compacto, pacote declarativo, dependências de serviço e assim por diante.
Uma preocupação ao hospedar a grade ou o cliente em um ambiente OSGi sem usar plug-ins dinâmicos (mais especificamente sem declarar os plug-ins usando serviços OSGi) é como o pacote configurável do eXtreme Scale carrega as classes de plug-in. O pacote configurável do eXtreme Scale conta com os serviços OSGi para carregar as classes de plug-in, o que permite que o pacote configurável chame os métodos de objeto nas classes em outros pacotes configuráveis sem importar diretamente os pacotes dessas classes.
Quando os plug-ins não ficam disponíveis pelos serviços OSGi, o pacote configurável do eXtreme Scale deve ser capaz de carregar as classes de plug-in diretamente. Em vez de modificar o manifesto do pacote configurável do eXtreme Scale para importar as classes de usuário e pacotes, crie um fragmento de pacote configurável que inclua as importações necessárias do pacote. O fragmento também pode importar as classes necessárias para outras classes de usuário não plug-in, como objetos de dados e classes de agente.