A principios de enero de 2010, SpringSource anunció que dm Server entraría en el proyecto Eclipse, abriendo el primer capítulo del nuevo año de modularización de Java. OSGi continúa prosperando durante el último mes, lo que indica que 2010 será el año de la modularidad de Java.
Noticias de InfoQ: Últimos avances en la modularización de Java en enero de 2010. (Título original: "Bundle.update: Un año de modularidad" http://www.infoq.com/cn/news/2010/01/year-of-modularity )
Recomendación del editor de 51CTO: Introducción a OSGi
Servidor dm migrado a Eclipse
La noticia más importante es, sin duda, la propuesta del proyecto Eclipse Virgo (consulte los informes relacionados con 51CTO aquí). La versión actual del servidor dm es 2.0.0, lo que significa que la próxima versión 2.1 se desarrollará y lanzará bajo Eclipse.
Una diferencia significativa entre el proyecto existente y la nueva propuesta es el protocolo. Esto significa que dm Server se basará en EPL en el futuro en lugar de la GPL actual, un acuerdo que favorece más las prácticas comerciales. El objetivo es impulsar las contribuciones de la comunidad y al mismo tiempo fomentar este enfoque en el desarrollo de software.
La empresa OSGi y dm Server actuales han despertado el interés de muchas personas y la innovación a su alrededor nunca se ha detenido. Este interés es particularmente alto entre los primeros usuarios y proyectos que requieren el cumplimiento de las características del módulo dinámico de la plataforma de servicios OSGi. Pero para los equipos de desarrollo convencionales (que sólo quieren crear aplicaciones empresariales lo más rápido posible y con cada vez menos problemas), el costo actual de adoptar OSGi empresarial puede exceder sus beneficios a corto plazo. Es necesario considerar esta cuestión antes de que OSGi empresarial se convierta en el estándar de facto para los principales métodos de desarrollo de aplicaciones empresariales.
Publicado un nuevo libro que presenta OSGi y Equinox
Esta semana se publicó un nuevo libro que presenta OSGi y Equinox. Este es también el primer libro de la serie Eclipse RunTime. Este libro presenta cómo crear aplicaciones Java modulares a través de OSGi. Aunque los ejemplos del libro se basan en Equinox, el libro también es valioso para los desarrolladores que desean desarrollar en otras plataformas OSGi.
El libro también implementa un proyecto de muestra de Toast de principio a fin, con el propósito de allanar el camino para libros posteriores de la serie a través de un código de muestra específico (para que los desarrolladores que hayan leído este libro puedan comenzar rápidamente otros libros). Este libro se divide en cuatro partes: la primera es una descripción general de OSGi, seguida de una guía para crear un ejemplo de Toast, la tercera parte explora los detalles de OSGi en profundidad y, finalmente, la bibliografía.
Se completó el desarrollo de servicios remotos de ECF
Recientemente, el proyecto Eclipse Communications Framework ha implementado la especificación OSGi Remote Services, que puede conectar servicios OSGi entre máquinas virtuales a través de una variedad de protocolos heterogéneos, incluidos REST, WS-*, JMS, XMPP, Skype y una implementación ECF genérica.
No solo eso, sino que existe una variedad de mecanismos de detección diferentes, como ZeroConf, SLP y detección estática basada en archivos.
También se ha lanzado la implementación Apache Felix de OSGi Remote Services (Apache CXF), que también es la implementación de referencia de OSGi. Pero esta implementación se centra en el acceso a través de la capa de transporte WS-*, mientras que ECF es independiente de la capa de transporte. Independientemente de la implementación, la API utilizada por los usuarios finales y los desarrolladores es la misma. Esto permite a los usuarios reemplazar la implementación en tiempo de ejecución.
El trabajo del Enterprise Expert Group está a punto de finalizar
Recientemente, Peter Kriens anunció que el OSGi Enterprise Expert Group está a punto de completarse, y no hace mucho también se lanzó el borrador 4 del Enterprise Expert Group, que proporciona una gran cantidad de funciones de Java EE. Tenemos motivos para esperar que la versión final se lance en marzo de este año, que es cuando se celebran OSGi DevCon y EclipseCon.
EEG proporcionará nuevos mecanismos de consulta para búsquedas de estilo JNDI a través de OSGi, utilizará JMX para administrar el tiempo de ejecución de OSGi, el acceso a la base de datos a través de JTA, JPA y DataSources, y también proporcionará administración de servicios remotos y arquitectura de componentes de servicio. Además, se lanzará un nuevo paquete de implementación: WAB, para que los paquetes de aplicaciones web se puedan instalar en contenedores como WAR. InfoQ brindará una cobertura detallada de los resultados del EEG a medida que se publiquen.
WebSphere lanza la versión Alpha
IBM WebSphere se ha desarrollado en base a OSGi durante algún tiempo y recientemente lanzó una versión Alpha de las aplicaciones OSGi. La aplicación está basada en Apache Aries e incluye un contenedor OSGi Blueprint (similar a Eclipse Gemini propuesto por SpringSource). Todos estos proyectos esperan resolver algunos de los problemas que enfrentan JNDI y JTA, que también son el foco del Enterprise Expert Group.
Estos contenedores están ampliando los límites del tiempo de ejecución de OSGi para dar cabida a múltiples aplicaciones. En el futuro, las aplicaciones se dividirán a través de OSGi Nested Frameworks (similar a cómo los servidores de aplicaciones web dividen WAR). Pero a diferencia de los servidores de aplicaciones web (WAR está completamente separado y no puede compartir código), WAB puede integrar el tiempo de ejecución OSGi y luego usted puede compartir código y servicios tan fácilmente como si usara paquetes y servicios privados.
Tycho construye OSGi usando Maven
Recientemente, Sonatype lanzó Tycho 0.6.0, utilizando la nueva versión de Maven 3. Tycho es un conjunto de constructores de Maven que pueden inferir dependencias basadas en OSGi Manifest.MF en lugar de asumir que existen dependencias en Maven POM. Esto le permite crear paquetes OSGi, ya sea POM primero (cuando el manifiesto se genera automáticamente) o primero manifiesto.
Aunque la mayoría de los desarrolladores OSGi que usan Maven (como los desarrolladores de Apache Felix) están más acostumbrados al método de desarrollo POM-first, el método de desarrollo Manifest-first es un complemento a esto y puede ser más avanzado a través de Eclipse PDE (Desarrollo de complementos). Environment). Desarrolla paquetes OSGi cómodamente.
Entre muchos proyectos de Eclipse, EGit y el proyecto de incubación Tigerstripe se construyen utilizando Maven en lugar de Ant.
El proyecto Maven avanza hacia Maven 3, que ha sido objeto de una extensa refactorización y utiliza Google Guice. Además, el éxito del repositorio Maven (administrado por Sonatype) también demuestra que el desarrollo de Java con múltiples dependencias no es difícil. También hay cada vez más personas que utilizan repositorios de paquetes OSGi (como los repositorios OBR y SpringSource) y se pueden distribuir entre diferentes proveedores. Actualmente se está llevando a cabo un estudio exploratorio sobre el tema de proporcionar un conjunto unificado de repositorios OSGi (utilizados por Tycho con la ayuda de Nexus). Los repositorios experimentales se encuentran en bundles.sonatype.org y osgi.sonatype.org. El objetivo futuro es proporcionar acceso a múltiples formatos (OBR, P2, etc.) para que usar paquetes OSGi pueda ser tan fácil como los JAR de Maven.
Ágil y elegante
Si solo está obteniendo paquetes OSGi, utilizar el analizador de paquetes OSGi sería una mejor opción. Recientemente, Paremus lanzó Nimble, un analizador para obtener y descargar paquetes OSGi.
Paremus une POSH (Paremus OSGi Shell) al analizador Nimble. De esta manera, puede usar el mismo conjunto de comandos para inicializar y administrar el marco OSGi general (esto simplificará las pruebas de Felix, Equinox y Knopflerfish) y, con la ayuda de Nimble, puede iniciar rápidamente el tiempo de ejecución de OSGi, como dice Dave. Savage dijo narrar. Puede instalar y ejecutar aplicaciones web OSGi basadas en Spring a través de las siguientes dos líneas de comandos:
posh -kc "repos -l springdm;add org.springframework.osgi.samples.simplewebapp@active " open http://localhost:8080/simple-web-app/ Los lectores interesados pueden obtener más información sobre Nimble en DZone Más información.
Grupo de usuarios de OSGi UK y OSGi DevCon London
El grupo de usuarios de OSGi UK está prosperando y tiene más de 100 miembros. La conferencia más reciente proviene de Marcel Offerman (de Luminis) y Graham Charters (de IBM). Los vídeos y materiales relacionados con la conferencia se publicarán en su sitio web en unos días.
La primera parte de la conferencia fue una introducción al proyecto de incubación Apache ACE, cuyo objetivo es simplificar el uso de OSGi en múltiples dispositivos, incluso de forma remota.
En el proceso de ensamblar software a partir de componentes reutilizables, el problema más difícil de resolver es cómo implementar el software en el creciente número de dispositivos conectados. La situación empeora si la pila de software del dispositivo es heterogénea y requiere diferentes componentes al mismo tiempo. Esta conferencia nos presenta cómo distribuir componentes de software a diferentes tipos de dispositivos basados en Apache ACE (una solución de código abierto basada en OSGi), que abarca todo, desde teléfonos móviles hasta nodos en la nube.
El proyecto Apache Ace se basa en software donado por Luminis a principios del año pasado. El software se ha aplicado a muchos proyectos reales, como sistemas de radar a bordo, equipos de rayos X de campo, gestión de protocolos y actualización de software CMS y manejo de equipaje en aeropuertos. sistemas.
La segunda conferencia presentó los servicios remotos OSGi (ya incluidos en OSGi 4.2) y cómo interactúa con la arquitectura de componentes de servicio (SCA), utilizando Apache Tuscany como ejemplo.
Conceptos de modularización de Java y resumen de la situación actual.
Resumen completo de ejemplos de aplicaciones OSGi y WebSphere
El JSR 294 de Sun se detuvo porque los servidores de aplicaciones apostaron por OSGi
Una descripción general de las ventajas y principios de implementación de la programación modular para responder preguntas: JSR 294, visibilidad y usabilidad.
OASIS ha estado trabajando en el desarrollo de la especificación de Arquitectura de componentes de servicio (SCA). SCA proporciona un modelo de programación SOA heterogéneo que abarca numerosas tecnologías de implementación (EJB, BPEL, C++, COBOL, etc.), enlaces (servicios web, JMS, IIOP, etc.) y políticas (WS-Policy, etc.).
La conferencia brindó una breve introducción a las tecnologías de servicios remotos OSGi y arquitectura de componentes de servicios, y luego habló sobre cómo integrar las dos para que las aplicaciones OSGi puedan acceder a múltiples tecnologías de implementación, enlaces y marcos de políticas de SCA a través de servicios remotos.
Se han anunciado los próximos horarios de las conferencias OSGi DevCon London y JAX London. La oferta finaliza hoy, pero los miembros del grupo de usuarios de OSGi UK pueden obtener descuentos adicionales.
Resumir
Es obvio que cada vez más sistemas de servidores grandes adoptarán OSGi y, al mismo tiempo, OSGi también comenzará a ingresar a los sistemas pequeños y medianos. A medida que las herramientas de construcción continúan evolucionando, los desarrolladores pueden desarrollar paquetes OSGi en una variedad de IDE al mismo tiempo, también están surgiendo nuevos repositorios para compartir paquetes OSGi y el desarrollo de aplicaciones Java modulares será cada vez más fácil. Basándose en esto, Kirk Knoernschild afirma: 2010 será el año de la modularidad de Java.