Escolar Documentos
Profissional Documentos
Cultura Documentos
Programa
SEMANA 1: Arquitectura de Aplicaciones J2EE
Sesin 1.
1.Introduccin y motivaciones de J2EE
2.Servicios ofrecidos por un contenedor J2EE
3.Versiones de J2EE
4.Capas J2EE
5.Empaquetado y despliegue de aplicaciones J2EE
6.Descriptores de despliegue
Sesin 2. Creacin de Servlets
1.Contenedor de servlets.
2.Ciclo de vida de un Servlet.
3.Despliegue de Servlets.
4.Escribir, compilar, instalar y ejecutar un Java Servlet.
5.Servlet container y servlet API.
6.Compartir datos entre Servlets.
SEMANA 1: Arquitectura de Aplicaciones J2EE
Programa
Sesin 3. JavaServer Pages (JSP)
1.Definir qu es una pgina JSP
2.Variables implcitas
3.Objetivo de las libreras de tags
4.Creacin de tags bsicos
5.Tags con parmetros
6.Tags con contenido
7.Control de errores
8.Escribir e instalar una pgina JSP
9.Servlet vs. JSP
10.Los modelos de arquitectura de una aplicacin con JSP
Introduccin JEE
VP BU
Reportes en linea
BI Business Intellegence,
JasperReport, Crystal Report.
CIO
Presentacion
Produccion
Ventas
Presupuesto
JSP,JSF,Strust
Ventas Marketing
Proyectos
Gerencia
Internet Information
Services o IIS
Business Intelligence
RMI
SERVICIOS
INDUSTRIALES
COMERCIAL
IBM WebSphere
Application Server
JBoss
Missed orders
CLIENTES
Modificar
Orden
Vendedores
Retornar
Orden
Servicio Cliente
Nuevos Usuarios
Nuevos Usuarios
Servicios en
Linea : Web
Services, EJBs,
Portales
Nuevos Usuarios
EJBs, RMI, JNDI.
Servicios en Linea :
Web Services, CORBA,
Portales.
Java EE
Java EE (Java Enterprise Edition): Plataforma Java para el
desarrollo de aplicaciones empresariales.
Interaccin con diversas fuentes de datos.
Interaccin con otros sistemas (actuales y/o legados).
Acceso Web (jsp y servlet).
Concurrencia.
Alta carga de procesamiento.
Usuarios con diferentes perfiles.
Requerimientos de seguridad.
Provee un ambiente de ejecucin y un conjunto de APIs:
Servlets, JSP, JSF, EJB, JMS, JDBC, JPA, JNDI,JavaMail, JAXB,
JAXP, JAX-WS, etc.
SEMANA 1: Arquitectura de Aplicaciones
J2EE
Versiones
Arquitectura multi-nivel(multi-tier)
Arquitectura multi-nivel(multi-tier)
Define una infraestructura comn bsica para el acceso a
bases de datos, gestin de la persistencia, control de
seguridad, gestion de transacciones.
Separacin clara entre presentacin (interfaz), modelo
(lgica) de negocio y datos.
Plataforma basada en componentes
Componentes de Arquitectura
Clientes de la aplicacin
clientes web [navegador].
clientes de escritorio Java [swing, awt].
clientes de escritorio no Java.
10
Componentes de Arquitectura
Componentes de negocio: EBJ (Enterprise Java Beans) y
entidades JPA (Java Persistence API ).
11
Componentes de Arquitectura
12
Contenedores
13
Contenedores
Simplifican el desarrollo de los componentes ocultando los
detalles complejos.
Sus tareas concretas depende de la capa a la que
pertenezcan.
Ofrecen servicios a los componentes, actuando como
interfaz entre un componente y los aspectos de bajo nivel
de cada plataforma.
14
Contenedores
Un contenedor permite a los componentes interactuar con los
servicios brindados por el servidor de aplicaciones.
Seguridad
Acceso a datos
Transacciones
Acceso a recursos
Comunicaciones
15
16
17
Empaquetado de Aplicaciones
JEE - Archivos EAR
Los archivos EAR (Enterprise Archive) es un formato utilizado
en la arquitectura JEE para desplegar de manera coherente y
simultnea varios mdulos en un servidor de aplicaciones.
Contiene archivos XML denominados descriptores de
despliegue que describen como desplegar los mdulos
contenidos en el paquete EAR.
Aplicacin/es
web java
empaquetadas
en WAR
Objetos
distribuidos
EJB
empaquetados
en JAR
Aplicacin
empresarial
JEE (Archivo
EAR).
18
Estructura EAR
19
Descriptores JEE
Descriptores de despliegue JEE
(JEE deployment descriptor):
configuran las opciones de
despliegue de cualquier
componente de Java
Empresarial.
Descriptores de despliegue del
entorno de ejecucin (runtime
deployment descriptor):
configuran opciones del entorno
de ejecucin de nuestra
aplicacin empresarial, tales
como las opciones de cach en
el servidor
SEMANA 1: Arquitectura de Aplicaciones
J2EE
20
Despliegue de Aplicaciones
21
22
23
24
25
26
IDEs
27
Preguntas?
28
Servlet
29
Servlets
Sesin 2. Creacin de Servlets
1. Contenedor de Servlets.
2. Ciclo de vida de un Servlet.
3. Despliegue de Servlets.
4. Escribir, compilar, instalar y ejecutar un Java Servlet.
5. Servlet container y servlet API.
6. Compartir datos entre Servlets.
30
Servlets
Los servlets son objetos que corren dentro y fuera del
contexto de un contenedor de servlets (ejemplo: Tomcat) y
extienden su cuidado.
La palabra servlet deriva de otra anterior, applet, que se
refera a pequeos programas que se ejecutan en el
contexto de un navegador web. Por contraposicin.
El uso ms comn de los servlets es generar pginas web de
forma dinmica a partir de los parmetros de la peticin que
enve el navegador web.
Los Servlets son la alternativa Java a los CGIs.
Actan como capa intermedia entre:
31
Servlets
Son aplicaciones Java especiales, que extienden la
funcionalidad del servidor HTTP, dedicadas a:
32
33
Servlets
34
Ciclo de Vida
35
Ciclo de Vida
Init
doGet y doPost
Destroy
36
Contenedor de Servlets
Un contenedor de Servlet es un programa capaz de recibir
peticiones de pginas web y redireccionar estas peticiones a
un objeto Servlet.
1. El Browser pide una pgina al servidor HTTP que es un contenedor
de Servlets.
2. El contenedor de Servlets delega la peticin a un Servlet en
particular elegido de entre los Servlets que contiene.
3. El Servlet, que es una objeto java, se encarga de generar el texto
de la pgina web que se entrega al contenedor.
4. El contenedor devuelve la pgina web al Browser que la solicit.
37
38
Servlet API
Una interfaz de programacin de aplicaciones o API
(Application Programming Interface) es el conjunto de
funciones y procedimientos (o mtodos, en la programacin
orientada a objetos) que ofrece cierta biblioteca.
Para implementar los servlets se hace uso de:
javax.servlet
javax.servlet.http
Incluir postulados import:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
39
Ejemplo
40
Ejemplo
URL relativo a
la Webapp
try {
String name=request.getParameter("name");
tring email=request.getParameter("email");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Obtener</title>");
out.println("</head>");
out.println("<body>");
out.println("<div>El nombre ingresado es: </div>"+name);
out.println("<div>El email ingresado es: </div>"+email);
out.println("</body>");
out.println("</html>");
out.close();
Generacin de
texto
finally {
}
}
41
Ejemplo
Resultado
42
Preguntas?
43
JSP
Java Server Page
44
45
JSP
JSP es una especificacin de Sun Microsystems.
Sirve para crear y gestionar pginas web dinmicas.
Permite mezclar en una pgina cdigo HTML para generar la
parte esttica, con contenido dinmico creado a partir de
marcas especiales.
El contenido dinmico se obtiene, en esencia, gracias a la
posibilidad de incrustar dentro de la pgina cdigo Java de
diferentes formas.
Su objetivo final es separar la interfaz (presentacin visual)
de la implementacin (lgica de ejecucin).
46
JSP
La pgina JSP se convierte en un servlet.
La conversin la realiza en la mquina servidora el motor o
contenedor la primera vez que se solicita la pgina JSP.
Este servlet generado procesa cualquier peticin para esa
pgina JSP.
Si se modifica el cdigo de la pgina JSP, entonces se
regenera y recompila automticamente el servlet y se recarga
la prxima vez que sea solicitada.
47
Ventajas
Mayor encapsulamiento:
Uso de clases
Uso de JavaBeans
Mayor escalabilidad
Uso de tags: similitud con HTML
Mayor portabilidad
Uso de un lenguaje estndar y muy difundido.
Separacin del contenido esttico del dinmico.
48
Ciclo de Compilacin
49
Variable Implcitas
Variable
Clase
pageContext
javax.servlet.jsp.PageContext
request
javax.servlet.http.HttpServletRequest
response
javax.servlet.http.HttpServletRespons
e
session
javax.servlet.http.HttpSession
config
javax.servlet.ServletConfig
application
javax.servlet.ServletContext
out
javax.servlet.jsp.JspWriter
page
java.lang.Object
exception
java.lang.Exception
50
51
Mi primer TAG
Vamos a desarrollar un tag que aada la firma de la empresa.
Creamos una nueva clase com.dflanvin.tag.FirmaTag que extienda
TagSupport
Aadimos un atributo privado name y su correspondiente mtodo
setName().
Implementamos el mtodo doEndTag():
public int doEndTag( ) {
try {
pageContext.getOut( ).println("<br>"+name +
"<br>------------------<br>Uniovi.es @ 2008");
pageContext.getOut().println(
"<br>+034985105094/FAX: +0349855094");
}
catch (IOException e) {} // Ignore it
return EVAL_PAGE;
}
52
Servlet vs JSP
Servlets: Java con HTML embebido.
JSPs: HTML con Java embebido.
Semejanzas:
JSP son una extensin de Servlets. No aporta
funcionalidades nuevas.
Un JSP compilado es un Servlet.
Misma funcin: construir contenido dinmico.
Diferencias:
JSP separa ms claramente el diseo de la lgica
Ms sencillo modificar cdigo HTML que miles de
sentencias println.
SEMANA 1: Arquitectura de Aplicaciones
J2EE
53
54
55