« JDavincci uma forma de trabalhar menos!!!! | Home | Quer fazer tela em Java??? Usa swing!! »
O que é OSGi?
de raydacosta | Terça, 24 de Março de 2009

Open Services Gateway
JSR 8: Open Services Gateway Specification
OSGi é uma plataforma de serviços para o desenvolvimento de aplicativos Linguagem Java.
A tecnologia OSGi é uma plataforma de serviços baseada em Java™ que poder ser remotamente gerenciada. Provê ao JAVA uma série de funcionalidades, tornando-o o ambiente ideal para integração. O JAVA permite a portabilidade que é requerida para suportar produtos em diversas plataformas operacionais. a tecnologia OSGi provê a padronização de primitivas que permitem aplicações serem construidas a partir de peguenos componentes re-utilizáveis e colaborativos. Estes componentes podem ser agrupados numa aplicação e instalados.
Motivação:
Com a complexidade dos “software” que vem crescendo numa velocidade bem significativa.
Exemplo
Por exemplo um sistema de automação de forças de venda, ou um sistema de automação de forças de campo, etc. Neste tipo de ambiente se faz necessário uma série de requisitos, como gerenciabilidade (instalação de novas versões de código no PDA ou “notebook” dos usuários de uma forma transparente ao usuário); ciclos de desenvolvimento; manutenção; operação desconectada; etc. Na construção da aplicação, o uso de tecnologias de componentização mostra-se cada vez mais de extrema importancia, considerando o ciclo de desenvolvimento e a manutenção.
O que é importante no OSGI
Name: O nome do bundle. Um “simbólico” nome é usado para OSGi para determinar uma identidade única para o bundle.
Version: A versão do Bundle.
Imports/Exports: é uma lista de tudo que foi exportado e importado.
Opcional: Informação da versão sobre java para que o pacote funcione.
Pode ser usando o metadata que é um arquivo especial que colocamos dentro de um JAR File chamado de
MANIFEST.MF
Abaixo um exemplo de um Manifest.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Hello Plug-in
Bundle-SymbolicName: Hello
Bundle-Version: 1.0.Estes metadatas consistem:
Name: O nome do bundle. Um “simbólico” nome é usado para OSGi para determinar uma identidade única para o bundle.
Version: A versão do Bundle.
Imports/Exports: é uma lista de tudo que foi exportado e importado.
Opcional: Uma informação mínima da versão do java para que o buddle funcione.
Este metadata que é um arquivo especial que colocamos dentro de um JAR File chamado de
MANIFEST.MF
Abaixo um exemplo de um Manifest.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Hello Plug-in
Bundle-SymbolicName: Hello
Bundle-Version: 1.0.1
Bundle-Activator: hello.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.osgi.framework;version=”1.5.0″0
Bundle-Activator: hello.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.osgi.framework;version=”1.3.0″
Ferramentas
Alternativa - 1

Felix
Alternativa - 2

Obs.: Tem uma ferramenta visual que facilita o entendimento do framework
Knopflerfish
Alternativa - 3

Equinox
Alternativa - 4

Guice - Google
Quem já usa!!!!

+ detalhes do Felix no Android
Categorias: Java | | Enviar por e-mail | Hits para esta publicação: 323





