Por: Mario Torrez
mtorrezc@gmail.com
Keywords: Java EE, EJB, Servlet, JSP, JSF, JSTL, JPA, JTA, CDI, JAX-RS
Palabras clave: Java EE, EJB, Servlet, FSP, JSF, JSTL, JPA, JTA, CDI, JAX-RS.
Las revisiones públicas formales de JSRs son controladas antes de que los JSR se conviertan en final y sean votados por el Comité Ejecutivo JCP. Un JSR final suministra una implementación de referencia la cual da una implementación libre de la tecnología en código fuente y un Kit de Compatibilidad de Tecnología para verificar la especificación de la API.
La plataforma Java EE ha ido cambiando con el tiempo, en sus inicios se denominaba Java 2 Platform, luego Java 2 EE hasta la versión 1.4, posteriormente cambió a Java EE 5 y la versión actual es la Java EE 6. Cabe señalar que se tiene previsto el lanzamiento de la versión Java EE 7 para el tercer trimestre del 2012.
La plataforma Java EE 6 está orientada al desarrollo de aplicaciones empresariales y proporciona a los desarrolladores un potente conjunto de APIs orientadas a acortar el tiempo de desarrollo reduciendo la complejidad de la aplicación.
El desarrollador puede crear aplicaciones empresariales que sean portable entre plataformas y escalables. Además tiene beneficios que permiten concentrarse más en la lógica de negocio de los componentes en lugar de en tareas de mantenimiento de bajo nivel, pues el servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados.
Perfiles: Java EE 6 introduce el concepto de perfiles, distintas configuraciones específicas de la plataforma para distintos fines. El primero en ser introducido en esta versión es el Web Profile, un perfil más liviano que usa únicamente lo necesario para desarrollos web.
Productividad del desarrollo: apuntando las configuraciones a más anotaciones y menos configuración XML.
Nuevas especificaciones: EJB 3.1, Servlets 3.0, EJB 3.1, JSF 2.0, Java API for RESTful Web Services (JAX-RS), Contextos e inyección de dependencias (CDI), JPA 2, y más.
Veamos con más detalle algunas de las especificaciones.
Un bean de sesión representa una conversación temporal con un cliente, cuando el cliente termina su ejecución el bean de sesión y sus datos desaparecen.
Un bean controlado por mensajes combina las características de un bean de sesión con la posibilidad escuchar de mensajes, de tal forma que el componente de negocio puede recibir mensajes de forma asincrónica.
En la plataforma Java EE 6, las nuevas características de la tecnología Java Servlets son las siguientes:
JSTL cuenta con etiquetas para realizar iteraciones y condiciones, también cuenta con etiquetas para manejo de archivos XML, etiquetas para para acceder a bases de datos mediante SQL y otras funciones de uso común.
Un adaptador de recursos es un componente de software que permite a los componentes de la aplicación Java EE acceder e interactuar con el administrador de recursos de la EIS.
Debido a que un adaptador de recursos es especifico a su recurso gerente por lo general existe uno diferente para cada tipo de base de datos o sistema de información de la empresa.
La plataforma Java ha madurado considerablemente desde sus inciao, por esta razón es la opción preferida de muchos desarrolladores y empresas que tienen bajo su responsabilidad de información crítica. En la versión Java EE 6, los diseñadores han puesto un especial énfasis en hacer más con menos, la arquitectura presentada beneficia a los desarrolladores a mejorar su productividad, al margen existe nuevos enfoques que facilitan los esfuerzos el proceso de desarrollo de aplicaciones web empresariales.
mtorrezc@gmail.com
Abstract
This article is a brief introduction to enterprise architecture of Java called Java EE or JEE for short. This article serves as a basis for future articles that illustrate the use and implementation of elements in this architecture.Keywords: Java EE, EJB, Servlet, JSP, JSF, JSTL, JPA, JTA, CDI, JAX-RS
Resumen
El presente artículo es una breve introducción a la arquitectura empresarial de Java denominada Java EE o JEE de forma abreviada. Este artículo sirve como base para futuros artículos que ejemplifican el uso y la implementación de elementos pertenecientes a esta arquitectura.Palabras clave: Java EE, EJB, Servlet, FSP, JSF, JSTL, JPA, JTA, CDI, JAX-RS.
1. Introducción
La plataforma Java EE es una especificación de la Java Community Process (JCP), que es responsable de todas las tecnologías Java. Las especificaciones de la JCP permiten que Java sea Estándar, es decir, asegura que cada fabricante de software desarrolla su implementación garantizando compatibilidad y portabilidad, elementos característicos en Java. Particularmente para la Java EE el proceso de la JCP conlleva el uso de Java Specification Request (JSR), las cuales son documentos formales que describen las especificaciones y tecnologías propuestas para que sean añadidas a la plataforma Java.Las revisiones públicas formales de JSRs son controladas antes de que los JSR se conviertan en final y sean votados por el Comité Ejecutivo JCP. Un JSR final suministra una implementación de referencia la cual da una implementación libre de la tecnología en código fuente y un Kit de Compatibilidad de Tecnología para verificar la especificación de la API.
La plataforma Java EE ha ido cambiando con el tiempo, en sus inicios se denominaba Java 2 Platform, luego Java 2 EE hasta la versión 1.4, posteriormente cambió a Java EE 5 y la versión actual es la Java EE 6. Cabe señalar que se tiene previsto el lanzamiento de la versión Java EE 7 para el tercer trimestre del 2012.
La plataforma Java EE 6 está orientada al desarrollo de aplicaciones empresariales y proporciona a los desarrolladores un potente conjunto de APIs orientadas a acortar el tiempo de desarrollo reduciendo la complejidad de la aplicación.
El desarrollador puede crear aplicaciones empresariales que sean portable entre plataformas y escalables. Además tiene beneficios que permiten concentrarse más en la lógica de negocio de los componentes en lugar de en tareas de mantenimiento de bajo nivel, pues el servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados.
2. Características
Algunas de las características de la plataforma Java EE 6 son:Perfiles: Java EE 6 introduce el concepto de perfiles, distintas configuraciones específicas de la plataforma para distintos fines. El primero en ser introducido en esta versión es el Web Profile, un perfil más liviano que usa únicamente lo necesario para desarrollos web.
Productividad del desarrollo: apuntando las configuraciones a más anotaciones y menos configuración XML.
Nuevas especificaciones: EJB 3.1, Servlets 3.0, EJB 3.1, JSF 2.0, Java API for RESTful Web Services (JAX-RS), Contextos e inyección de dependencias (CDI), JPA 2, y más.
Veamos con más detalle algunas de las especificaciones.
Enterprise JavaBeans EJB 3.1
Un componente EJB es un cuerpo de código que tiene campos y métodos para implementar módulos de lógica de negocio. Se puede pensar en JavaBean como un elemento que se puede utilizar solo o con otros EJBs para ejecutar la lógica de negocio en el servidor Java EE. Los EJBs pueden ser administrados por beans de sesión o controlados por mensajes.Un bean de sesión representa una conversación temporal con un cliente, cuando el cliente termina su ejecución el bean de sesión y sus datos desaparecen.
Un bean controlado por mensajes combina las características de un bean de sesión con la posibilidad escuchar de mensajes, de tal forma que el componente de negocio puede recibir mensajes de forma asincrónica.
Java Servlets 3.0
En Java EE 6, una de las especificaciones que ha recibido mayor atención por parte de la JCP es la tecnología Servlet. Una clase de Servlet amplía las capacidades de los servidores que alojan aplicaciones accesibles a través de un modelo de programación request-response. Aunque los servlets pueden responder a cualquier tipo de solicitud se utilizan comúnmente para extender las aplicaciones alojadas en servidores web.En la plataforma Java EE 6, las nuevas características de la tecnología Java Servlets son las siguientes:
- Soporte de anotaciones
- Soporte asíncrono
- Facilidad de configuración
- Las mejoras en las API existentes
- Extensibilidad a través de plugins
JavaServer Faces JSF 2.0
La tecnología JavaServer Faces es un framework de interfaz de usuario web para la construcción de aplicaciones. Los principales componentes de esta tecnología son:- El framework para la construcción de interfaces.
- Un modelo para la generación de diferentes tipos de HTML a través del uso de etiquetas.
- Un estándar para la generación de lenguaje de estiquetas HTML/4.01.
- Validación de entradas
- Gestión de eventos
- La conversión de datos entre los objetos del modelo y los componentes
- Gestionado modelo de creación de objetos
- Configuración de la página de navegación
- La habilidad para usar anotaciones en lugar los archivos de configuración.
- Los facelets, que son una tecnología que reemplaza a los JSP usando archivos XHTML.
- Soporte para Ajax.
- Navegación implícita
JavaServer Pages JSP
La tecnología JavaServer Pages (JSP) permite incluir fragmentos de código de servlet directamente en un archivo de texto. Un archivo de texto puede incluir dos tipos de contenidos:- Datos estáticos que pueden ser expresados en un formato como ser el HTML o XML.
- Elemento JSP, que determinan la construcción de contenido dinámico.
JSP Standard Tag Library JSTL
JSTL permite encapsular la funcionalidad básica común de muchas aplicaciones JSP. En lugar de mezclar etiquetas al interior de sus aplicaciones JSP, se utiliza un conjunto único, estándar de etiquetas. Esta estandarización permite desplegar sus aplicaciones en cualquier contenedor JSP que soporta JSTL y hace que el uso de etiquetas sea optimizado.JSTL cuenta con etiquetas para realizar iteraciones y condiciones, también cuenta con etiquetas para manejo de archivos XML, etiquetas para para acceder a bases de datos mediante SQL y otras funciones de uso común.
Java Persistence API (JPA)
Es un framework del lenguaje de programación Java que maneja datos relacionales en aplicaciones usando la Plataforma Java Persistencia en este contexto cubre tres áreas:- La API en sí misma
- El lenguaje de consultas
- Metadatos objeto/relacional
Java Transaction API (JTA)
JTA proporciona una serie de Interfaces java entre el manejador de transacciones y las partes involucradas en el sistema de transacciones distribuidas: el servidor de aplicaciones, el manejador de recursos y las aplicaciones transaccionales.Java API for RESTful Web Services (JAX-RS)
El Java API for RESTful Web Services (JAX-RS) define las APIs para el desarrollo de servicios web de acuerdo con la arquitecturaRepresentational State Transfer (REST).
Una aplicación JAX-RS es una aplicación web que consiste en clases empaquetadas como un servlete dentro de un archivo WAR.Managed Beans
Un bean es un POJO (Plain Old Java Object), es una clase que tiene un constructor público sin argumentos y sus propiedades tienen asociados sus correspondientes métodos get/set.Contexts and Dependency Injection for the Java Platform (JSR299)
Los Contextos e Inyección de Dependencia (CDI) para la plataforma Java EE son un conjunto de servicios contextuales proporcionados por los contenedores Java EE, que facilitan el uso de EJBs junto con la tecnología JavaServer Faces en aplicaciones web. Está diseñado para usar con los objetos con estado, los CDI también tiene otros usos más amplios, lo que permite a los desarrolladores gran flexibilidad para integrar sus diferentes tipos de componentes en un bajo acoplamiento de forma segura.Dependency Injection for Java (JSR 330)
Es un conjunto estándar de anotaciones (y un interfaz) para su uso en las clases de inyectables. En la plataforma Java EE, los CDI proporcionan soporte para la inyección de dependencia. Específicamente se puede utilizar los puntos de inyección DI sólo en una aplicación habilitada para CDI.BeanValidation
Es un modelo de metadatos y la API para la validación de datos de componentes JavaBeans. En lugar de distribuir la validación de datos a través de varias capas, tales como el navegador y el servidor, se puede definir la validación en un solo lugar y compartirlos a través de diferentes capas.Java Message Service API
El Java Message Service (JMS) API es un estándar de mensajería que permite a los componentes de Java EE crear, enviar, recibir y leer mensajes. Habilitala comunicación distribuida con bajo acoplamiento, fiable y asíncrona.Java EE Connector Architecture
Es usado por los proveedores de herramientas e integradores de sistemas para crear adaptadores de recursos que apoyen el acceso a sistemas de información empresarial que puede ser conectado a cualquier producto Java EE.Un adaptador de recursos es un componente de software que permite a los componentes de la aplicación Java EE acceder e interactuar con el administrador de recursos de la EIS.
Debido a que un adaptador de recursos es especifico a su recurso gerente por lo general existe uno diferente para cada tipo de base de datos o sistema de información de la empresa.
JavaMail API
Las aplicaciones Java EE usan el API JavaMail para enviar notificaciones de correo electrónico. El JavaMail API tiene dos partes:- Una interfaz de nivel de aplicación utilizado por los componentes de la aplicación para enviar correo
- Un servicio de interfaz de proveedor
3. Conclusiones
La plataforma Java ha madurado considerablemente desde sus inciao, por esta razón es la opción preferida de muchos desarrolladores y empresas que tienen bajo su responsabilidad de información crítica. En la versión Java EE 6, los diseñadores han puesto un especial énfasis en hacer más con menos, la arquitectura presentada beneficia a los desarrolladores a mejorar su productividad, al margen existe nuevos enfoques que facilitan los esfuerzos el proceso de desarrollo de aplicaciones web empresariales.
BIBLIOGRAFIA
- Introduction to Support for Java EE Technology in NetBeans IDE http://netbeans.org/kb/docs/javaee/javaee-intro.html
- Enterprise JavaBeans specifications. http://java.sun.com/products/ejb/docs.html
- The Enterprise JaveBeans Web site. http://www.oracle.com/technetwork/java/javaee/ejb/index.html
- Beginning Java EE 6 Platform with GlassFish 3 From Novice to Professional
- The Java EE 6 Tutorial Basic Concepts, Eric Jendrock, Ian Evans, Devika Gollapudi, Kim Haase, Chinmayee Srivathsa; Addison Wesley, 2011
0 comentarios:
Publicar un comentario