sexta-feira, 5 de outubro de 2012

Auto-deploy com Eclipse Equinox e Apache Felix File Install


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







Nenhum comentário:

Postar um comentário