Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ec
JEE
Antecedentes
Desventajas de las aplicaciones basadas en browser
Interfaz grafica pobre (HTML),
Comunicacin ineficiente.
Mayor complejidad de desarrollo frente a aplicaciones de
escritorio
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
Aplicaciones Distribuidas
11/2014
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)
Aplicaciones
Distribuidas
Java Authentication
and Authorization Service
11/2014
www.ups.edu.ec
JEE
Antecedentes
Aplicaciones Distribuidas
Arquitectura JEE (3
capas)
11/2014
www.ups.edu.ec
JEE
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
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
JSF
10/2013
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
Comparativa
Alternativas
10/2013
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
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
JSF
Otras alternativas
Spring MVC
Apache Wicket
Apache Tapestry
..
a JSF:
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Comparativa
JSF
2 vs Struts 2
Ventajas de JSF
Diversidad de componentes personalizados
Soporte para otras tecnologas de presentacin
Parte de JEE
Definicin ms simple de Controller y Bean
Definicin ms simple de archivos de configuracin y de su
estructura en general
Herramientas ms poderosas que potencializan el desarrollo
Desventajas de JSF
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
Comparativa
Componentes
10/2013
Aplicaciones Distribuidas
JEE
www.ups.edu.ec
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
10/2013
Aplicaciones Distribuidas
www.ups.edu.ec
JEE
en lugar de
<h:outputText value="#{miBean.myPropiedad}"/>