ec
JEE
Antecedentes
11/2014
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Antecedentes
Por qu todos quieren aplicaciones web?
Acceso Universal
Todos los computadores tienen un browser instalado
Acceso por medio de la red.
Actualizaciones automticas
Consulta directa a la fuente de informacin
Informacin actualizada.
Sin problemas de incompatibilidad de versiones
Opcin
11/2014
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
JEE
www.ups.edu.ec
Introduccin
Java Enterprise Edition (JEE)
Permite el desarrollo con arquitectura de N capas
Una especificacin no un producto
Considerado un estndar
Conjunto de tecnologas
Enterprise JavaBeans (EJB).
Java Servlet
JavaServer Page (JSP)
JavaServer Pages Standard Tag Library (JSTL).
JavaServer Faces
Java Message Service (JMS).
Java Transaction API (JTA).
JavaMail API y JavaBeans Activation Framework (JAF).
Tecnologas XML
JDBC API
Java Naming and Directory Interface (JNDI)
Java Authentication and Authorization Service (JAAS)
Se ejecuta sobre un servidor de aplicaciones
Aplicaciones
Distribuidas
Solucin
libre
11/2014
www.ups.edu.ec
JEE
Antecedentes
Aplicaciones Distribuidas
11/2014
JEE
www.ups.edu.ec
11/2014
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
Arquitectura
Distribuida
Arquitectura de 3
niveles
11/2014
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
Componentes de
Negocio
11/2014
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
Contenedores JEE
Modelos
Seguridad
Gestin de transacciones,
Bsquedas JNDI
conectividad remota
Servidores y Contenedores
Servidor Java EE
Contenedor EJB
Contenedor Web
Contenedor de cliente de aplicaciones
Contenedor Applet
11/2014
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
11/2014
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Historia
CGI (Common Gateway Interface) 1990
Invoca a un proceso del servidor para generar una salida dinmica (ligado al
Sistema Operativo).
Alto consumo de recursos
Origen histrico para dems plataformas
API Servlet
1998
1998
11/2014
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
Historia
Apache Struts
Populariza al introducir el patrn MVC
Model-View-Controller = JavaBeans-JSPs-Servlets
La vista es el cdigo de la interfaz de usuario y el modelo es el cdigo del lado del servidor para
el procesamiento de datos de aplicacin
Desarrollo de UI no a la altura de otras tecnologas (ASP.NET)
11/2014
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Historia
Apache
Struts
Model-View-Controller = JavaBeans-JSPs-Servlets
La vista es el cdigo de la interfaz de usuario y el modelo es el cdigo del lado del
servidor para el procesamiento de datos de aplicacin
Desarrollo de UI no a la altura de otras tecnologas (ASP.NET)
Framework Spring
y Spring MVC
partiendo Struts.
Necesidad traducida en la JSR #127 de la que nace JSF
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Comparativa
Alternativas para desarrollo de
aplicaciones Web
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Comparativa
JSP/Servlet MVC
vs JSF 2
Flujos de datos en JSP/Servlet MVC
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Comparativa
JSF
2 vs JSP/Servlet MVC
Ventajas de JSF
Conversin y validacin de campos del formulario
Gestin de eventos
Beans gestionados (Management beans)
Integra soporte AJAX
Enfoque coherente (MVC)
Manejo de plantillas
Desventajas de JSF
Gran curva de aprendizaje y poca documentacin
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Comparativa
JSF
2 vs Struts 2
serio competidor
Otras alternativas a JSF:
Spring MVC
Apache Wicket
Apache Tapestry
..
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Comparativa
JSF
2 vs Struts 2
Ventajas de JSF
general
Herramientas ms poderosas que potencializan el desarrollo
Desventajas de JSF
Menor base establecida de aplicaciones en produccin
Validacin automtica mucho ms dbil
Carece de formas de validacin del lado del cliente
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Comparativa
Componentes JSF
personalizados de terceros
10/2013
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
pginas JSF.
Uso obligatorio de xmlns:h="http://java.sun.com/jsf/html", dejando de
un lado @taglib
www.ups.edu.ec
JEE
<h:outputText value="#{miBean.myPropiedad}"/>
10/2013
Aplicaciones Distribuidas