J2SE frente a J2EE
Java es uno de los lenguajes de programación orientados a objetos más utilizados, que se utiliza desde el desarrollo de software hasta el desarrollo web en la actualidad. Es un lenguaje de programación concurrente y de propósito general. Fue desarrollado originalmente por Sun Microsystems en 1995. James Gosling es el padre del lenguaje de programación Java. Oracle Corporation ahora posee Java (después de comprar Sun Microsystems recientemente). Java es un lenguaje fuertemente tipado que admite una variedad de plataformas, desde Windows hasta UNIX. Java tiene una licencia pública general de GNU. Desde su lanzamiento inicial en 1995 (Java 1.0), ha crecido y se ha convertido en el lenguaje de desarrollo dominante para el desarrollo de aplicaciones basadas en web. J2SE es la edición estándar de la plataforma Java 2, que proporciona el conjunto de clases y API básicas. Java 6 es su versión estable actual. J2EE es Java 2 Platform Enterprise Edition, que proporciona tecnologías avanzadas y API construidas sobre la funcionalidad proporcionada por J2SE. Los desarrolladores de Java cambiaron los nombres de todas las ediciones recientemente, y ahora J2SE y J2EE se conocen como Java SE y Java EE respectivamente.
¿Qué es J2SE?
J2SE es una colección de API y clases Java básicas. Su última versión Java 6 (también conocida como Java Standard Edition 6.0 o Java SE 6 o Java 1.6), cuyo nombre en código es Mustang, se lanzó en diciembre de 2006. La revisión actual es la Actualización 26, que se lanzó en junio de 2011. Tiene 3700 + clases e interfaces. Se centra en nuevas especificaciones y API, incluidos XML, servicios web, JDBC versión 4.0, programación basada en anotaciones, API para compilador de Java y GUI de cliente de aplicación. Esto se sumó a las funciones ya existentes como Anotaciones, Genéricos y Autoboxing. Las anotaciones son un mecanismo para etiquetar clases con metadatos para que puedan ser utilizadas por programas conscientes de metadatos. Generics es un mecanismo de especificación de tipos para objetos que pertenecen a colecciones como Arraylists, de modo que se garantiza la seguridad de tipos en tiempo de compilación. Autoboxing permite las conversiones automáticas entre tipos primitivos (por ejemplo, int) y tipos de contenedor (por ejemplo, Integer). Además, se eliminó la compatibilidad con versiones anteriores de Windows (serie Win9x) a partir de la Actualización 7.
¿Qué es J2EE?
J2EE proporciona una plataforma de programación de servidor en Java. J2EE agrega funcionalidad (bibliotecas) para la implementación de aplicaciones Java distribuidas y de varios niveles que se ejecutan en servidores de aplicaciones. La versión actual de J2EE es Java EE 6. JDBC (Java Database Connectivity), RMI (Remote Method Invocation), JMS (Java Message Service), servicios web y XML son algunas de las especificaciones que ofrece Java EE. Además, también se ofrecen especificaciones exclusivas de Java EE, como Enterprise JavaBeans (EJB), conectores, servlets, portlets, Java Server Pages (JSP). El objetivo de esto es permitir a los programadores desarrollar aplicaciones con alta escalabilidad y portabilidad. Los desarrolladores de Java EE pueden centrarse en la lógica empresarial (en lugar de la infraestructura/integración) porque los servidores de aplicaciones se encargarán de las transacciones, la seguridad y la concurrencia.
¿Cuál es la diferencia entre J2SE y J2EE?
J2SE es una colección de clases base y API que proporciona funcionalidad básica (lenguaje Java, máquina virtual y bibliotecas base) para desarrollar aplicaciones Java estándar, mientras que J2EE ofrece una colección de tecnologías y API para desarrollar aplicaciones empresariales de varios niveles.. En otras palabras, J2SE se usa para desarrollar aplicaciones que se ejecutan como programas o subprogramas de escritorio independientes, pero J2EE generalmente se usa para escribir aplicaciones que se ejecutan dentro de un contenedor J2EE. J2EE tiene toda la funcionalidad de J2SE. Pero, tiene funcionalidades adicionales como EJB, JSP, Servelts y tecnología XML. También incluye pruebas para verificar el cumplimiento de las aplicaciones con las aplicaciones existentes que admiten J2EE.