J2EE – Java 2 Enterprise Edition .

38
J2EE – Java 2 Enterprise Edition www.javasoft.com

Transcript of J2EE – Java 2 Enterprise Edition .

Page 1: J2EE – Java 2 Enterprise Edition .

J2EE – Java 2 Enterprise Edition

www.javasoft.com

Page 2: J2EE – Java 2 Enterprise Edition .

¿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

Page 3: J2EE – Java 2 Enterprise Edition .

¿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.

Page 4: J2EE – Java 2 Enterprise Edition .

¿Qué es J2EE? Internet y WWW representan el fundamento sobre los

cuales se esta construyendo la economía de la información.

La meta de J2EE es definir un estándar que ayude a suplir los retos tecnológicos en esta nueva era.

J2EE 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.

J2EE 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.).

Page 5: J2EE – Java 2 Enterprise Edition .

Plataforma J2EE

“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

Page 6: J2EE – Java 2 Enterprise Edition .

APIs y Especificaciones J2EE

EJBs 2.1 JDBC 2.0 Servlets 2.3 JSPs 1.2 JMS 1.0 JNDI 1.2 JTA 1.0 JavaMail 2.0 JAF 1.0

JAXP 1.1 JCA 1.0 JAAS 1.0 XML-RPC Web Services JMX (Java

Management Extensions)

Etc.

En continua revisión y expansión

Page 7: J2EE – Java 2 Enterprise Edition .

Entorno J2EE

Page 8: J2EE – Java 2 Enterprise Edition .

Modelo basado en Componentes.Concepto de contenedor

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.

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.)

Page 9: J2EE – Java 2 Enterprise Edition .

Tecnologías de la plataforma J2EE.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

Page 10: J2EE – Java 2 Enterprise Edition .

Tecnologías de componentes

Componente: unidad de software de nivel aplicación

Ej: Javabeans, applets, componentes web, etc. Los componentes J2EE 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

Page 11: J2EE – Java 2 Enterprise Edition .

Contenedores J2EE

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

Page 12: J2EE – Java 2 Enterprise Edition .

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.

Page 13: J2EE – Java 2 Enterprise Edition .

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

Page 14: J2EE – Java 2 Enterprise Edition .

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.

Page 15: J2EE – Java 2 Enterprise Edition .

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.

Page 16: J2EE – Java 2 Enterprise Edition .

¿Tipos de componentes?

Los que nos van a interesar: Componentes WEB Componentes EJB.

Page 17: J2EE – Java 2 Enterprise Edition .

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.

Page 18: J2EE – Java 2 Enterprise Edition .

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.

Page 19: J2EE – Java 2 Enterprise Edition .

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.

Page 20: J2EE – Java 2 Enterprise Edition .

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.

Page 21: J2EE – Java 2 Enterprise Edition .

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 J2EE.

Page 22: J2EE – Java 2 Enterprise Edition .

Arquitectura J2EE

Page 23: J2EE – Java 2 Enterprise Edition .

Servicios plataforma J2ee

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 J2EE = conjunto de unidades o módulos. Módulo = uno o más componentes J2EE para el mismo tipo

de contenedor En cada módulo, un descriptor de despliegue.

Page 24: J2EE – Java 2 Enterprise Edition .

¿Qué Módulos aporta J2EE?

Empaquetan componentes o aplicaciones J2EE.

Tres tipos: Archivos JAR (Java ARchive) Archivos WAR (Web Application ARchive) Archivos EAR (Enterprise Application

ARchive)

Page 25: J2EE – Java 2 Enterprise Edition .

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

Page 26: J2EE – Java 2 Enterprise Edition .

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

Page 27: J2EE – Java 2 Enterprise Edition .

Archivos EAR (Enterprise Application ARchive)

Archivos desplegables en servidores de aplicaciones J2EE

Contienen Archivos WAR EJBs (Empaquetados dentro de ficheros

JAR)

Page 28: J2EE – Java 2 Enterprise Edition .

Servicios plataforma J2ee

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

Page 29: J2EE – Java 2 Enterprise Edition .

Servicios plataforma J2ee

Servicio de seguridad Garantiza que los recursos son accedidos

por los usuarios autorizados. Distinguimos:

Autentificación Autorización

Técnicas Declarativa Programática

Page 30: J2EE – Java 2 Enterprise Edition .

Tecnologías de servicios

API JDBC Proporciona conectividad independiente de

la base de datos entre la plataforma J2EE y un amplio rango de orígenes de datos

JAXP Soporta el procesamiento de documentos

XML mediante DOM y SAX, y transformaciones XSLT.

Page 31: J2EE – Java 2 Enterprise Edition .

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 J2EE a otros sistemas de información, ej: SAP.

Page 32: J2EE – Java 2 Enterprise Edition .

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.

Page 33: J2EE – Java 2 Enterprise Edition .

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

Page 34: J2EE – Java 2 Enterprise Edition .

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.

Page 35: J2EE – Java 2 Enterprise Edition .

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

Page 36: J2EE – Java 2 Enterprise Edition .

Servicios WEB

Page 37: J2EE – Java 2 Enterprise Edition .

Arquitectura Servicios WEB

Localización, descripción e invoación: 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.

Page 38: J2EE – Java 2 Enterprise Edition .

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.