Una bitacora en las que les voy a compartir temas que se me estan dando en una de las etapas finales de mi carrera profesional como ingeniero de sistemas.
miércoles, 16 de marzo de 2011
Pequeña aplicacion JSF (ComboBox Cambia valor) en Netbeans 6.9
Espero que sea de su agrado.
lunes, 14 de marzo de 2011
Art. PATRON MVC EN SGSSS
Revista de la Universidad Simon bolivar.
http://www.unisimonbolivar.edu.co/rdigital/ingenieria/index.php/identic/article/view/13?tomo=
domingo, 13 de marzo de 2011
viernes, 11 de marzo de 2011
MVC - JAVASERVER FACES
Que es JavaServer Faces ?
Definicion
La tecnología JavaServer Faces es un framework de interfaz de componentes de usuarios del lado del servidor para las aplicaciones web basadas en la tecnología Java. Los principales componentes de la tecnología JSF son:
- Una API para:Representar componentes de Interfaz de Usuario (UI) y gestionar su estado.
- Manejar eventos, validar en el servidor y conversión de datos.
- Definir la navegación de páginas.
- Soporte de internacionalización y accesibilidad.
- Dos librerías de etiquetas JSP personalizadas para expresar componentes en una página JSP y enlazar los componentes a objetos del servidor.
- Poner componentes en una página mediante etiquetas de componentes.
- Enlazar eventos generados por componentes con código de la aplicación en el servidor.
- Relacionar componentes UI en una página con datos del servidor.
- Construir una UI con componentes reutilizables y extensibles.
- Salvar y restaurar el estado de la UI más allá de la vida de las peticiones.
- JSF 1.0 (11-03-2004)
- JSF 1.1 (27-05-2004) – Especificación JSR-127: http://jcp.org/en/jsr/detail?id=127
- JSF 1.2 (11-05-2006) – Especificación JSR-252: http://jcp.org/en/jsr/detail?id=252
Por hacer un resumen, JSF proporciona:
- Una clara separación entre vista y modelo.
- Desarrollo basado en componente, no en peticiones.
- Las acciones del usuario se ligan muy fácilmente al código en el servidor.
- Creación de familias de componentes visuales para acelerar el desarrollo.
- Ofrece múltiples posibilidades de elección entre distintos desarrollos.
Características
- Un API y una implementación de referencia para: representar componentes UI y manejar su estado; manejo de eventos, validación del lado del servidor y conversión de datos; definir la navegación entre páginas; soportar internacionalización y accesibilidad; y proporcionar extensibilidad para todas estas características.
- Una librería de etiquetas JavaServer Pages (JSP) personalizadas para dibujar componentes UI dentro de una página JSP.
- Conectar eventos generados en el cliente a código de la aplicación en el lado del servidor.
- Mapear componentes UI a una página de datos del lado del servidor.
- Construir un UI con componentes reutilizables y extensibles.
- Grabar y restaurar el estado del UI más allá de la vida de las peticiones de servidor.
La página JSP, myform.jsp, dibuja los componentes del interface de usuario con etiquetas personalizadas definidas por la tecnología JavaServer Faces. El UI de la aplicación Web (representado por myUI en la imagen) maneja los objetos referenciados por la página JSP:
- Los objetos componentes que mapean las etiquetas sobre la página JSP.
- Los oyentes de eventos, validadores, y los conversores que están registrados en los componentes.
- Los objetos del modelo que encapsulan los datos y las funcionalidades de los componentes específicos de la aplicación.
Ventajas e inconvenientes de JSF
Existen numerosas ventajas que hacen que JSF sea una tecnología apropiada para el desarrollo de aplicaciones web:
- Una de las grandes ventajas de la tecnología JavaServer Faces es que ofrece una clara separación entre el comportamiento y la presentación. Las aplicaciones Web construidas con tecnología JSP conseguían parcialmente esta separación. Sin embargo, una aplicación JSP no puede mapear peticiones HTTP al manejo de eventos específicos del componentes o manejar elementos UI como objetos con estado en el servidor.
- La tecnología JavaServer Faces permite construir aplicaciones Web que implementan una separación entre el comportamiento y la presentación tradicionalmente ofrecidas por arquitectura UI del lado del cliente. JSF se hace fácil de usar al aislar al desarrollador del API de Servlet.
- La separación de la lógica de la presentación también le permite a cada miembro del equipo de desarrollo de una aplicación Web enfocarse en su parte del proceso de desarrollo, y proporciona un sencillo modelo de programación para enlazar todas las piezas.
- Otro objetivo importante de la tecnología JavaServer Faces es mejorar los conceptos familiares Disadvantage de componente-UI y capa-Web sin limitar a una tecnología de script particular o un lenguaje de marcas. Aunque la tecnología JavaServer Faces incluye una librería de etiquetas JSP personalizadas para representar componentes en una página JSP, los APIs de la tecnología JavaServer Faces se han creado directamente sobre el API JavaServlet. Esto permite hacer algunas cosas: usar otra tecnología de presentación junto a JSP, crear componentes propios personalizados directamente desde las clases de componentes, y generar salida para diferentes dispositivos cliente. Así, se podrán encapsular otras tecnologías como Ajax en componentes JSF, haciendo su uso más fácil y productivo, al aislar al programador de ellas.
- JavaServer Faces ofrece una gran cantidad de componentes opensource para las funcionalidades que se necesiten. Los componentes Tomahawk de MyFaces y ADFFaces de Oracle son un ejemplo. Además, también existe una gran cantidad de herramientas para el desarrollo IDE en JSF al ser el estándar de JAVA.
- La tecnología JavaServer Faces proporciona una rica arquitectura para manejar el estado de los componentes, procesar los datos, validar la entrada del usuario, y manejar eventos.
- Además, ofrece una rápida adaptación para nuevos desarrolladores.
- Su naturaleza como estándar hace que la evolución de JSF no sea tan rápida como pueda ser la de otros entornos como WebWork, Wicket, Spring , etc.
JSF presenta dos nuevos términos:
- managed bean (objeto manejado): Un managed bean describe cómo se crea y se maneja un bean. No tiene nada que ver con las funcionalidades del bean.
- backing bean (objeto de respaldo). El backing bean define las propiedades y la lógica de manejo asociadas con los componentes UI utilizados en la página. Cada propiedad del bean de respaldo está unida a un ejemplar de un componente o a su valor. Un backing bean también define un conjunto de métodos que realizan funciones para el componente, como validar los datos del componente, manejar los eventos que dispara el componente y realizar el procesamiento asociado con la navegación cuando el componente se activa.
En comparación con la aproximación ActionForm y Action de Struts, el desarrollo con beans de respaldo de JSF sigue unas mejores prácticas de diseño orientado a objetos. Un backing bean no sólo contiene los datos para ver, también el comportamiento relacionado con esos datos. En Struts, Action y ActionForm contienen los datos y la lógica por separado.