com OSGi
Arquitetura modular orientada a serviços para sistemas distribuídos
Conjunto de especificações que define um sistema dinâmico de componentes para plataforma Java
Padrão "De facto" para aplicações modulares em Java
carregamento de classes baseado em um grafo de módulos versionados
Um módulo OSGi ou simplesmente Bundle é um Java archive(.jar) com meta-dados que apenas o OSGi entende
MANIFEST.MF
Bundle-Name: Hello World
Bundle-SymbolicName: org.wikipedia.helloworld
Bundle-Description: A Hello World bundle
Bundle-ManifestVersion: 2
Bundle-Version: 1.0.0
Bundle-Activator: org.wikipedia.Activator
Export-Package: org.wikipedia.helloworld;version="1.0.0"
Import-Package: org.osgi.framework;version="1.3.0"
Principal forma de colaboração entre bundles