Documentos de Académico
Documentos de Profesional
Documentos de Cultura
www.javasoft.com
¿Por qué Java en el servidor?
Ventajas
Independencia de la plataforma –
portabilidad
Gran conjunto de APIs
Reusabilidad y modularidad
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 5
Web Services Technologies Enterprise Application Technologies
Implementing Enterprise Web Enterprise JavaBeans 3.0 (JSR 220)
Services (JSR 109) JEE Connector Architecture 1.5 (JSR
Java API for XML-Based Web 112)
Services (JAX-WS) 2.0 (JSR 224) Common Annotations for the Java Platform
Java API for XML-Based RPC (JSR 250)
(JAX-RPC) 1.1 (JSR 101) Java Message Service API (JSR 914)
Java Architecture for XML Java Persistence API (JSR 220)
Binding (JAXB) 2.0 (JSR 222) Java Transaction API (JTA) (JSR 907)
SOAP with Attachments API for JavaBeans Activation Framework (JAF) 1.1
Java (SAAJ) (JSR 67) (JSR 925)
Streaming API for XML (JSR 173) JavaMail (JSR 919)
Web Service Metadata for the Java Management and Security
Platform (JSR 181) Technologies
JEE Application Deployment (JSR 88)
Web Application Technologies JEE Management (JSR 77)
Java Authorization Contract for Containers
Java Servlet 2.5 (JSR 154)
(JSR 115)
JavaServer Faces 1.2 (JSR 252)
JavaServer Pages 2.1 (JSR 245)
JavaServer Pages Standard Tag En continua revisión y expansión
Library (JSR 52)
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
Publicación de componentes y
otros recursos en espacio JNDI
Clustering.
Etc.
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
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)
Imágenes
etc.)
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
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