update descargar actualizar java module osgi jigsaw

descargar - ¿En qué se diferencian los módulos de Java 8 de OSGi?



java 8 update 171 (1)

Como está escrito en los comentarios, Java 8 no se enviará con Jigsaw. Tal vez Java 9.

Además, en JavaOne 2013 asistí a una charla de Mark Reinhold y parecía que la forma en la que Jigsaw se dirige no está generalmente abierta para los desarrolladores de Java, es decir, el JRE utilizará Jigsaw para modular el JRE (lea: rt.jar). pero no se supone que sea utilizado por los desarrolladores de Java. Una de las razones que se dieron fue que Jigsaw no debería competir con las soluciones existentes como Maven, OSGi, etc. Otra razón fue para cerrar el acceso a los paquetes internos de sun. *.

Pero también escuché de alguien que asistió al BOF más tarde ese día que hubo una demanda de la comunidad para abrir Jigsaw para desarrolladores de Java, pero no he escuchado ninguna actualización al respecto.

En cualquier caso, OSGi debería funcionar bien con Jigsaw. Sin embargo, muchas bibliotecas se interrumpirán en Java 9 si continúan utilizando los paquetes anteriores de sun. * U otro código JRE interno.

Actualización marzo 2015

En la EclipseCon 2015, Mark Reinhold dio una nota clave con una actualización en Java 9. Java 9 incluirá un sistema de módulos para Java. Está diseñado para el JRE / JDK y también estará disponible para cualquier aplicación Java que quiera usarlo. Sin embargo, el alcance cambió un poco.

Las principales diferencias (a marzo de 2015) son:

  • Cargadores de clases : Jigsaw no utilizará el cargador de clases; depende de los tiempos de ejecución (como servidores de aplicaciones u OSGi) para trabajar con módulos y cargadores de clases
  • Dependencias : Jigsaw permitirá especificar la dependencia de los módulos por nombre pero no a nivel de paquete
  • Servicios dinámicos : Jigsaw no proporcionará el modelo de servicios de tiempo de ejecución provisto por OSGi.

Jigsaw no está diseñado para reemplazar y / o competir con ningún otro sistema de módulo de tiempo de ejecución o de compilación (como OSGi o Maven). De hecho, es la intención de Jigsaw ser interoperable (de alguna manera) con ambos.

Java 8 con Project Jigsaw trae un sistema de módulos al SDK. Lo veo como algo bueno, ya que es parte del paquete (incorporado). OSGi también proporciona un sistema de módulos, pero requiere un contenedor. Pero aparte de eso, ¿cuáles son las principales diferencias entre ellos?

Si uso OSGi, ¿podré ejecutarlo utilizando la versión estándar de JDK 8?

¿Será relevante OSGi cuando el SDK predeterminado incluya tales capacidades? Mi entendimiento es que tanto OSGi como Jigsaw pueden usarse para escribir aplicaciones Java modulares normales y no solo aplicaciones basadas en ser (servlets, etc.), ¿verdad?

La respuesta dada a la pregunta OSGi, Java Modularity y Jigsaw dice que el sistema de módulos Jigsaw probablemente sea necesario para JRE. Por JRE, asumo que el OP significa las bibliotecas estándar de Java como IO, CORBA, RMI que están escritas en Java o ¿son las implementaciones de la biblioteca de clase que subyace a estas cuáles son el objetivo? Al leer la página del proyecto Jigsaw, creo que es la primera. Si es más tarde, ¿cómo ayuda incluso a otros desarrolladores de Java que escriben código Java? Las bibliotecas de clases están escritas en C / C ++. ¿Podría alguien aclarar?

Esto no es un OSGi vs Jigsaw. Quiero entender realmente cuál usar. Si debo escribir una nueva aplicación (ya sea de escritorio o servidor), me gustaría basarme en tecnologías que podrían no quedar obsoletas con las implementaciones estándar e ir a abandonar el software. No estoy diciendo que OSGi esté obsoleto, me gusta OSGi. Estoy mirando el panorama general, cuáles son las direcciones futuras para OSGi.