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 es propietario de 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 la licencia GNU General Public License. Desde su lanzamiento inicial en 1995 (Java 1.0) ha crecido y se ha convertido en el lenguaje de desarrollo dominante para desarrollar aplicaciones basadas en web. J2SE es Java 2 Platform Standard Edition, que proporciona el conjunto de clases básicas y API. 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 básicas de Java. Su última versión Java 6 (también conocida como Java Standard Edition 6.0 o Java SE 6 o Java 1.6), con nombre en código Mustang, se lanzó en diciembre de 2006. La revisión actual es la Actualización 26, que se publicó en junio de 2011. Tiene 3700 + clases e interfaces. Se centra en nuevas especificaciones y API que incluyen XML, Web Services, JDBC versión 4.0, programación basada en anotaciones, API para compilador Java y GUI de cliente de aplicación. Esto se suma 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 con conocimiento de metadatos. Generics es un mecanismo para especificar tipos de objetos que pertenecen a colecciones como Arraylists, de modo que la seguridad de los tipos esté garantizada en el momento de la compilación. Autoboxing permite las conversiones automáticas entre tipos primitivos (por ejemplo, int) y tipos de envoltura (por ejemplo, Integer). Además, la compatibilidad con versiones anteriores de Windows (serie Win9x) se eliminó 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 múltiples 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), Connecters, 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 utiliza para desarrollar aplicaciones que se ejecutan como programas de escritorio independientes o subprogramas, pero J2EE se utiliza normalmente para escribir aplicaciones que se ejecutan dentro de un contenedor J2EE. J2EE tiene todas las funciones de J2SE. Pero tiene funcionalidades adicionales como EJB, JSP, Servelts y tecnología XML. También incluye pruebas para comprobar la conformidad de las aplicaciones con las aplicaciones existentes que admiten J2EE.