Download diplomados tics - E-campus :: FCA-UNAM

Document related concepts
no text concepts found
Transcript
5.4. Especificación J2EE (Java 2 Enterprise Edition)
Java Platform Enterprise Edition o Java EE (anteriormente conocido como Java 2
Platform Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de
programación para desarrollar y ejecutar software de aplicaciones en Java con
arquitectura de n niveles distribuidos, basándose ampliamente en componentes de
software modulares ejecutándose sobre un servidor de aplicaciones.
Esta tecnología soporta una gran variedad de tipos de aplicaciones, desde
aplicaciones Web de gran escala, hasta pequeñas aplicaciones cliente-servidor. El
objetivo principal de la tecnología J2EE es crear un simple modelo de desarrollo
para aplicaciones empresariales utilizando componentes basados en el modelo de
aplicación. En este modelo dichos elementos utilizan servicios proporcionados por
el contenedor, que de otro modo tendrían que estar incorporados en el código de
la aplicación. Pero observa que esto podría no ser lo ideal para todos los
escenarios: por ejemplo, una pequeña aplicación se cubriría mejor utilizando una
solución de la tecnología Java de peso ligero utilizando Servlets y JSPs en lugar
de toda la arquitectura J2EE.
5.4.1. JSPs - 5.4.2. Servlets
Las aplicaciones J2EE están integradas de diferentes componentes. Uno de ellos
es una unidad de software funcional auto-contenido que se ensambla dentro
de una aplicación J2EE con sus clases de ayuda y archivos y que se comunica
con otros elementos de la aplicación.
La especificación J2EE define los siguientes componentes J2EE:
 Las aplicaciones clientes y los applets son componentes que se
ejecutan en el lado del cliente.
 Los Servlets y los JSPs de Java son componentes Web que se ejecutan
en el lado del servidor.
 Los Enterprise Java Beans son componentes de negocio que se ejecutan
en el servidor de aplicación.
Todos esos componentes se ensamblan en una aplicación J2EE; se verifica que
estén bien formados y que cumplan la especificación J2EE, y se despliegan en el
entorno de producción, donde se ejecutan y son controlados por el servidor de
aplicaciones J2EE.
Hablando de los componentes Web de J2EE en particular, pueden ser servlets o
páginas JSP. Los servlets son clases Java que procesan dinámicamente las
peticiones y construyen las respuestas. Las páginas JSP son documentos
basados en texto que se ejecutan como servlets pero permiten una aproximación
más natural para crear contenido estático. Las páginas HTML y los applets se
juntan con los componentes Web durante el ensamble de la aplicación, pero la
especificación J2EE no los considera como sus componentes propios. De forma
similar, las clases de utilidades del lado del servidor también se unen a los
componentes Web como páginas HTML, pero tampoco se consideran como
componentes J2EE.
5.4.3. Enterprise JavaBeans
Los Enterprise JavaBeans (también conocidos como EJB) son una de las API que
forman parte del estándar de construcción de aplicaciones empresariales J2EE de
Sun Microsystems (ahora JEE 5.0). Su especificación define y detalla cómo los
servidores de aplicaciones proveen objetos desde el lado del servidor que son,
precisamente, los EJBs:
Existen tres tipos de EJB:
 EJB de Entidad (Entity EJB): su objetivo es encapsular los objetos del
lado del servidor que almacenan los datos. Los EJB de entidad presentan
la característica fundamental de la persistencia:
 Persistencia gestionada por el contenedor (CMP): el contenedor se
encarga de almacenar y recuperar los datos del objeto de entidad
mediante el mapeo de una tabla de la base de datos.
 Persistencia gestionada por el bean (BMP): el propio objeto entidad
se encarga, mediante una base de datos u otro mecanismo, de
almacenar y recuperar los datos a los que se refiere, por lo cual, la
responsabilidad de implementar los mecanismos de persistencia es del
programador.
 EJB de Sesión (Session EJB): gestionan el flujo de la información en el
servidor. Generalmente sirven a los clientes como una fachada de los
servicios proporcionados por otros componentes disponibles en el servidor.
Puede haber dos tipos:
 con estado (stateful): Los beans distribuidos que poseen un estado
se llaman beans de sesión con estado. Éste no es persistente, pero el
acceso al bean se limita a un solo cliente.
 sin estado (stateless): Los beans de sesión sin estado son objetos
distribuidos que carecen de estado asociado permitiendo por tanto que
se
acceda a ellos concurrentemente. No se garantiza que los
contenidos de las variables de instancia se conserven entre llamadas
al método.
 EJBs dirigidos por mensajes (Message-driven EJBs): son los únicos
beans con funcionamiento asíncrono. Usando el Java Messaging System
(JMS), se suscriben a un tema (topic) o a una cola (queue) y se activan al
recibir un mensaje dirigido a dicho tema o cola. No requieren la creación de
una instancia por parte del cliente.
5.4.4. Componentes de servicio
Además de los componentes principales (componentes del cliente, componentes
Web y componentes del negocio), J2EE incluye servicios estándar y tecnologías
de soporte como:
 Java Database Connectivity (JDBC) es una tecnología que proporciona
acceso a sistemas de bases de datos relacionales.
 Java Transaction API (JTA) o Java Transaction Service (JTS)
proporciona soporte para transacciones a los componentes J2EE.
 Java Messaging Service (JMS) se utiliza para la comunicación asíncrona
entre componentes J2EE.
 Java Naming y Directory Interface (JNDI) proporcionan accesos a
nombres y directorios.