INTRODUÇÃO
Nesse
artigo vamos mostrar como integrar o framework OSGi Eclipse Equinox
com o bundle OSGi Apache Felix Install. Com o uso do File Install,
podemos configurar o recurso de auto-deploy de maneira que ao
adicionarmos e / ou removermos algum bundle OSGi, o plugin será
automaticamente instalado ou desinstalado. E também, podemos
configurar se o plugin instalado deve ser automaticamente iniciado.
Sem o recurso do auto-deploy, teremos que usar a API do framework
OSGi de maneira a instalarmos os nossos bundles explicitamente e não
basta adicionar / remover bundle OSGi de algum diretório, por
exemplo. Com o auto-deploy, teremos o mesmo comportamento de
implantar e desimplantar bundles OSGi igualmente aos servidores de
aplicações Java EE (JBoss AS, Glassfish, WebLogic, etc) os quais
adicionamos arquivos “war”, “ear” para implantar uma
aplicação web ou Java EE, sem a necessidade de usar a API do
servidor de aplicação explicitamente. E consequentemente, esses
programas (servidores de aplicação e outros) que possuam esse
recurso de auto-deploy, se encarregará da instalação /
desintalação, conforme arquivo de deploy (implantação) colocado
(processo de deploy) ou retirado (processo de undeploy) do diretório.
CONFIGURAÇÃO DO
DIRETÓRIO DO ECLIPSE EQUINOX
Primeiramente,
temos criar uma estrutura de diretórios para poder rodar o Eclipse
Equinox, para isso, monte essa estrutura conforme mostra a figura a
seguir.
O
diretório de auto-deploy será o “deploy” dentro do diretório
“EquinoxApplication” que será o diretório do Equinox. O arquivo
“org.eclipse.osgi_3.7.0.v20110613.jar”é encontrado dentro da
pasta “plugins” do IDE Eclipse Indigo ou pode-se baixar somente o
Eclipse Equinox do site (http://download.eclipse.org/equinox/).
O arquivo
“org.apache.felix.fileinstall-3.2.4.jar” foi obtido no site do
projeto Apache Felix File Install (http://felix.apache.org/site/downloads.cgi). O diretório
“configuration” conterá as configurações do projeto, nesse
exemplo, teremos o arquivo de inicialização “config.ini”o qual
será mostrado na figura a seguir.
Na
próxima figura, será mostrado a execução do framework OSGi
Eclipse Equinox e também, os bundles instalados. Como no arquivo
“config.ini” configuramos que o bundle do Apache Felix File
Install para iniciar automaticamente, teremos 2 bundles ativos,
conforme mostra a figura seguir.
Comando usado:
java -jar
org.eclipse.osgi_3.7.0.v20110613.jar -console
Para
realizar o auto-deploy, basta colocar os bundles OSGi dentro do
diretório de deploy configurado anteriormente (no arquivo
“config.ini”). Nas figuras a seguir será mostrado um exemplo
cujo bundle OSGi foi criado no artigo (http://www.josepojr.com/2012/09/desenvolvendo-bundles-osgi.html) desse mesmo site.
CONCLUSÃO
Mostramos
de maneira simples como configurar o auto-deploy em frameworks OSGi
que não possuem esse suporte ou se existe, é muito complicado de
configurar e usar. Com isso, temos o auto-deploy dentro do Equinox
com poucas configurações e de maneira independente, no sentido de
não estarmos presos as configurações de “plugins”do Equinox e
sim, mantemos as nossas configurações baseadas na especificação
OSGi.
REFERÊNCIAS