Anda di halaman 1dari 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)
11/2014
Aplicaciones Distribuidas

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

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

JEE

www.ups.edu.ec

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

www.ups.edu.ec

JEE

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

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

JSF no es la nica alternativa en el mercado, y Struts es su mas

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

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.
Valor PROJECT_STAGE en configuracin web.xml

Facelets, no JSP, es la tecnologa estndar para todas las

pginas JSF.
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= resultado)d />
</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

Anda mungkin juga menyukai