2010-01-06 23 views
23

Estaba seguro de que encontraría una pregunta duplicada o una respuesta satisfactoria, pero no lo hice. noCorrelación entre versiones de Java EE/J2EE a J2SE/JDK

  • una correlación oficial entre Java EE/J2EE y J2SE versiones/JDK:

    Lo que estoy buscando es la respuesta a estas preguntas?

  • Si la respuesta es sí, ¿dónde está escrita?
  • Si la respuesta es no, ¿por qué? y ¿existe una tabla de versiones no oficiales (por ejemplo, JDK 1.4 va bien con J2EE 1.3, JDK 1.5 va bien con J2EE 1.4, JDK 1.6 con Java EE 5 y así sucesivamente)

puedo pensar en un par de razones para el desacoplamiento, pero parece que no puede encontrar una buena fuente de referencia

preguntas relacionadas:

Java SE vs Java EE, college and career

What is Java EE?

Respuesta

21

¿Existe una correlación oficial entre las versiones de Java EE/J2EE y J2SE/JDK?

Sun puede tratar de mantener algún tipo de "correlación" para no confundir a los usuarios y para fines de marketing, pero, que yo sepa, sin, no existe una correlación oficial (y mantener la sincronización de pseudo podría llegar a ser más difícil en el futuro ya que el JDK evoluciona más rápido que la especificación Java EE).

ACTUALIZACIÓN: Estaba equivocado, en realidad hay una correlación (ver a continuación). Pero todavía creo que esto podría convertirse en un problema: Java 7 está programado para fines de 2010, ¿logrará el grupo de expertos implementar Java EE 7 antes de Java 8 y Java 7 EOL?

Si la respuesta es sí, ¿dónde está escrita?

Citando la página JSR 151: JavaTM 2 Platform, Enterprise Edition 1.4 (J2EE 1.4) Specification casa:

  • J2EE 1.4 es la versión Enterprise Edition de la versión 1.4 de la plataforma Java, y por lo tanto se construirá en J2SE 1.4.

Citando la página JSR 244: Java(TM) Platform, Enterprise Edition 5 (Java EE 5) Specification casa:

  • Java EE 5 es la versión Enterprise Edition de la versión 5 de la plataforma Java, y por lo tanto se construirá en J2SE 5.0.

Citando la página JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification casa:

  • Java EE 6 es la versión Enterprise Edition de la versión 6 de la plataforma Java, y por lo tanto será construido en Java SE 6.

En serio, ¿por qué tenemos que ir al sitio web de JCP para encontrar esto (quizás debería haber empezado allí)?

Si la respuesta es no, ¿por qué?

Java Enterprise Edition es una especificación, no una implementación. Puede depender de características específicas (como los genéricos Java EE 5 y Java 5), ​​pero la versión de JDK depende de la implementación del contenedor que está utilizando. Consulte el ejemplo de Websphere a continuación. (Esto todavía se aplica, incluso después de la gran ACTUALIZACIÓN arriba.)

y hay una tabla de versiones no oficiales (por ejemplo, JDK 1.4 va bien con J2EE 1.3, JDK 1.5 va bien con J2EE 1.4, JDK 1.6 con Java EE 5 y así sucesivamente)

como he dicho anteriormente, "va bien" en realidad no tiene sentido ya que esto depende del contenedor que está utilizando y contenedores pueden tener diferentes requisitos de compatibilidad (por ejemplo, IBM WebSphere Es posible que el servidor J2EE 1.4 no funcione con JDK 5). Por lo tanto, prefiero hablar en términos de requisitos.

El J2EE 1.4 SDK se incluye con JDK 5 pero ... J2EE 1.4 requiere JDK 1.4 o posterior. Java EE 5 requiere JDK 5 o posterior. Java EE 6 requiere JDK 6 o posterior (JDK 5 está en su EOL por más de 2 meses).

+1

Gracias, la dependencia es aparentemente lo que estaba buscando. ¿Hay una lista de requerimientos oficial de Sun? –

+1

En realidad, mientras buscaba estos requisitos oficiales, me di cuenta de que la primera parte de mi respuesta inicial no era correcta y realicé una gran actualización que también debería responder a su última pregunta. –

+1

Puedo ver claramente ahora ... – dstibbe

3

Java EE es un conjunto o f especificaciones y una implementación de referencia para esas especificaciones. Una versión determinada puede depender de las características del lenguaje presentes en alguna versión del JDK o no.

Puede pensar en Java EE de la misma forma en que piensa en un marco o biblioteca de terceros para Java. No hay ninguna razón para que los números de versión de Java EE y el JDK tengan algo que ver el uno con el otro.

+1

Pero parecen correlacionar mágicamente, muy claramente en servidores de aplicaciones certificados. Además, parecen ser lanzados (tal vez por razones de mercadotecnia) al mismo tiempo, y siempre cumplen con la regla +1 (por ej. Versión J2EE + 1 = versión JDK) dejando de lado la filosofía, ¿soy yo el único que ve que hay una relación de facto? –

+1

Mi conjetura es que algún tipo de marketing de Sun con puntas agudas intenta "evitar la confusión" al correlacionar los números de versión. –

+1

Las especificaciones de Java EE apuntan a una versión específica de Java SE. Por ejemplo, JSR 316 dice: 'Java EE 6 es la Enterprise Edition de la versión 6 de la plataforma Java y, por lo tanto, se compilará en Java SE 6.' Las especificaciones individuales aún pueden elegir ser compatibles con las versiones inferiores de Java SE, pero nunca una versión más alta. Si una implementación Java EE realmente se ejecuta en una versión Java SE superior para la que se especificó depende de la implementación. –

2

En general, Java Enterprise Editions aparecen después del JDK para las mismas versiones.

Básicamente, durante los últimos ediciones, usted ha tenido estos paquetes de descarga:
JDK 5 con J2EE 4.
JDK 5 con Java EE 5.
JDK 6 con Java EE 5.
JDK 6 con Java EE 6 (actualmente solo disponible desde la página Java EE, la página Java SE aún tiene JDK 6 con Java EE 5)

Tenga en cuenta que estos paquetes de descarga incluyen la versión Sun de Java EE (Glassfish actualmente), que es diferente de la versión de Apache de Java EE (Tomcat/Geronimo) o la versión de IBM de Java EE (Websphere).

Si elige no utilizar Glassfish, puede descargar solo JDK6 y uno de los otros paquetes de Java EE. A partir de ahora, Glassfish es el único producto Java EE 6, ya que acaba de salir Java EE 6 y es la implementación de referencia.

0

Diferencias entre Java EE y Java SE La tecnología Java es a la vez un lenguaje de programación y una plataforma. El lenguaje de programación Java es un lenguaje de alto nivel orientado a objetos que tiene una sintaxis y un estilo particulares. Una plataforma Java es un entorno particular en el que se ejecutan las aplicaciones del lenguaje de programación Java.

Existen varias plataformas Java. Muchos desarrolladores, incluso los desarrolladores de lenguaje de programación de Java desde hace mucho tiempo, no entienden cómo las diferentes plataformas se relacionan entre sí.

El Java plataformas de programación Lenguaje Hay cuatro plataformas del lenguaje de programación Java:

Java Platform, Standard Edition (Java SE)

plataforma Java Enterprise Edition (Java EE)

Java Platform, Micro Edition (Java ME)

JavaFX

Todo J Las plataformas ava comprenden una máquina virtual Java (VM) y una interfaz de programación de aplicaciones (API). Java Virtual Machine es un programa para una plataforma de hardware y software particular que ejecuta aplicaciones de tecnología Java. Una API es una colección de componentes de software que puede usar para crear otros componentes o aplicaciones de software. Cada plataforma Java proporciona una máquina virtual y una API, y esto permite que las aplicaciones escritas para esa plataforma se ejecuten en cualquier sistema compatible con todas las ventajas del lenguaje de programación Java: independencia de la plataforma, potencia, estabilidad, facilidad de desarrollo y seguridad.

Java SE Cuando la mayoría de las personas piensa en el lenguaje de programación Java, piensan en la API de Java SE. La API de Java SE proporciona la funcionalidad principal del lenguaje de programación Java. Define todo, desde los tipos y objetos básicos del lenguaje de programación Java hasta las clases de alto nivel que se utilizan para redes, seguridad, acceso a bases de datos, desarrollo de interfaz gráfica de usuario (GUI) y análisis XML.

Además de la API principal, la plataforma Java SE consta de una máquina virtual, herramientas de desarrollo, tecnologías de implementación y otras bibliotecas de clases y kits de herramientas comúnmente utilizados en aplicaciones de tecnología Java.

Java EE La plataforma Java EE se basa en la plataforma Java SE. La plataforma Java EE proporciona un entorno API y de tiempo de ejecución para desarrollar y ejecutar aplicaciones de red a gran escala, de varios niveles, escalables, confiables y seguras.

Java ME La plataforma Java ME proporciona una API y una máquina virtual pequeña para ejecutar aplicaciones de lenguaje de programación Java en dispositivos pequeños, como teléfonos móviles. La API es un subconjunto de la API SE de Java, junto con bibliotecas de clases especiales útiles para el desarrollo de aplicaciones de dispositivos pequeños. Las aplicaciones Java ME suelen ser clientes de los servicios de la plataforma Java EE.

JavaFX JavaFX es una plataforma para crear aplicaciones ricas de Internet utilizando una API de interfaz de usuario liviana.Las aplicaciones JavaFX utilizan gráficos acelerados por hardware y motores de medios para aprovechar los clientes de alto rendimiento y una apariencia moderna, así como API de alto nivel para conectarse a fuentes de datos en red. Las aplicaciones JavaFX pueden ser clientes de los servicios de la plataforma Java EE.

Cuestiones relacionadas