Spring Osgi Early dayz

Ao mesmo tempo que estou estudando para a certificação scwcd 1.4 estou dando um olhada no movo projeto da SpringSource (antiga Interface21). O projeto teve recentemente o lançamento do seu release 1.0. O conceito de Osgi não é novo vem desde 1999! Osgi é um modelo de componentes que especifica:
  • Gerenciamento de ciclo de vida da aplicação
  • Modelo
  • Registro de serviços
  • Ambiente de execução
  • Módulos, também conhecidos como Bundles
A idéia básica é que os componentes que estão registrados dentro dos Bundles podem ser remotamente instalados, instanciados, parados, atualizados e até mesmo desinstalados sem ter que fazer um reset. Isso é muito bom!

Osgi nasce para os mercados de tecnologias embarcadas como os celulares por exemplo, porem hoje em dia ele está sendo muito utilizado no server side. O IDE eclipse utiliza osgi para a implementação do seu modelo de plugins. O Eclipse tem sua própria implementação de Osgi que é o Equinox.



O SpringSource percebeu esse potencial da tecnologia e crio o seu mais novo projeto o Spring Dynamic Module. A idéia do Spring é :
  • Fazer aplicações baseadas em Spring rodarem em um ambiente Osgi
  • Tirar vantagens dos serviços que o Osgi framework oferece.
  • Facilitar o desenvolvimento de aplicações Osgi com Spring
A partir desses valores em mente o Spring Dynamic Module prove:
  • Melhor separação da lógica da aplicação em módulos.
  • Fazer múltiplos deploys de um módulo ao mesmo tempo.
  • Descobrir de forma dinâmica os serviços de outros módulos e utiliza-los
  • Instalar, desinstalar, atualizar módulos com o sistema rodando.
Recomendo esse vídeo do Costin Leau que é um dos lideres desse projeto. Você pode achar mais informações sobre osgi no site da Osgi Alliance.

Estou estudando a API do Spring e já tenho alguns testes que eu fiz aqui com o Maven 2 e o Spring DM. Breve irei postar mais. Os próximos posts provavelmente terão fontes.

Abraços.

Popular posts from this blog

Cool Retro Terminal

Mocking Terraform AWS using Docker

Go and Redis running on Kubernetes with Minukube