Introducción a J2EE

Page 1

JavaEE – Java Enterprise Edition www.javasoft.com


¿Por qué Java en el servidor? Ventajas

Independencia de la plataforma – portabilidad Gran conjunto de APIs Reusabilidad y modularidad Seguro en la ejecución de código móvil Gratis


¿Por qué Java en el servidor?

Inconvenientes

Curva de aprendizaje pronunciada En el caso de sistemas Web, inadecuado para proyectos pequeños que puedan construirse con una solución simple y rápida.


¿Qué es JEE?

Internet y WWW representan el fundamento sobre los cuales se esta construyendo la economía de la información. La meta de JEE es definir un estándar que ayude a suplir los retos tecnológicos en esta nueva era. JEE soporta aplicaciones distribuidas que toma ventajas de las tecnologías existentes y en desarrollo simplificando el proceso a través de un modelo de aplicaciones basados en componentes. JEE soporta aplicaciones desde las C/S corporativas hasta e-commerce con Web en Internet. Defines estándares que son implementados por distintos proveedores y fabricantes, no fuerza a emplear ningún producto específico. Máxima interoperabilidad (Web services, IIOP, RMI, etc.).


Plataforma JEE

“Conjunto de especificaciones y prácticas coordinadas que juntas permiten soluciones para el desarrollo, despliegue y gestión de aplicaciones multicapa centradas en servidor”. Provee soporte tanto para el lado del servidor como para el lado del cliente para aplicaciones corporativas multi-nivel (multi-tier) Client-tier: interface de usuario Middle-tier (1 o más): servicios al cliente y la lógica del negocio para la aplicación. Backend-tier: gestión de datos


APIs y Especificaciones JavaEE Web Services Technologies Implementing Enterprise Web Services (JSR 109) Java API for XML-Based Web Services (JAX-WS) 2.0 (JSR 224) Java API for XML-Based RPC (JAX-RPC) 1.1 (JSR 101) Java Architecture for XML Binding (JAXB) 2.0 (JSR 222) SOAP with Attachments API for Java (SAAJ) (JSR 67) Streaming API for XML (JSR 173) Web Service Metadata for the Java Platform (JSR 181) Web Application Technologies Java Servlet 2.5 (JSR 154) JavaServer Faces 1.2 (JSR 252) JavaServer Pages 2.1 (JSR 245) JavaServer Pages Standard Tag Library (JSR 52)

Enterprise Application Technologies Enterprise JavaBeans 3.0 (JSR 220) JEE Connector Architecture 1.5 (JSR 112) Common Annotations for the Java Platform (JSR 250) Java Message Service API (JSR 914) Java Persistence API (JSR 220) Java Transaction API (JTA) (JSR 907) JavaBeans Activation Framework (JAF) 1.1 (JSR 925) JavaMail (JSR 919) Management and Security Technologies JEE Application Deployment (JSR 88) JEE Management (JSR 77) Java Authorization Contract for Containers (JSR 115)

En continua revisi贸n y expansi贸n


Entorno JEE


Gestión de componentes basado en contenedores

De la mano de un modelo basado en componentes esta la noción de contenedor. Un contenedor provee un ambiente estandarizado de ejecución que provee servicios específicos a componentes. Por ejemplo todos los contenedores Web proveen soporte para requerimientos de clientes, realizar un procesamiento y retornar los resultados.

Ej.: Todos los contenedores EJB proveen soporte para gestión de transacciones, ciclo de vida, localización y otros servicios.

Los contenedores también poseen acceso a sistemas de información empresarial (RDBMS, JDBC, etc.)


Tecnologías de la plataforma JEE.Clasificación

Tres categorías:

componentes servicios comunicaciones

Componentes: utilizados por desarrolladores para crear partes esenciales de una aplicación empresarial Utilizados en la interfaz de usuario y lógica del negocio


Tecnolog铆as de componentes

Componente: unidad de software de nivel aplicaci贸n

Ej: Javabeans, applets, componentes web, etc.

Los componentes JEE se ejecutan dentro de su correspondiente contenedor. El contenedor proporciona los servicios necesarios a los componentes en tiempo de ejecuci贸n Permite declarar en lugar de programar determinados aspectos de comportamiento de los componentes


Contenedores JEE Cuatro

aspectos:

Contrato de componentes API de servicio del contenedor Servicios Declarativos Otros servicios de contenedores


Contrato de componentes

Los componentes son gestionados por el contenedor. Para eso, deben cumplir el contrato del contenedor para el tipo de componentes en concreto: conjunto de mĂŠtodos a implementar por el componente y que permiten al contenedor interactuar con ĂŠl. Los contratos son interfaces java.


API del servicio del contenedor El contenedor aporta una implementaci贸n para las APIs de extensi贸n de java. Ejemplo: Implementa el servicio de JMS ofreciendo al desarrollador

un driver que cumple la especificaci贸n Gestores de colas y apartados


Servicios Declarativos

Algunos de los servicios ofrecidos por el contenedor a los componentes se declaran en lugar de programarse. La declaraci贸n (por ejemplo, especificar que un m茅todo tiene que estar inmerso en una transacci贸n) se realiza mediante descriptores de despliegue. Descriptor de despliegue: Contrato entre el contenedor y el componente.


Otros Servicios Gesti贸n

del ciclo de vida del componente Reserva de recursos Publicaci贸n de componentes y otros recursos en espacio JNDI Clustering. Etc.


Componentes Web

Entidades que sirven respuestas a peticiones http Normalmente generan interfaces de usuario basadas en Web Servlets:

Extienden la funcionalidad de un servidor Web Portables Se ejecutan en un contenedor de servlets.


Componentes Web JSP: Respuesta

de Sun a las ASP de Microsoft Cuando se compilan, generan un servlet. Son p谩ginas html con c贸digo java incrustado.


Componentes Web

Se ejecutan en un contenedor Web: Contenedor web = contenedor JSPs + contenedor servlets Proporciona los servicios necesarios para la ejecuci贸n de servlets y jsps, y controla su ciclo de vida. Escucha, decodifica y responde peticiones http/https.


Componentes Enterprise JavaBeans EJB:

Tecnolog铆a de servidor para el desarrollo y despliegue de componentes que contienen la l贸gica de negocio de una aplicaci贸n empresarial Lo EJBs son escalables, transaccionales y seguros en utilizaci贸n multiusuario.


Componentes Enterprise JavaBeans

Tres tipos:

De sesi贸n, con estado y sin estado De entidad. Dirigidos por mensajes.

Contenedores EJB: Proporcionan los servicios de transacciones y persistencia y accede a las APIS de servicios y comunicaciones de JEE.


Arquitectura JEE


Servicios plataforma JEE

Simplifican el desarrollo de aplicaciones poniendo recursos a su disposición

Servicios de nombrado: Proporcionan a las aplicaciones cliente, EJBs y componentes WEB el acceso al entorno de nombrado JNDI. Permite personalizar un componente sin necesidad de acceder o cambiar su código. Servicios de despliegue: Permiten personalizar los componentes y aplicaciones en el momento del empaquetamiento de despliegue.

Aplicación JEE = conjunto de unidades o módulos. Módulo = uno o más componentes JEE para el mismo tipo de contenedor En cada módulo, un descriptor de despliegue.


M贸dulos JEE

Empaquetan componentes o aplicaciones JEE. Tres tipos:

Archivos JAR (Java ARchive) Archivos WAR (Web Application ARchive) Archivos EAR (Enterprise Application ARchive)


Archivos JAR (Java ARchive)

Permite agrupar distintos archivos java en uno solo. Sigue el formato ZIP Incorporado en la versi贸n 1.1 del JDK Contienen:

Clases java Recursos que emplean las clases

Es el empleado para empaquetar componentes EJBs, respetando una estructura de directorios


Archivos WAR (Web Application ARchive)

Permiten empaquetar en una sola unidad aplicaciones web java completas. Servlets y JSPs Contenido estรกtico

Html Imรกgenes etc.)

Otros recursos web


Archivos EAR (Enterprise Application ARchive) Archivos

desplegables en servidores de aplicaciones JEE Contienen Archivos WAR EJBs (Empaquetados dentro de ficheros JAR)


Servicios plataforma JEE Servicio

de transacciones

Operaciones at贸micas Un sistema transaccional garantiza que cada unidad o transacci贸n se termina completamente sin interferencia de otros procesos.

Commit Rollbak


Servicios plataforma JEE

Servicio de seguridad

Garantiza que los recursos son accedidos por los usuarios autorizados. Distinguimos: Autentificaci贸n Autorizaci贸n

T茅cnicas Declarativa Program谩tica


TecnologĂ­as de servicios

API JDBC

Proporciona conectividad independiente de la base de datos entre la plataforma JEE y un amplio rango de orĂ­genes de datos

JAXP

Soporta el procesamiento de documentos XML mediante DOM y SAX, y transformaciones XSLT.


Tecnologías de servicios

JNDI

Proporciona acceso a servicio de nombrado y directorio Independiente de implementaciones específicas (LDAP, NIS, etc.).

JCA

API estándar para la conexión de la plataforma JEE a otros sistemas de información, ej: SAP.


Tecnologías de servicios

JTA (Java Transaction API)

API estándar para el acceso a los monitores transaccionales con independencia de implementaciones específicas.

JTS (Java Transaction Service).

Especificación para la implementación de un gestor de transacciones que soporte JCA. Impone como debe comunicarse un monitor transaccional con sus clientes.


Tecnolog铆as de comunicaciones

Mecanismos de comunicaci贸n, implementaciones de protocolos.

Protocolos de Internet

TCP/IP, http, SSL

Protocolos de invocaci贸n remota Protocolos OMG Java IDL RMI-IIOP


Tecnologías de comunicaciones

Tecnologías de mensajería.

JMS JavaMail. Conjunto de clases e interfaces para el acceso a servidores de email. Ej, POP3, SMTP, IMAP4.


Servicios WEB

“Son aplicaciones modulares autodescriptivas que se pueden publicar, ubicar e invocar desde cualquier punto de la Web o desde el interior de una red local basada en estándares abiertos de Internet”

Multiplataforma multilenguaje, tanto para el proveedor del servicio como para el usuario del mismo El acceso a servicios web se realiza a través de protocolos de Internet como HTTP o SMTP basados en XML


Servicios WEB


Arquitectura Servicios WEB

Localizaci贸n

UDDI (Universal Description Discovery and integration): Medio para la publicaci贸n de servicios web en los registros de servicios web. Las empresas publican en los registros los servicios que ofrecen y la informaci贸n t茅cnica para acceder a ellos. XML, http, DNS, SOAP.


Arquitectura Servicios WEB

Descripci贸n

WSDL (Web Services Definition Languge) Define y describe los servicios web SOAP, XML.

Invocaci贸n

SOAP (Simple Object Acceso Protocol) XML Formatos de mensajes para encapsula invocaciones a objetos en XML Puede emplear distintos protocolos de Internet para el transporte (SMTP, http, etc.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.