Está en la página 1de 22

www.ups.edu.

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

Entonces Por qu de la moda de aplicaciones


web?

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

Menores requerimientos del lado del cliente


Portabilidad

Opcin

11/2014
Aplicaciones Distribuidas

www.ups.edu.ec

JEE

Las aplicaciones empresariales

Proporcionan la lgica del negocio para una


empresa.
Se gestionan de forma centralizada
Posibilitan interactuar con otras aplicaciones de
le propia empresa o de terceros.
Cada vez construidas y diseadas a menor costo
y de forma ms rpida.
Alternativa JEE
Conjunto de APIS que permite:
Acortar los tiempos de desarrollo.
Reduccin de la complejidad de las aplicaciones
Mejor del rendimiento y seguridad de las
aplicaciones
Estndares JAVA (JCP)

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)

La lgica de negocio y presentacin para ser


implementado por el desarrollador
Los servicios del sistema de seguridad
proporcionados por la plataforma Java EE

11/2014

www.ups.edu.ec

JEE

Modelo de aplicaciones JEE

La lgica de negocio y la presentacin a ser implementado


por el desarrollador

Los servicios del sistema estndar proporcionados por la


plataforma Java EE

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

Qu es Java Server Faces?


Framework estndar de Java para la creacin de UI.
Solucin robusta con pautas de desarrollo bien definidas
Simplifica el desarrollo de interfaces de usuario.
Enfoque de desarrollo independiente del cliente
Simplifica el acceso y gestin de datos
Amigable para diversos tipos de desarrolladores
Construida sobre la experiencia de muchos preexistentes
frameworks de desarrollo web en Java (Struts, Spring, JSF 2
Richfaces, Primefaces, IceFaces).
Sin sacrificar la potencia y flexibilidad

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

Inicio de Java como tecnologa del lado del servidor


Orientado a objetos
Multiplataforma
out.println("<table width=\"75%\" border=\"0\"align=\"center\">");

JavaServer Pages (JSP)

1998

Construido sobre servlets


Editar paginas HTML introduciendo las partes dinmicas dentro de
etiquetas especiales <% . %>
Traducir el contenido JSP a un cdigo (clase) de servlet

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)

Framework Spring y Spring MVC


Basado en mdulos (acceso a base de datos, validaciones,
intercionalizacin, spring MVC, etc.)
La lgica de negocio reside en clases POJO.
JSF
Necesidad de mejorar la manera de manejar el nivel de vista
en las apps web, partiendo Struts.

11/2014
Aplicaciones Distribuidas

www.ups.edu.ec

JEE

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)

Framework

Spring y Spring MVC

Basado en mdulos (acceso a base de datos, validaciones,


intercionalizacin, spring MVC, etc.)
La lgica de negocio reside en clases POJO.

JSF

Necesidad de mejorar la manera de manejar el nivel de vista en


las apps web, partiendo Struts.
Necesidad traducida en la JSR #127 de la que nace JSF

10/2013
Aplicaciones Distribuidas

JEE

www.ups.edu.ec

Comparativa
Alternativas

para desarrollo de aplicaciones Web


JSP/Servlet (con MVC)
Struts 2
JSF 2.0

JSP/Servlet vs JSF 2.0

Struts 2 vs JSF 2.0

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

no es la nica alternativa en el mercado, y Struts


es su mas serio competidor

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

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

Nuevas Caractersticas de JSF 2


Implementa buenas practicas de otros frameworks como
JBoss Seam, Richfaces (Ajax4jsf).
Ms ayuda en la depuracin durante el proceso de
desarrollo.

Facelets, no JSP, es la tecnologa estndar para


todas las pginas JSF.

Valor PROJECT_STAGE en configuracin web.xml

Uso obligatorio de xmlns:h="http://java.sun.com/jsf/html",


dejando de un lado @taglib

Se puede utilizar los nombres por defecto de bean.

<managed- bean> en faces-config.xml por @ManagedBean


sobre la definicin de la clase
package1.MiBean, se utiliza # {miBean.propiedadX}
@ManagedBean (name = algunNombre")

10/2013
Aplicaciones Distribuidas

www.ups.edu.ec

JEE

Nuevas Caractersticas de JSF 2


Reglas de navegacin implcitas
ActionController retorna error error.jsf
Se puede usar #{miBean.miPropiedad}

en lugar de
<h:outputText value="#{miBean.myPropiedad}"/>

Antes: <h1> <h:outputText


value="#{miBean.titulo}"/></h1>
Ahora: <h1> #{miBean.titulo}"</h1>

Soporte para AJAX


<h:inputtext . >
<f:ajax render=resultadoId />
</h:inputtext>
Facilidad para crear componentes personalizados
API basado en Facelets en lugar de cdigo Java
Facelets ya integrado dentro del propio estndar.
Diseo de plantillas integrado
10/2013
Aplicaciones Distribuidas

También podría gustarte