No início de janeiro de 2010, a SpringSource anunciou que o dm Server entraria no projeto Eclipse, abrindo o primeiro capítulo do novo ano da modularização Java. OSGi continuou a prosperar no último mês, sinalizando que 2010 será o ano da modularidade Java.
Notícias do InfoQ: Últimos progressos na modularização Java em janeiro de 2010. (Título original: "Bundle.update: Um ano de modularidade" http://www.infoq.com/cn/news/2010/01/year-of-modularity )
Recomendação do Editor 51CTO: Primeiros passos com OSGi
Servidor dm migrado para Eclipse
A maior novidade é, sem dúvida, a proposta do projeto Eclipse Virgo (veja aqui os relatórios relacionados ao 51CTO). A versão atual do dm Server é 2.0.0, o que significa que a próxima versão 2.1 será desenvolvida e lançada no Eclipse.
Uma diferença significativa entre o projeto existente e a nova proposta é o protocolo. Isso significa que o dm Server será baseado em EPL no futuro, em vez da atual GPL, que é um acordo mais propício às práticas de negócios. O objetivo é aumentar as contribuições da comunidade e, ao mesmo tempo, incentivar esta abordagem ao desenvolvimento de software.
Os atuais OSGi e dm Server corporativos despertaram o interesse de muitas pessoas e a inovação em torno deles nunca parou. Esse interesse é particularmente alto entre os primeiros usuários e projetos que exigem conformidade com os recursos do módulo dinâmico da Plataforma de Serviços OSGi. Mas para as principais equipes de desenvolvimento (que desejam apenas construir aplicativos empresariais o mais rápido possível e com cada vez menos problemas), o custo atual da adoção do OSGi empresarial pode exceder seus benefícios de curto prazo. Esta questão precisa ser considerada antes que o OSGi empresarial se torne o padrão de fato para os principais métodos de desenvolvimento de aplicativos empresariais.
Novo livro apresentando OSGi e Equinox publicado
Um novo livro apresentando OSGi e Equinox foi publicado esta semana. Este também é o primeiro livro da série Eclipse RunTime. Este livro apresenta como construir aplicativos Java modulares por meio do OSGi. Embora os exemplos do livro sejam baseados no Equinox, o livro também é valioso para desenvolvedores que desejam desenvolver em outras plataformas OSGi.
O livro também implementa um projeto de amostra Toast do início ao fim, com o objetivo de preparar o caminho para livros subsequentes da série por meio de código de amostra específico (para que os desenvolvedores que leram este livro possam iniciar rapidamente outros livros). Este livro está dividido em quatro partes: a primeira é uma visão geral do OSGi, seguida por um guia para construir um exemplo do Toast, a terceira parte explora os detalhes do OSGi em profundidade e, finalmente, a bibliografia.
Desenvolvimento de serviços remotos ECF concluído
Recentemente, o projeto Eclipse Communications Framework implementou a especificação OSGi Remote Services, que pode conectar serviços OSGi em VMs por meio de uma variedade de protocolos heterogêneos, incluindo REST, WS-*, JMS, XMPP, Skype e uma implementação genérica ECF.
Não apenas isso, mas há uma variedade de mecanismos de detecção diferentes, como ZeroConf, SLP e detecção estática baseada em arquivo.
A implementação Apache Felix do OSGi Remote Services também foi lançada (Apache CXF), que também é a implementação de referência do OSGi. Mas esta implementação concentra-se no acesso através da camada de transporte WS-*, enquanto o ECF é independente da camada de transporte. Independentemente da implementação, a API utilizada pelos usuários finais e desenvolvedores é a mesma. Isso permite que os usuários substituam a implementação em tempo de execução.
Trabalho do Enterprise Expert Group em fase de conclusão
Recentemente, Peter Kriens anunciou que o OSGi Enterprise Expert Group está prestes a ser concluído, e o rascunho 4 do Enterprise Expert Group também foi lançado há pouco tempo, que fornece um grande número de recursos Java EE. Temos motivos para esperar que a versão final seja lançada em março deste ano, quando são realizados o OSGi DevCon e o EclipseCon.
A EEG fornecerá novos mecanismos de consulta para pesquisas no estilo JNDI por meio do OSGi, usará JMX para gerenciar o tempo de execução do OSGi, acesso ao banco de dados por meio de JTA, JPA e DataSources, e também fornecerá gerenciamento de serviços remotos e arquitetura de componentes de serviço. Além disso, um novo pacote de implantação: WAB será lançado, para que pacotes de aplicativos da web possam ser instalados em contêineres como WARs. O InfoQ fornecerá uma cobertura detalhada dos resultados do EEG à medida que forem divulgados.
WebSphere lança versão Alpha
O IBM WebSphere foi desenvolvido com base em OSGi há algum tempo e recentemente lançou uma versão Alpha de aplicativos OSGi. A aplicação é baseada no Apache Aries e inclui um contêiner OSGi Blueprint (semelhante ao Eclipse Gemini proposto pela SpringSource). Todos esses projetos esperam resolver alguns dos problemas enfrentados pela JNDI e JTA, que também são o foco do Enterprise Expert Group.
Esses contêineres estão ampliando os limites do tempo de execução OSGi para acomodar vários aplicativos. No futuro, os aplicativos serão divididos por meio de OSGi Nested Frameworks (semelhante à forma como os servidores de aplicativos da web dividem o WAR). Mas, diferentemente dos servidores de aplicativos da Web (o WAR é completamente separado e não pode compartilhar código), o WAB pode integrar o tempo de execução OSGi e, então, você pode compartilhar código e serviços tão facilmente quanto usar pacotes e serviços privados.
Tycho constrói OSGi usando Maven
Recentemente, a Sonatype lançou o Tycho 0.6.0, utilizando a nova versão do Maven 3. Tycho é um conjunto de construtores Maven que pode inferir dependências com base no OSGi Manifest.MF em vez de assumir que existem dependências no Maven POM. Isso permite criar pacotes OSGi primeiro POM (quando o manifesto é gerado automaticamente) ou primeiro manifesto.
Embora a maioria dos desenvolvedores OSGi que usam Maven (como desenvolvedores no Apache Felix) estejam mais acostumados com o método de desenvolvimento POM-first, o método de desenvolvimento Manifest-first é um complemento a isso e pode ser mais avançado por meio do Eclipse PDE (Plug-in Development Ambiente). Desenvolva pacotes OSGi convenientemente.
Entre muitos projetos Eclipse, o EGit e o projeto de incubação Tigerstripe são construídos usando Maven em vez de Ant.
O projeto Maven está caminhando para o Maven 3, que passou por extensa refatoração e usa o Google Guice. Além disso, o sucesso do repositório Maven (gerenciado pela Sonatype) também prova que o desenvolvimento Java com múltiplas dependências não é difícil. Há também mais e mais pessoas usando repositórios de pacotes OSGi (como repositórios OBR e SpringSource), e eles podem ser distribuídos entre diferentes provedores. Um estudo exploratório está em andamento sobre o tema do fornecimento de um conjunto unificado de repositórios OSGi (usados por Tycho com a ajuda do Nexus). Os repositórios experimentais estão localizados em bundles.sonatype.org e osgi.sonatype.org. O objetivo futuro é fornecer acesso a vários formatos (OBR, P2, etc.) para que o uso de pacotes OSGi possa ser tão fácil quanto os JARs do Maven.
Ágil e POSH
Se você estiver apenas obtendo pacotes OSGi, usar o analisador de pacotes OSGi seria uma escolha melhor. Recentemente, a Paremus lançou o Nimble, um analisador para obter e baixar pacotes OSGi.
Paremus liga POSH (Paremus OSGi Shell) ao analisador Nimble. Dessa forma, você pode usar o mesmo conjunto de comandos para inicializar e gerenciar a estrutura OSGi geral (isso simplificará os testes de Felix, Equinox e Knopflerfish) e, com a ajuda do Nimble, você pode iniciar rapidamente o tempo de execução OSGi, como Dave Savage disse narrar. É possível instalar e executar aplicativos da web OSGi baseados em Spring por meio das duas linhas de comandos a seguir:
posh -kc "repos -l springdm;add org.springframework.osgi.samples.simplewebapp@active " open http://localhost:8080/simple-web-app/ Os leitores interessados podem aprender mais sobre Nimble no DZone Mais informações.
Grupo de usuários OSGi UK e OSGi DevCon Londres
O Grupo de Usuários OSGi UK está prosperando e tem mais de 100 membros. A palestra mais recente vem de Marcel Offerman (da Luminis) e Graham Charters (da IBM). Vídeos e materiais relacionados à palestra serão divulgados em seu site em alguns dias.
A primeira parte da palestra foi uma introdução ao projeto de incubação Apache ACE, que visa simplificar o uso do OSGi em múltiplos dispositivos, inclusive remotamente.
No processo de montagem de software a partir de componentes reutilizáveis, o problema mais difícil de resolver é como implantar o software no número crescente de dispositivos conectados. A situação piora se a pilha de software do dispositivo for heterogênea, exigindo diferentes componentes ao mesmo tempo. Esta palestra nos apresenta como distribuir componentes de software para diferentes tipos de dispositivos baseados em Apache ACE (uma solução de código aberto baseada em OSGi), cobrindo tudo, desde telefones celulares até nós na nuvem.
O projeto Apache Ace é baseado em software doado pela Luminis no início do ano passado. O software foi aplicado a muitos projetos reais, como sistemas de radar a bordo, equipamentos de raio-X de campo, atualização de software CMS e gerenciamento de protocolo e manuseio de bagagem em aeroportos. sistemas.
A segunda palestra apresentou o OSGi Remote Services (já incluído no OSGi 4.2) e como ele interage com o Service Component Architecture (SCA), usando o Apache Tuscany como exemplo.
Conceitos de modularização Java e resumo da situação atual
Resumo abrangente de exemplos de aplicativos OSGi e WebSphere
JSR 294 da Sun foi interrompido enquanto servidores de aplicativos apostam no OSGi
Uma visão geral das vantagens e princípios de implementação da modularização para responder a questões: JSR 294, visibilidade e usabilidade.
OASIS tem trabalhado no desenvolvimento da especificação Service Component Architecture (SCA). SCA fornece um modelo de programação SOA heterogêneo que abrange inúmeras tecnologias de implementação (EJB, BPEL, C++, COBOL, etc.), ligações (serviços Web, JMS, IIOP, etc.) e políticas (WS-Policy, etc.).
A palestra fez uma breve introdução às tecnologias OSGi Remote Services e Service Component Architecture e, em seguida, falou sobre como integrar os dois para que os aplicativos OSGi possam acessar diversas tecnologias de implementação SCA, ligações e estruturas de políticas por meio de Remote Services.
Os próximos cronogramas das conferências OSGi DevCon London e JAX London foram anunciados. A oferta termina hoje, mas os membros do grupo de usuários OSGi UK podem obter descontos adicionais.
Resumir
É óbvio que cada vez mais sistemas de servidores grandes adotarão o OSGi e, ao mesmo tempo, o OSGi também começará a entrar nos sistemas de pequeno e médio porte. À medida que as ferramentas de construção continuam a evoluir, os desenvolvedores podem desenvolver pacotes OSGi em uma variedade de IDEs ao mesmo tempo, novos repositórios para compartilhar pacotes OSGi também estão surgindo e o desenvolvimento de aplicativos Java modulares se tornará cada vez mais fácil. Com base nisso, Kirk Knoernschild afirma: 2010 será o ano da modularidade Java.