Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN II
Pedro Julián González
EJE 2
Analicemos la situación
Fuente: Shutterstock/510212359
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Atributos de JSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Ciclo de vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
ÍNDICE
Introducción
Características
Abstracción de sesiones No se hace necesario manipular las sesiones y las URL de forma
y URL directa, ya que el framework es quien se encarga de realizar esa tarea.
Incluye las interfaces y las herramientas necesarias para integrarse
Acceso a datos
con herramientas para el acceso a datos en XML, BBDD, entre otros.
Los frameworks, en su mayoría, implementan un conjunto de con-
troladores para la administración de eventos, la entrada de datos a
Controladores través de formularios o el acceso a una determinada página. Dichos
controladores se adaptan de manera fácil a las necesidades de un
proyecto en específico.
Integran mecanismos para la identificación de usuarios, a través de
Control y autenticación un login, password, los cuales permiten la restricción del acceso a
ciertas páginas a algunos usuarios.
Struts configuration
File
(struts-config.xml)
Instrucción
Lo invitamos a la página principal del eje para ver
las videopreguntas.
Lectura recomendada
Lo invitamos a la página principal del eje
para realizar la lectura complementaria:
Desde hace varios años se han vuelto populares las aplicaciones orientadas a la web
que manejan una única página, diferenciándose de las soluciones de software tradi-
cionales que se basan en la navegación de múltiples páginas. Las primeras intentan
simular el comportamiento del software de escritorio y se denominan RIA (Rich Internet
Applications).
Entre los frameworks tipo JavaScript más conocidos está jQuery, el cual facilita la
tarea ardua de hacer la correspondiente definición de la interfaz de usuario del software.
Sin embargo, el testeo y mantenimiento del código tiende a hacerse complicado. Aquí
participan varios componentes: en primera instancia las páginas con contenido HTML
en las que se encuentra inmerso el código JavaScript y la comunicación con el servidor.
También suele hacerse complicado reciclar y por ende compartir la programación que ha
sido escrita en JavaScript con diferentes sitios y comunidades de desarrolladores.
Es aquí entonces donde el desarrollador genera una interfaz de usuario haciendo uso de
un lenguaje de elementos específicos. El resultado se almacena en el servidor como una
página de texto. En el momento en el que el servidor recibe una solicitud, debe procesar la
página y generar otra que contenga aquellos componentes de la interfaz usando un formato
JavaScript y HTML, este es enviado al navegador como respuesta a la solicitud inicial.
Para que JSF2 defina la correspondiente interfaz, debe hacerlo con archivos de página
que tengan formato XHTML con diferentes tipos de marcas o etiquetas. Esas páginas son
denominadas sitios JSF o páginas. La siguiente figura muestra con simplicidad, como fun-
ciona JSF en la generación de un sitio o página por vez primera.
• Más simple al utilizarse: es bastante sencillo acceder a los objetos de los datos y
negocio a partir de la presentación.
Atributos de JSF
Es claro que JSF está dentro del marco de los framework MVC, el cual se basa en el
API de servlets y brinda distintos elementos en forma de marcas definidas al interior de
páginas con formato XHTML a través del framework Facelets. Este último se ha definido en
la especificación 2 de JSF como el componente principal que brinda atributos de plantillas
y de igual forma de creación de componentes más elaborados o compuestos. Antes de
Diversas ventajas hacen que JSF sea una tecnología que se ajusta al marco del desa-
rrollo de aplicaciones orientadas a la web, entre ellas pueden mencionarse:
¡Recordemos que!
Una meta clara de JavaServer Faces es la de mejorar los conceptos
familiares capa-web y disadvantage de componente-UI, sin limitar
a una tecnología particular de script o un lenguaje de etiquetas.
Aunque dicha tecnología incluye una librería de etiquetas o mar-
cas JSP personalizadas para representar elementos en un sitio JSP,
los correspondientes API de la tecnología JavaServer Faces se han
construido directamente sobre el API JavaServlet. Esto ayuda en la
realización de algunas cosas como usar una tecnología diferente
en el ámbito de presentación junto a JSP, generar componentes
propios y personalizados, desde las clases de componentes y, de
esta forma, generar salida para distintos dispositivos tipo cliente.
De esta forma, se podrán encapsular muchas otras tecnologías
como Ajax en componentes JSF, haciendo que su uso sea más
productivo y sencillo, ya que el programador ha sido aislado de
ellas (Junta de Andalucía, s.f.).
5. Invocar a la aplicación (invoke application). En esta fase, los atributos de los beans
que se encuentran asociados a componentes de entrada (input) ya han debido
actualizarse. Se hace un llamado a la acción que ha seleccionado el usuario.
Figura 5
Fuente: http://www.jtech.ua.es/j2ee/publico/jsf-2012-13/sesion03-apuntes.html
Al culminar una a una las fases, se debe comprobar si existe cualquier evento que
deba procesarse en esa fase y deberá llamarse a su correspondiente administrador; son
llamados los manejadores de los eventos, quienes deben ser procesados en cualquier
fase. De igual manera, los manejadores pueden pasar a la última fase del ciclo. Esto
con el objetivo de renderizar de forma eficiente el árbol de componentes, haciendo un
llamado al método Render Response que hace parte del FacesContext. También puede
renderizarse el componente que está asociado con el evento y establecer una llamada al
método Response del FacesContext y de esta forma culminar el ciclo de vida.
JSF genera un evento (PhaseListener) al principio y al finalizar cada etapa del ciclo de
vida de la solicitud. Si lo que se busca es capturar el evento, debe definirse la clase que
logre implementar la interfaz PhaseListener y los correspondientes métodos afterPhase
y beforePhase.
• Fichero de faces-config.xml.
Los componentes de tipo port establecen la vista del servidor de un servicio web. El
port brinda un servicio, el cual está asignado a una dirección física particular establecida
por las características tipo address de la definición <port> de un WSDL.
SEI, puede definirse como el mapeado java del <portType> y <binding>, el cual se ha
asociado a un <port> de un WSDL. Los servicios web pueden definirse como el conjunto
de elementos tipo Port que se distinguen particularmente por su dirección física, los
cuales deben mapear en componentes port de manera separada, cada uno con sus
atributos exclusivos, aunque probablemente compartidos, entre estos se encuentra el
Service Implementation Bean. A continuación, se puede ver una vista del servidor el cual
se hace partícipe de un servicio web.
Container
Port Port
Service Service
Endpoint Service Endpoint Service
Interface Impl Interface Impl
Port
Service
Endpoint Service
Interface Impl
• Los parámetros y atributos de los métodos y tipos de retorno deben ser compati-
bles con JAXB.
Instrucción
https://docs.google.com/file/d/0B1znxPN5ACgSbHhVU1RaVFh0cVU/
edit