• No se han encontrado resultados

las necesidades que se presentaron, y se fue desarrollando de esta manera, hasta que se

N/A
N/A
Protected

Academic year: 2021

Share "las necesidades que se presentaron, y se fue desarrollando de esta manera, hasta que se"

Copied!
11
0
0

Texto completo

(1)

Sistema gestor de salas y dispositivos de red basado en JSF Página 53

7. Java Server Faces

7.1 El porqué del uso de este JSF

Para las necesidades de SICOM, se planeo inicialmente un software local, el cual cumpliera las necesidades que se presentaron, y se fue desarrollando de esta manera, hasta que se encontró la necesidad de interactuar con el sistema de manera remota, a través de una interfaz sencilla, tal vez no completamente implementada, pero usando las funciones básicas y las más importantes. Y entramos en el proceso de investigación, de cual sería la mejor tecnología para desarrollar esto de la manera más práctica y eficiente, incluyendo el uso del lenguaje y que siguiera la arquitectura de MVC, además de que cumpliera los estándares básicos y sea sencillo de modelar en la parte de la vista ya que existen una gran cantidad de formas para modelar una página web (html, flash, applets, jsp, etc) y nos dimos cuenta que podríamos hacerlo de manera muy baja, construyendo y modelando código jsp, html, etc. Pero dentro de la investigación encontramos varios lenguajes muy usados hoy en día que ayudan a la construcción de sistemas enfocados a aplicaciones web, sin meterse tanto con aspectos no importantes y solo concentrarse en la parte de la programación lógica, entre estos fue Java Server Faces, Ruby on Rails, PHP bajo diferentes frameworks, etc. Y el que más de adecuaba a la solución de nuestras necesidades y conforme a nuestra experiencia que llevábamos con java fue el de Java Server faces.

No solo nos quedamos con Java Server Faces, investigamos sobre distintos frameworks como los mencionados anteriormente y no usamos otro no porque sea malo, sino porque no lleno nuestras expectativas de uso en el momento requerido, aunque cabe mencionar que también tienen sus ventajas y desventajas como cualquier framework, eso ya está en base a la estabilidad de éste y como vimos en experiencias escritas en foros y

(2)

Sistema gestor de salas y dispositivos de red basado en JSF Página 54 páginas de internet Java Server Faces y PHP eran los más utilizados para este tipo de necesidades y los más estables, incluso encontramos en la página para desarrolladores de IBM, el uso de JSF como recurso principal para su empresa, incluyendo gran contenido de este framework, claro enfocado en el uso con ECLIPSE, el cual es propiedad de IBM. De forma paralela vimos que ORACLE, también hace uso de esta tecnología como framework principal para desarrollo de aplicaciones web, el cual se enfoca en el uso de JSF para su propio IDE de ORACLE (Oracle JDeveloper 11g).

Finalmente lo terminamos usando con la ayuda de NetBeans, ya que el ambiente que éste IDE nos proporciona es el más familiar, sin embargo puede que no sea el mejor para esta tecnología, pero por cuestiones prácticas lo usamos. Muchos recomiendan el uso de Eclipse para desarrollar aplicaciones basadas en tecnología JSF, pero eso ya depende de gustos de los usuarios.

Al empezar a desarrollar la aplicación bajo esta tecnología nos dimos cuenta que nos daba herramientas poderosas para continuar todo el proyecto, lo cual nos llevo a las tendencias más actuales sobre el desarrollo de aplicaciones web, donde las aplicaciones que comúnmente se desarrollan para quipos de manera local, se han convertido en aplicaciones web como Google Docs, que transforma sus versiones de office a una versión de office pero basada en web. Nos dimos cuenta de que nos da una serie de ventajas las cuales las discutiremos de manera más detallada enfocadas a JSF.

Por lo que decidimos pasar nuestro programa local de java a JSF de manera completa, ya que es parte importante del estándar java J2EE. De hecho se está preparando una nueva versión que traerá numerosas novedades, sobre todo en lo que se refiere a su

(3)

Sistema gestor de salas y dispositivos de red basado en JSF Página 55 integración con AJAX. También se está comenzando a utilizar en numerosas aplicaciones empresariales, ya que permite crear pantallas de usuario bastante complejas con una cierta facilidad, aunque desde luego no es sencillo la primera vez que te enfrentas a este framework. En la nueva versión se espera una mejora sobre el control de las fases del ciclo de vida de la petición que faciliten la creación de componentes JSF complejos que se usan de manera simple.

7.2 JSF Introducción

Java Server Faces es una tecnología y framework, producto de las tendencias de desarrollo de software aplicativa basada en web, enfocada para aplicaciones en Java, la cual simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE, usando JSP (Java server pages).

Ésta incluye un conjunto de API´s para presentar componentes de una interfaz de usuario y administrar su estado, manejando eventos, validar entrada, definir esquema de navegación y dar soporte para internacionalización y accesibilidad, también contiene dos bibliotecas de etiquetas personalizadas para JSP´s, que nos ayudan con una interfaz de nuestra aplicación, todo esto bajo un modelo de eventos en el lado del servidor donde podemos administrar estados y el uso de Beans.

Cabe aclarar que el uso de ésta tecnología solo se encuentra disponible hasta las versión 6.5 de NetBeans.

(4)

Sistema gestor de salas y dispositivos de red basado en JSF Página 56 7.3 Objetivos de JSF

1. Proporcionar un conjunto de componentes para la interfaz de usuario, incluyendo los elementos estándares de HTML para representar un formulario. Estos componentes se obtendrán de un conjunto básico de clases base que se pueden utilizar para definir componentes nuevos.

2. Definir un conjunto simple de clases base de Java para componentes de la interfaz de usuario, estado de los componentes y eventos de entrada. Estas clases tratarán los aspectos del ciclo de vida de la interfaz de usuario, controlando el estado de un componente durante el ciclo de vida de su página.

2. 3. Proporcionar un modelo de JavaBeans para enviar eventos desde los controles de la interfaz de usuario del lado del cliente a la aplicación del servidor.

4. Definir APIs para la validación de entrada, incluyendo soporte para la validación en el lado del cliente.

5. Especificar un modelo para la internacionalización y localización de la interfaz de usuario.

6. Automatizar la generación de salidas apropiadas para el objetivo del cliente, teniendo en cuenta todos los datos de configuración disponibles del cliente, como versión del navegador... (JavaServer Faces Technology, 2010)

(5)

Sistema gestor de salas y dispositivos de red basado en JSF Página 57 7.4 Versiones de JSF

• JSF 1.0 (11-03-2004) - lanzamiento inicial de las especificaciones de JSF.

• JSF 1.1 (27-05-2004) - lanzamiento que solucionaba errores. Sin cambios en las especificaciones ni en el renderkit de HTML.

• JSF 1.2 (11-05-2006) - lanzamiento con mejoras y corrección de errores. • JSF 2.0 (12-08-2009) - último lanzamiento.

7.5 Ventajas de JSF

• El código JSF con el que creamos las vistas (etiquetas jsp) es muy parecido al HTML estándar. Lo pueden utilizar fácilmente desarrolladores y diseñadores web. • JSF resuelve validaciones, conversiones, mensajes de error e internacionalización • JSF permite introducir javascript en la página, para acelerar la respuesta de la

interfaz en el cliente (navegador del usuario).

• JSF es extensible, por lo que se pueden desarrollar nuevos componentes a medida, También se puede modificar el comportamiento del framework mediante APIs que controlan su funcionamiento.

• JSF forma parte del estándar J2EE, mientras que otras tecnologías para creación de vistas de las aplicaciones no lo forman, como por ejemplo Struts.

• JSF dispone de varias implementaciones diferentes, incluyendo un conjunto de etiquetas y APIs estándar que forman el núcleo del framework. Entre estas implementaciones cabe destacar la implementación de referencia de Sun Microsystems, actualmente desarrollada como un proyecto open source, y la implementación del proyecto Apache, MyFaces, dotada de un conjunto de

(6)

Sistema gestor de salas y dispositivos de red basado en JSF Página 58 extensiones que la hacen muy interesante para el desarrollo de aplicaciones corporativas.

• La arquitectura del controlador es más avanzada y flexible. Podremos hacer algunas tareas avanzadas de manera sencilla (por ejemplo, utilizando “phase listeners”). • JSF permite definir la navegación no solo a través de los métodos de navegación de

los beans, sino incluso en la propia página (navegación definida en los componentes de la página).

• JSF permite recoger los parámetros del formulario de manera más sencilla que Struts, e incorpora un lenguaje de expresiones que lo hace más simple.

• JSF soporta la creación de manejadores de eventos asociados a los componentes de la página, lo que dota a dichos componentes de gran potencia. Un ejemplo: creación de combos enlazados, en los que la elección de un elemento en el primer combo obliga a recalcular los elementos disponibles en el segundo combo, por ejemplo, en combos de paises y estados o ciudades.

• JSF está pensado para la creación de interfaces de usuario avanzadas. Basta ver los nuevos frameworks extendidos JSF, como Apache MyFaces Trinidad y el resto de frameworks JSF con soporte AJAX.

• El desarrollo de JSF está en sus inicios por lo que las nuevas versiones del framework recogen la funcionalidad de versiones anteriores siendo su compatibilidad muy alta, de manera que el mantenimiento de aplicaciones no se ve penalizado por el cambio de versiones. (Cristóbal González Almirón, 2010)

(7)

Sistema gestor de salas y dispositivos de red basado en JSF Página 59 7.6 Integrando Ajax a JSF

JSF es un framework que lanza muchas peticiones al servidor. Para optimizar dicho dialogo están empezando a aparecer implementaciones de JSF que incorporan AJAX en sus etiquetas. Esto permite actualizar los componentes en el navegador del usuario de manera selectiva, sin necesidad de recargar la página completa. La combinación JSF ajax dota a las páginas de gran dinamismo sin complicar el desarrollo, evitando el uso de javascript codificado a mano asegurando un mayor soporte a los navegadores web.

En el uso de la aplicación de SICOM lo utilizamos para las consultas en tiempo real, en el momento de teclear las letras se va actualizando en el instante, esta parte será explicada a detalle más adelante.

7.7 Comparativa con prototipos previos al uso de JSF

7.7.1 En Vista

En el prototipo inicial hecho para este proyecto, fue enfocado a una aplicación local, usando los elementos básicos de java, y enfocándonos a la parte de la lógica, en esta etapa aun no desarrollábamos la parte de la estética, ya que en esta modalidad de desarrollo existe mayor cantidad de trabajo para el desarrollo de ésta a comparación de JSF, a continuación mostraremos algunas de las ventanas, las cuales ya habíamos implementado la lógica básica para reserva e invitar en conjunto con el uso de Gammu.

(8)

Sistema gestor de salas y dispositivos de red basado en JSF Página 60 Figura 8.1:Muestra en cómo se creaban los eventos y se agregaban los usuarios al evento y al momento de hacer esto el sistema mandaba mensaje vía celular y correo hechos con mensajes predefinidos.

Ahora bien, vista previa de algunas interfaces que usamos con JSF, y como podemos ver a simple vista, hicimos lo mismo pero existe una mayor cantidad de estética, lo cual nos ayudo bastante, sin considerar las demás ventajas que hemos venido comentando.

(9)

Sistema gestor de salas y dispositivos de red basado en JSF Página 61 Figura 8.3:Validaciones específicas (se planea validar en tiempo real usando ajax). Estas validaciones cuentan con detalles específicos, por ejemplo si aun correo le hace falta un punto o la arroba o si e su número de celular no son números y no es de 10 dígitos.

De tal manera que muchas de las cosas de estética y algunos métodos de programación, se encarga JSF como un estándar dedicado a la solución de aplicaciones web, de tal manera que el desarrollador solo se preocupe por la parte lógica del sistema. Cabe mencionar que estos detalles también son configurables a los parámetros de la computadora, es decir, es capaz de tomar el idioma del sistema operativo para poder desplegar las validaciones en dicho idioma. Como estos detalles, nosotros, si lo hubiéramos hecho, tendríamos que programarlo de tal manera que hiciera algo similar, sin embargo en este caso ya no tenemos que preocuparnos por este tipo de aspectos.

(10)

Sistema gestor de salas y dispositivos de red basado en JSF Página 62

7.7.2 En el entorno de Desarrollo

En la parte de programación usando como IDE Netbeans, es muy similar, pero a diferencia que aquí ya tenemos nuestros beans hechos para cada vista, y un conjunto de herramientas enfocadas a aplicaciones web donde ya solo usamos los métodos necesarios, así también en la parte de manejo de bases de datos, JSF nos provee un conjunto de herramientas como son los “DataProviders” y los “RowSet” los cuales los podemos personalizar.

Figura 8.4: Mostramos el entorno de desarrollo en NetBeans, de lado inferior izquierdo tenemos nuestro conjunto de beas, y dentro los “RowSet” con consultas predefinidas de tal manera que se sincronizan con los “DataProvider” para poder hacer uso de estas consultas y vincularlos con los objetos necesarios.

Como podemos verificar, muchas de estas herramientas que nos otorga JSF, las tendríamos que programar si lo hiciéramos como una aplicación java clásica, lo podemos verificar con el entorno de desarrollo de nuestros primeros prototipos como se muestra en la siguiente figura.

(11)

Sistema gestor de salas y dispositivos de red basado en JSF Página 63 Figura 8.5: Entorno de trabajo SIN JSF, enfocado a una aplicación local basado en prototipos previos, haciendo notar la diferencia de herramientas sin JSF.

En esta parte tenemos dividida las vistas y la parte lógica en dos paquetes, pero no contamos con Beans de sesión ni ‘Data Privaders’, ‘RowsSets’, herramientas, etc que nos ayudan a mejorar la estética y arquitectura del sistema, de tal manera que las consultas se hacen a muy bajo nivel usando conectores básicos, dando lugar a un mayor porcentaje de errores en las transacciones.

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

El tercero tiene notas bajas pero la mayor es estadística, una de las temáticas trabajadas de forma más mecánica, asimismo el último arquetipo muestra que, aun con notas buenas,

A medida que las organizaciones evolucionan para responder a los cambios del ambiente tanto para sobrevivir como para crecer a partir de la innovación (Stacey, 1996), los

“La unificación de la clasificación de empresas otorgada por las CC.AA.”, “La unificación de criterios en la acreditación de los servicios de prevención de riesgos

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones