You are on page 1of 107

FUNDACIN UNIVERSIDAD DE LAS AMRICAS PUEBLA

Escuela de Ingeniera
Departamento de Computacin, Electrnica y Mecatrnica

Sistema de gestin de salas y de dispositivos de Red basado en la tecnologa


de Java Server Faces

Tesis profesional sometida por


Rafael Cornelio Bautista
Rafael Rodrguez Montes

Como requisito parcial para obtener el ttulo de Licenciatura en


Ingeniera en Sistemas Computacionales y Tecnologas de la Informacin

Dirigida por
Dr. Oleg Starostenko Basarab
Dr. Roberto Rosas
Sinodal:
Dr. Daniel Vallejo Rodrguez

Santa Catarina Mrtir. Cholula, Puebla


Primavera 2010

Sta. Catarina Mrtir, Cholula, Puebla a 14 de mayo 2010

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 2

Resumen
Las tendencias tecnolgicas de hoy en da se enfocan al desarrollo basado en aplicaciones
web, ya que gracias a los avances y desarrollo de velocidad en el ancho de banda del
Internet y de las intranets corporativas, ah permitido cada vez ms el uso de aplicaciones
ligeras a travs de la web, sin embargo, este desarrollo se ha impulsado bastante ya que
existen grandes ventajas para los usuarios, al no requerir recursos para poder ejecutar o
abrir aplicaciones, ya que todo se encuentra en la web; muestra de esto ha sido el esfuerzo
de Google al integrar su tecnologa de Google Docs para hacer mas practico, rpido, sin
requerimientos rigurosos de hardware, ni costos de licencia por equipo. Esto tambin ha
sido una de las tantas ventajas que ha representado la vitalizacin, que es una rama de estas
tendencias tecnolgicas.
De forma general lo anterior fue un argumento del porqu dar solucin a
esta necesidad a travs de una aplicacin web, ya que inicialmente empezamos con una
aplicacin local, la convertimos a una aplicacin web usando los mismos frameworks
iniciales (gammu).
Otro framework importante usado en este proyecto, fue el uso de un demonio de
mensajes de texto para celular, que funciona en base a eventos programados por nosotros,
el cual nos es bastante til para interactuar con el sistema gestor de salas a travs de
mensajes de texto va celular. Para informar de eventos y confirmar asistencias, de tal
manera que no solo tenemos interaccin va web, sino de manera mvil a travs de
mensajes sencillos y prcticos. Haciendo que la aplicacin est disponible a cualquier hora
en cualquier momento.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 3

Para el desarrollo de la aplicacin se uso java server faces, que nos ofrece una serie
de ventajas (ser un estndar, componentes configurables, ocultar en parte que es una
aplicacin web, promover el trabajo con backing beans, entre otras que desarrollaremos
ms adelante).
El objetivo de esta aplicacin se basa en resolver la necesidad de administracin de
un conjunto de salas que se encuentran ubicadas en distintos lugares geogrficos, que
corresponden a las diferentes dependencias del gobierno del estado de Puebla. Todas estas
bajo una misma infraestructura interconectada a travs de tecnologas de WiMax, que se
encuentran en continuo crecimiento, integrando nuevas dependencias hasta poderse
interconectar con otros estados, a la par de esto se encuentra la necesidad del control de
todos los dispositivos de red, es decir se requiere una base de datos que se encuentre
siempre disponible para asignar direcciones IP, lo cual se integro en la aplicacin como un
segmento del proyecto.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 4

ndice de contenidos
1.

Introduccin ................................................................................................................ 15
1.1

Antecedentes .......................................................................................................... 15

1.2

Histrico................................................................................................................. 18

1.3

Contexto de la Aplicacin...................................................................................... 19

1.3.1

Integracin de tecnologa WiMAX ................................................................ 21

1.4

Planteamiento del problema................................................................................... 22

1.5

Objetivo de la tesis ................................................................................................. 24

1.6

Objetivos especficos (Administracin de la sala de conferencias) ....................... 25

1.7

Objetivos especficos (Sistemas de gestin de ips) ............................................... 31

1.8

Alcances ................................................................................................................. 31

1.9

Resumen de Capitulo ............................................................................................. 32

2.

Opciones de Tecnologa en el mercado para esta infraestructura. ........................ 33

3.

En el almacenamiento (MySQL) ............................................................................... 34


3.1

4.

Arquitectura del sistema ............................................................................................ 36


4.1

5.

MVC ...................................................................................................................... 37

JFreeChart .................................................................................................................. 39
5.1

6.

Un SGBD como MYSQL permite: ........................................................................ 35

Interfaz grfica ....................................................................................................... 42

Gammu ........................................................................................................................ 46

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 5

7.

8.

9.

6.1

PhpMyAdmin & Gammu....................................................................................... 48

6.2

Uso de gammu en un prototipo previo................................................................... 50

6.3

Detalles tcnicos .................................................................................................... 50

Java Server Faces ....................................................................................................... 53


7.1

El porqu del uso de este JSF ................................................................................ 53

7.2

JSF Introduccin .................................................................................................... 55

7.3

Objetivos de JSF .................................................................................................... 56

7.4

Versiones de JSF .................................................................................................... 57

7.5

Ventajas de JSF ...................................................................................................... 57

7.6

Integrando Ajax a JSF............................................................................................ 59

7.7

Comparativa con prototipos previos al uso de JSF ................................................ 59

7.7.1

En Vista .......................................................................................................... 59

7.7.2

En el entorno de Desarrollo ............................................................................ 62

JSF Vs Struts ............................................................................................................... 64


8.1

Demostrando el uso de JSF en comparacin de Struts .......................................... 65

8.2

Prime Faces ............................................................................................................ 68

Diseo de la Implementacin ..................................................................................... 76


9.1

Esquema de base de datos en la gestin de sala..................................................... 76

9.2

Descripcin de los Triggers Para la base de datos de la gestin de salas .............. 77

9.3

Esquema de base de datos en la gestin de dispositivos de red ............................. 78

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 6

9.4

Esquema de base de datos del Demonio de mensajes (Gammu) ........................... 79

9.5

Diagrama de clases de la Aplicacin ..................................................................... 81

9.6

Diagrama de clases para la gestin de dispositivos de red .................................... 86

9.7 Funcionamiento del gestor de dispositivos de red ................................................... 88


10. Implementacin del sistema gestor de salas y dispositivos de red ......................... 89
10.1

Introduccin ....................................................................................................... 89

10.2

Identificacin del usuario ................................................................................... 90

10.3

Interfaz de Administrador .................................................................................. 90

10.4

Alta de un evento................................................................................................ 91

10.5

Alta de usuario ................................................................................................... 93

10.6

Invitaciones ........................................................................................................ 94

10.7

Alta de lugar ....................................................................................................... 96

10.8

Alta de sala ......................................................................................................... 96

11. Evaluacin y Conclusiones......................................................................................... 97


11.1

Con respecto a las experiencias aprendidas ....................................................... 97

11.2

Con respecto al uso de los frameworks .............................................................. 97

12. Trabajos a Futuro..................................................................................................... 100


Bibliografa ........................................................................................................................ 101
Apndice A:

Otras corridas del software..................................................................... 106

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 7

Apndice B:

Video de grafica con PrimeFaces en el sistema de SICOM, funcionando

en tiempo real ................................................................................................................. 107

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 8

ndice de figuras
FIGURA 1.1: DESCRIPCIN GENERAL DE LOS PRINCIPALES ENLACES QUE CUENTA LA INFRAESTRUCTURA DE
RED DE TELECOMUNICACIONES SICOM 2009 (INTELIMAX, 2009) ......................................................... 19
FIGURA 1.2: EXPANSIONES RECIENTES DE LA RED DE TELECOMUNICACIONES SICOM 2009 (INTELIMAX, 2009)
................................................................................................................................................................ 20
FIGURA 1.3: SE MUESTRA LA IMPLEMENTACIN DE LAS RADIO BASES DE TECNOLOGA WIMAX EN
FUNCIONAMIENTO (INTELIMAX, 2009) .................................................................................................. 21
FIGURA 1.4: PLANEACIN A FUTURO DE LA INTEGRACIN DE EQUIPOS WIMAX (INTELIMAX, 2009) ........... 22
FIGURA 1.5: CURVA DE APRENDIZAJE .............................................................................................................. 25
FIGURA 2.1: SISTEMA DE RESERVA DEL AULA MAGNA DEL CIRIA. ................................................................... 34
FIGURA 4.1: FLUJO A TRAVS DEL MODELO MVC ............................................................................................ 38
FIGURA 5.1: EJEMPLO DE GRAFICAS QUE SE PUEDEN GENERAR EN JFREECHART .......................................... 40
FIGURA 5.2: EJEMPLOS DE GRAFICAS QUE SE PUEDEN GENERAR EN JFREECHART ......................................... 40
FIGURA 5.3: EN ESTA PRIMERA GRFICA, SE PUEDE VER QUE ESTN REPRESENTADOS LOS 12 MESES DEL
AO, AS MISMO SE MUESTRA LA RELACIN EXISTENTE ENTRE EL MES ESPECIFICADO Y SU
OCUPACIN EXPRESANDO EN OTRAS PALABRAS EL NMERO DE VECES QUE SE HIZO USO DE LA SALA
A LO LARGO DEL AO. ............................................................................................................................ 42
FIGURA 5.4: EN SEGUNDO PUESTO EST UNA GRFICA DEL TIPO LINEAL, ESTE ESTILO DE GRFICA PUEDE
SER UTILIZADA PARA MOSTRAR LAS ESTIMACIONES DE CRECIMIENTO EN CUANTO A ASIGNACIONES
DE IP O BIEN AL IGUAL QUE LAS SALAS Y SU USO, PARA MOSTRAR EL NUMERO DE ASIGNACIONES QUE
SE HAN HECHO EN UN PERIODO DETERMINADO. .................................................................................. 43
FIGURA 5.5: FINALMENTE COMO SE PUEDE APRECIAR, ESTA ES UNA GRFICA DE PASTEL, QUE SE PIENSA
PODRA SER DE MUCHA UTILIDAD PARA MOSTRAR LA PROPORCIN DE USO EN LA DIRECCIONES IP
POR EJEMPLO AQUELLAS QUE SE UTILIZAN PARA VIDEO, VOZ O TRANSMISIN DE DATOS. ................ 43
FIGURA 5.6: CONJUNTO DE PRUEBAS PARA LA REALIZACIN DE GRAFICAS EN TIEMPO REAL BASADAS EN
VALORES ALEATORIOS, Y COMO PODEMOS VER CUMPLIERON SATISFACTORIAMENTE LOS REQUISITOS

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 9

DE RESPUESTA QUE NECESITAMOS PARA GRAFICAR LOS DISTINTOS TIPOS DE EVENTOS QUE VAMOS
USAR EN TIEMPO REAL PARA EL MONITOREO. ...................................................................................... 44
FIGURA 7.1: VENTANA PRINCIPAL DE NUESTRA BASE DE DATOS QUE USARA NUESTRO DEMONIO DE
MENSAJES (GAMMU) EN LA CUAL SE ESTABLECER PARMETROS DE RESPUESTA, LISTA DE NMEROS
TELEFNICOS Y CASOS DE REACCIN EN BASE A LOS MDULOS QUE SE PROGRAMARN .................. 48
FIGURA 7.2: PRUEBAS DE RECONOCIMIENTO DEL DISPOSITIVO TELEFNICO Y DE ENVO DE MENSAJES A
TRAVS DE SERVIDOR GAMMU Y DE FONDO TENEMOS EL ARCHIVO DE CONFIGURACIN QUE TIENE
LA INFORMACIN DEL PUERTO, CONEXIN A TRAVS DE BLUETOOTH CON EL EQUIPO CELULAR.
NOTA: NO EXISTE UNA CONFIGURACIN DE CONEXIN EN LA PGINA DE SOPORTE, SIN EMBARGO A
BASE DE PRUEBAS, EXPERIMENTOS Y CONOCIMIENTO SE PUDO DEDUCIR LA CONEXIN HASTA
ENCONTRARLA DE MANERA EXITOSA..................................................................................................... 49
FIGURA 7.3: DEMONIO DE GAMMU ACTIVAD, COMO PARMETRO DE ENTRADA SE LE DA LA
CONFIGURACIN DE CONEXIN Y LA INFORMACIN NECESARIA PARA CONECTAR CON MYSQL, EN EL
ARCHIVO SMSDRC. .................................................................................................................................. 50
FIGURA 7.4: INTERFAZ DE PRUEBA PARA EL ENVI DE MENSAJES A TRAVS DE LA INTERACCIN CON LA
BASE DE DATOS Y EL DEMONIO DE GAMMU ACTIVO, EN EL MOMENTO QUE SE PONE UN MENSAJE EN
EL AUTBOX DE LA BASE DATOS, AUTOMTICAMENTE LO ENVA Y LO MANDA EN SENDITEMS
INDICANDO QUE YA SE ENVI EL MENSAJE DE MANERA EXITOSA. ....................................................... 50
FIGURA 7.5: ESPECIFICACIONES DE CONFIGURACIN PARA QUE FUNCIONE DE MANERA CORRECTA EL
DEMONIO (SE SEALA LA PARTE DE DEFINICIN DEL EQUIPO CELULAR Y DE LA BASE DE DATOS). ..... 52
FIGURA 8.1: MUESTRA EN CMO SE CREABAN LOS EVENTOS Y SE AGREGABAN LOS USUARIOS AL EVENTO Y
AL MOMENTO DE HACER ESTO EL SISTEMA MANDABA MENSAJE VA CELULAR Y CORREO HECHOS CON
MENSAJES PREDEFINIDOS....................................................................................................................... 60
FIGURA 8.2 VALIDANDO USUARIO INCORRECTO ............................................................................................. 60
FIGURA 8.3: VALIDACIONES ESPECFICAS (SE PLANEA VALIDAR EN TIEMPO REAL USANDO AJAX). ESTAS
VALIDACIONES CUENTAN CON DETALLES ESPECFICOS, POR EJEMPLO SI AUN CORREO LE HACE FALTA

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 10

UN PUNTO O LA ARROBA O SI E SU NMERO DE CELULAR NO SON NMEROS Y NO ES DE 10 DGITOS.


................................................................................................................................................................ 61
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. .............................................................. 62
FIGURA 8.5: ENTORNO DE TRABAJO SIN JSF, ENFOCADO A UNA APLICACIN LOCAL BASADO EN PROTOTIPOS
PREVIOS, HACIENDO NOTAR LA DIFERENCIA DE HERRAMIENTAS SIN JSF. ............................................ 63
FIGURA 9.1: PANTALLA DE DESPLIEGUE DE LISTADO USADO COMO PRUEBA PARA DEMOSTRAR LA
EFICIENCIA DE STRUTS EN COMPARACIN DE JSF (ALEMAN, 2010) ...................................................... 65
FIGURA 9.2: TABLA COMPARATIVA ENTRE JSF Y STRUTS EN BASE A LAS HORAS HOMBRE DE TRABAJO
HECHAS A PARTIR DE UN EXPERIMENTO (ALEMAN, 2010) .................................................................... 67
FIGURA 9.3: TABLA COMPARATIVA ENTRE JSF Y STRUTS EN BASE A LAS HORAS HOMBRE DE TRABAJO PARA
EL MANTENIMIENTO DE UNA PGINA EN BASE A UN EXPERIMENTO (ALEMAN, 2010) ........................ 67
FIGURA 9.4: PRIMEFACES: BARRAS DE PROGRESO EN TIEMPO REAL (CASOS DE USO DE PRIMEFACES, 2010)
................................................................................................................................................................ 68
FIGURA 9.5: PRIME FACES: DASHBOARD CON FUNCIONES SIMILARES A LAS VENTANAS DE WINDOWS,
INCLUYEN EFECTOS GRFICOS. (CASOS DE USO DE PRIMEFACES, 2010) ............................................... 69
FIGURA 9.6: PRIMEFACES: POSIBILIDAD DE USO DE MENS CONTEXTUALES SOBRE IMGENES .................. 69
FIGURA 9.7: PRIMEFACES: EJEMPLOS DE APLICACIONES USANDO LA LIBRERA TOUCHFACES PARA
DISPOSITIVOS MVILES CON CAPACIDADES DE INTERFAZ TCTIL ......................................................... 71
FIGURA 9.8: DIAGRAMA DE SECUENCIA DE PRIMEFACES ................................................................................ 71
FIGURA 9.9: CASO 1 DEMOSTRANDO LAS GRFICAS EN TIEMPO REAL, DE LADO IZQUIERDO ES LA BASE DE
DATOS ACTUAL DE LAS CONFIRMACIONES ............................................................................................ 73
FIGURA 9.10: CASO 2, CONSIDERANDO QUE LOS DOS INVITADOS CONFIRMARON (DETALLE DE LADO
IZQUIERDO EN LA BASE DE DATOS), SE ACTUALIZA LA GRAFICA DE MANERA AUTOMTICA SIN TENER
QUE ACTUALIZAR LA PAGINA DEL LADO DERECHO ................................................................................ 74

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 11

FIGURA 10.1: ESQUEMA DE BASE DE DATOS PARA LA PARTE DE LA GESTIN DE SALAS DE VIDEO
CONFERENCIAS. ...................................................................................................................................... 76
END FIGURA 10.2: ESTRUCTURA BSICA DE TRIGGER. .................................................................................... 77
FIGURA 10.3: TRIGGER QUE ELIMINA INVITACIONES DEL EVENTO QUE SE ELIMIN ...................................... 77
FIGURA 10.4: ESQUEMA DE BASE DE DATOS PARA EL GESTOR DE DIRECCIONES IP ....................................... 78
FIGURA 10.5: PRIMERA PARTE DEL ESQUEMA DE BASE DE DATOS DEL DEMONIO DE MENSAJES DE TEXTO
PARA CELULAR (GAMMU) (GAMMU, 2009) ........................................................................................... 79
FIGURA 10.6: PRIMERA PARTE DEL ESQUEMA DE BASE DE DATOS DEL DEMONIO DE MENSAJES DE TEXTO
PARA CELULAR (GAMMU) (GAMMU, 2009) ........................................................................................... 80
FIGURA 10.7: LA CLASE MANEJADOR, LA CUAL GESTIONA PROCESOS COMO LA PROYECCIN, PERSISTENCIA
Y MANEJO DE ATRIBUTOS BSICOS. ....................................................................................................... 82
FIGURA 10.8: CLASE MANEJADOR, LA CUAL GESTIONA LA SALIDA DE TODOS LOS DATOS A TRAVS DE
COMPONENTES VISUALES. ..................................................................................................................... 83
FIGURA 10.9: CLASE VALIDACIONES, EN LA CUAL SE ENCUENTRAN LAS VALIDACIONES BSICAS PARA LA
ENTRADA DE INFORMACIN DE LAS DIFERENTES SECCIONES DEL SISTEMA. ........................................ 84
FIGURA 10.10: CLASE QUE VALIDA EMPALMES EN LA GESTIN DE SALAS. ..................................................... 85
FIGURA 10.11: CLASE UTILERAS, RENE UN CONJUNTO OPERACIONES BSICAS COMO BSQUEDAS
PERSONALIZADAS Y GESTIN Y CONVERSIN DE DATOS....................................................................... 86
FIGURA 10.12: DIAGRAMA DE CLASES DE LAS FAMILIAS DE OCTETOS PARA LA GESTIN DE DIRECCIONES IP
................................................................................................................................................................ 87
FIGURA 10.13 DIAGRAMA DE CLASES PARA EL LTIMO OCTETO DE LA GESTIN DE DISPOSITIVOS DE RED. 87
FIGURA 10.7.1: SISTEMA GESTOR DE DISPOSITIVOS DE RED ........................................................................... 88
FIGURA 11.1: PANTALLA DE IDENTIFICACIN PARA EL USUARIO .................................................................... 90
FIGURA 11.2: INTERFAZ DE ADMINISTRADOR. ................................................................................................. 90
FIGURA 11.3: ALTA DE EVENTOS EN ESTA PARTE CABE LA POSIBILIDAD DE VER LOS EVENTOS QUE SE
ENCUENTRAN YA PARA LA FECHA INDICADA, AS NO SERA FCIL PREVER ALGN INCONVENIENTE
PARA EL EVENTO QUE DESEAMOS PLANEAR COMO SE MUESTRA EN LA SIGUIENTE IMAGEN ............. 91

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 12

FIGURA 11.4 VERIFICACIN DE EVENTOS YA ESTABLECIDOS PARA UNA FECHA DADA ANTES DE DAR DE ALTA
UN EVENTO ............................................................................................................................................. 91
FIGURA 11.5: PROBANDO VALIDACIONES PARA DAR DE ALTA UN EVENTO .................................................... 92
FIGURA 11.6: ALTA DE USUARIO, PROBANDO LAS VALIDACIONES BSICAS ................................................... 93
FIGURA 11.7: BUSCANDO EVENTOS POR NOMBRE PARA INVITAR AL PERSONAL ........................................... 94
FIGURA 11.8: BUSCANDO INVITADOS AL EVENTO PREVIAMENTE SELECCIONADO ......................................... 95
FIGURA 11.9: PROBANDO LAS VALIDACIONES BSICAS AL DAR DE ALTA UN EVENTO................................... 96
FIGURA 11.10: DANDO DE ALTA UNA SALA DE CONFERENCIAS. ..................................................................... 96

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 13

Lista de acrnimos

WiMAX- Wordwide Interoperability


JSF- Java Server Faces
MVC- Model View Controller
SCT- Secretara de comunicaciones y transportes
IP Protocolo de Internet
JSP- java server pages
SICOM Sistema de Informacin y comunicacin del estado de Puebla
XML Extensible Markup Language
DTD- Document Type Definition
JSP- Java Server Pages
JPA- Java Persistence API
SQL-Structured Query Language

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 14

1. Introduccin
1.1

Antecedentes

En el proyecto integrador que es manejado por proveedores y personal que trabaja en el


departamento de TI en el sistema de informacin y comunicaciones del Estado de Puebla
(SICOM), se presentan una serie de necesidades y problemticas enfocadas a la
administracin de salas, y dispositivos de red, dada esta situacin, se requiere desarrollar
tecnologa de software aplicativa a la medida, para poder seguir creciendo como
dependencia de tecnologa, basa en las tendencias de desarrollo de software ms actuales.
Existen una serie de proyectos integradores dentro de esta dependencia de gobierno,
a los cuales nos enfocaremos es especficamente a la gestin de salas de conferencias que
se encuentran en diferentes dependencias del Gobierno del Estado de Puebla, y que debido
a su crecimiento se ha dificultado la administracin de stas, por lo que es necesario
recurrir a la gestin sistemtica a travs del uso de las tecnologas de la Informacin para
optimizar este proceso. De forma paralela existe otra necesidad similar, pero con la base de
datos de dispositivos de red, la cual se requiere constante mente en diferentes puntos de la
infraestructura para poder dar de alta y dar de baja equipos dentro de la red.
Para esto se empez planteando un software para instalarse de manera local, es decir
en cada computadora donde se haba a utiliza era necesario la instalacin, y de forma
paralela se requera un sistema de base de datos centralizado, pero al seguir la investigacin
sobre este tipo de aplicacin, encontramos una solucin basndose en las tendencias de
desarrollo de software enfocado a aplicaciones web, ya que ofrece una gran cantidad de

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 15

ventajas y beneficios que comentaremos a lo largo de estos captulos. Y de forma paralela


se utilizo gammu como demonio de mensajes para complementar el sistema.
Cabe aclarar que es necesario dar a conocer detalles tcnicos y generales en donde
se requiere el sistema, es decir, a pesar de que sea un sistema basado en una aplicacin web,
es importante dar a conocer detalles del contexto en donde se va usar y como es que este
entorno se va ir modificando y creciendo conforme a las necesidades de las diferentes
dependencias y es por eso que daremos detalle de esto en los prximos captulos.
En el contexto donde se va usar la aplicacin,

se piensa integrar nuevas

dependencias de gobierno para ofrecer diferentes servicios a stas de tal manera que se
evite la dependencia de proveedores de red e internet (Telmex, Axtel, etc.) y uno de estos
servicios importantes son las salas de videoconferencia para los usuarios de las diferentes
reas de gobierno. De forma paralela se est integrando tecnologas nuevas como la de
WiMAX para ofrecer mejor calidad en los achos de banda y movilidad.
SICOM se encuentra invirtiendo en equipos para tecnologa WiMAX con apoyo de
recursos del gobierno del estado de Puebla con el objetivo de que el estado se encuentre
listo para que en un tiempo a mediano plazo, Puebla pueda estar listo para interconectarse
con los dems estados e integrar ms dependencias como casetas, SCT, penitenciarias,
entre otras a nivel nacional de forma que se puedan intercambiar servicios como los de
gestin de salas y dispositivos de red en un sistema de infraestructura que se est
expandiendo continuamente.
La evolucin del desarrollo de software ha ido marcando tendencias a lo largo de la
historia, incluyendo metodologas, arquitectura, frameworks, estndares, tecnologas y
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 16

estilos de uso accesibilidad. Lo que tratamos de hacer notar en este proyecto, ver es cmo
es que empezamos basndonos en una arquitectura simple bsica (MVC) en una aplicacin
local, y la giramos a un estndar mas actualizado en la cual se encuentran inmersos sub
arquitecturas y estndares tales como soporte de internacionalizacin y accesibilidad,
manejo de eventos, validar en el servidor, conversin de datos, definicin de navegacin en
un modelo de programacin bien definido donde las libreras de etiquetas facilitan la
construccin y mantenimiento de las aplicaciones web con interfaces de usuario. Todo esto
es una especificacin desarrollada por la Java Community Process. (Java Community
Proces, 2010), que a comparacin de tendencias anteriores de programacin de software,
usando esta tecnologa nos otorga una clara separacin entre vista y modelo, desarrollo
basado en componente y no en peticiones, las acciones del usuario se ligan muy fcilmente
al cdigo en el servidor, creacin de familias de componentes visuales para acelerar el
desarrollo, compatibilidad con otros lenguajes de programacin para aplicaciones web (ej.
Ajax) entre otras ms que desarrollaremos en el captulo de JSF. Estas caractersticas de
programacin son las que impulsaron el desarrollo de este proyecto para llevarlo a un nivel
competitivo en base a las tecnologas y tendencias actuales. Despus de ver cmo es que
estas tecnologas de han ido desarrollando, de forma paralela necesitamos analizar cmo es
que surge la necesidad de utilizarlas a partir de un problema real en una empresa, que es lo
que analizaremos en el siguiente captulo.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 17

1.2

Histrico

Inicialmente se empez desarrollando un software en java, usando modelos bsicos de


programacin (MVC), basado en el esquema artesanal que se ensena en la Universidad. En el cual
se planeaba monitorear las radio bases para tener un sistema centralizado, en el cual se pudiera
manejar, administrar, alertar y automatizar procesos, sin embargo, se aclaro por parte de SICOM,
que ya se tena un sistema similar, por lo que nos enfocamos a sus necesidades en la gestin de salas
de juntas en los diferentes municipios y su necesidad de administracin de dispositivos de red, por
lo que nos vimos frente a un problema tpico al que le tenamos que dar una solucin a nivel
empresarial. Empezamos haciendo una aplicacin de la manera que se indico al principio
(artesanalmente con modelos bsicos de programacin) sin embargo, esto en lo personal no nos
convenci para darle una solucin completa al usuario, as que vimos las tendencias tecnolgicas
para dar una solucin a la altura, lo cual nos llevo al sector de las aplicaciones web.
Esto nos llevo a conocer, investigar y a prender frameworks(Java server faces, ajax,
hibrnate, struts, OpenDS) que son usados y se siguen desarrollando para la evolucin de la web2.0,
lo cual nos abri el panorama y la cantidad de posibilidades que podemos hacer con estas
herramientas. Y de forma paralela, integrando otros frameworks de uso comercial, pero
enfocndonos al software libre, para no generar ningn gasto de licencias, en este caso fue el uso de
Gammu. Todo esto es consecuencia a las necesidades y tendencias de software que se desarrollan
hoy en da, donde ya no es suficiente tener todo el software instalado en computadoras, sino que
podemos usarlo desde una aplicacin web, ahorrando costos de instalacin, actualizacin, hardware,
etc. Ejemplo de esto es Google Docs, facebook, flick, correo de yahoo, entre otros ms.
Todo este proyecto va ser implementado para la infraestructura de SICOM, la cual tiene
ciertas caractersticas peculiares, estas sern analizadas en el siguiente captulo.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 18

1.3

Contexto de la Aplicacin

Para el desarrollo de esta aplicacin fue un punto importante tener en cuenta la


infraestructura y la magnitud de sta, para ver si la tecnologa utilizada (JSF) cumple las
necesidades de disponibilidad en cualquier parte o en cualquier nodo de sta y si existe
algn fallo de sta tambin existe la posibilidad de interactuar de manera parcial a travs de
mensajes va celular.
SICOM cuenta con una infraestructura que interconecta a la mayora de los municipios del
estado de Puebla, y dentro de sta se encuentra un conjunto de salas de conferencia
ubicadas en los diferentes municipios como se ilustra en la figura uno.

Figura 1.1: Descripcin general de los principales enlaces que cuenta la infraestructura de red de

telecomunicaciones SICOM 2009 (Intelimax, 2009)

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 19

Dentro del plan de crecimiento en los ltimos meses se ha incluido un crecimiento en la red
incluyendo los municipios como XOCOYOLO, CUETZALAN, TEPEXI y
ACATLN DE OSORIO. Los cuales se ilustran en la figura 1.1, integrando otras
salas de conferencias y lgicamente mayor cantidad de dispositivos de red.
(Intelimax, 2009)

Figura 1.2: Expansiones Recientes de la red de telecomunicaciones SICOM 2009 (Intelimax, 2009)

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 20

1.3.1 Integracin de tecnologa WiMAX


Dentro del plan de reingeniera de la red de telecomunicaciones, se encuentra la integracin
de la tecnologa WiMAX. Actualmente no se encuentra implementada en su totalidad,
como podemos ver en la figura 1.3

Figura 1.3: Se muestra la implementacin de las radio bases de tecnologa WiMAX en funcionamiento

(Intelimax, 2009)

Gracias a las ventajas que ofrece la tecnologa WiMAX, se planea integrar este
servicio en la mayor parte de la infraestructura actual que se cuenta, como se muestra en la
figura 1.4

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 21

Figura 1.4: Planeacin a futuro de la integracin de equipos WiMAX (Intelimax, 2009)

1.4

Planteamiento del problema

La primera problemtica y la ms importante que nos plantea el equipo de tecnologas de la


informacin de SICOM, es una aplicacin que sea capaz de llevar todos los detalles del
proceso que se necesita para reservar una sala de juntas, con el objetivo de evitar la prdida
de tiempo y capital humano en estas tareas que pueden ser automatizada usando una
aplicacin de manera automatizada y autnoma, que siempre est disponible tanto para
usuarios de salas como para administrador.
Esto implica que la aplicacin sea capaz de tener un horario por cada sala, y que
para casa usuario le sea capaz de reservar sta por medio de un horario lgico y que avise
en caso de empalme al tratar de reservar, de lo contrario, agregue el evento a la agenda a la
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 22

respectiva sala. Para cada evento existen invitados, los cuales deben ser notificados por los
diferentes medios disponibles (en este caso implementamos va correo electrnico y va
mensaje de texto por telfono mvil). De manera paralela, el usuario podr dar de alta
eventos, y el administrador adems de esto podr dar de alta salas (ya que como lo hemos
discutido en captulos anteriores, la infraestructura se encuentra en constante crecimiento),
las cuales se encuentran asociadas a un lugar. Estas salas por lo general cuentan con un
nombre para identificarlas y el administrador y no perder tiempo en la interaccin con los
usuarios y en llevar una agenda para cada sala, esto lo har el sistema de manera automtica
notificando a los usuarios en caso de empalme o de alguna situacin dada con alguna sala,
y solo el administrador se preocupar por que este lista la sala para los horarios indicados
en el sistema.
Para el administrador de tecnologas de la informacin tambin le resulta muy til
remplazar su archivo de base de datos que tiene en Excel, para llevar el control de todos los
dispositivos de red que se encuentran en esta infraestructura. Ya que existen muchas copias
de este archivo y no todas estn actualizadas ni disponibles cuando se requiere, por lo que
sera bastante til integrar en la parte del administrador de este sistema una seccin donde
pueda dar hacer las consultas bsicas para la base de datos de dispositivos de red activos, de
tal manera que tan solo tenga acceso a un navegador dentro de la infraestructura, pueda dar
de alta, bajas o modificaciones usando una base de datos nica, actualizada y siempre
disponible, validando datos de entrada para llevar un control de coherencia dentro de esta
informacin.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 23

1.5

Objetivo de la tesis

El objetivo de la tesis es analizar, aplicar, comparar y promover el uso de tecnologas de


desarrollo de aplicaciones web nuevas basndose en tendencias actuales a travs de Java
Server Faces como base del sistema aplicado a un conjunto de necesidades reales para una
dependencia del Gobierno del estado de Puebla, incorporando de forma paralela otras
herramientas como Gammu, Ajax y jFreeChart.Todo esto para dar una solucin y
demostrar la eficacia de Java Server Faces ante otras tecnologas similares como Struts,
obteniendo respuesta a dicha necesidad con un nivel empresarial y competitivo en relacin
a las tendencias de programacin ms comerciales y ms usadas en los sitios exitosos de
aplicaciones web (google docs, facebook, twitter, etc) pero enfocado a las necesidades
especificas de una empresa de tecnologa (SICOM), demostrando los beneficios en cuestin
de eficiencia, costos, calidad de uso y desarrollo, basndose en estndares establecidos.
Otro punto muy importante que se encuentra de manera implcita, es dar a conocer
la experiencia que se obtuvo al aprender stas tecnologas, considerando que este tipo de
desarrollos fueron totalmente ajenos a la programacin clsica que se lleva en la
universidad, demostrando que la curva de aprendizaje (figura 1.5) que obtuvimos en esta
experiencia fue repetitiva con periodos de tiempo relativamente cortos, sobretodo porque
no solo se aprendi Java Server Faces, sino tambin Gammu, Ajax, y jFreeChart.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 24

Figura 1.5: Curva de aprendizaje

1.6

Objetivos especficos (Administracin de la sala de conferencias)

Como se mencion en el punto anterior, el desarrollo que se llevar a cabo tendr como
ltimo objetivo hacer ms eficiente la gestin de video-conferencias en las salas reservadas
para ese fin. Pero para poder concretar este objetivo es necesario hablar de otros a menor
escala, pero que en su conjunto y sumados harn posible incrementar la eficiencia en la
administracin de dichas salas.
La aplicacin que se planea desarrollar tiene contemplada la implementacin de
varias funcionalidades que permitan al usuario introducir, modificar y eliminar datos, as
como tambin acceder a stos, razn por la cual se puede decir que el grado de interaccin
con el sistema es considerable.
Ahora bien, cuando un sistema informtico se desarrolla, como en este caso una
interfaz grafica, es prioritario tomar en cuenta en primer lugar que el sistema va a ser
utilizado por personas y en segundo que en muchas ocasiones cuando interviene el factor
humano en el manejo de sistemas, aplicaciones o software, la forma en que se desarrolla
esta interaccin puede llegar ser tan determinante como la aplicacin misma, ya que si bien
es cierto que son vitales las soluciones que una aplicacin pueda brindar, tambin es cierto
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 25

que si el usuario final no puede acceder fcilmente a ellas, stas no sirven de mucho, por
eso es que la usabilidad de la aplicacin es un factor que se est tomando en cuenta para la
construccin de esta interfaz. Para poder hacer posible todo lo anterior, se ha contemplado
la implementacin de pruebas de usabilidad en usuarios para poder comparar los resultados
obtenidos con los esperados y en base a esta retroalimentacin desarrollar una mejor
interaccin entre la aplicacin y las personas que van hacer uso de sta.
Ahora bien la usabilidad de la interfaz es un tema importante y que sin duda ser un
elemento considerado en el desarrollo que se est planteando, pero no es el nico; hasta este
punto se ha hecho mencin de que la interfaz permitir la introduccin, modificacin,
eliminacin y presentacin de datos, pero no se ha descrito los mdulos que permitan esta
interaccin.
El primero de estos mdulos y el principal, es aquel que ofrecer la posibilidad dar
de alta un evento o video-conferencia, lo que en otras palabras quiere decir que ser la parte
donde el usuario puede especificar el nombre, fecha, hora de inicio, hora de fin y lugar,
entre otras caractersticas.
El modulo contar con distintas validaciones, entre la que cabe destacar a aquella
que impedir el empalme de eventos, la cual contribuir considerablemente a la solucin de
los problemas de logstica que ha venido experimentado SICOM; no obstante solo es uno
de los elementos que compone el objetivo general.
Aunado a este modulo sern necesarios agregar otros. En primer lugar ser se piensa
que es importante implementar una opcin de bsqueda de evento, que permita a los
usuarios localizar cierto evento o grupo de eventos, ya sea por lugar, fecha, hora, o nombre
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 26

para poder acceder a la informacin de stos; de esta manera ser mucho ms sencillo
poder llevar un registro del uso de las salas por semana o por temporada, pudiendo revisar
la ocupacin de las salas.
En segundo lugar tambin se piensa desarrollar el modulo que le d al usuario la
oportunidad de dar de alta invitados para un evento especfico, este modulo cumplir varias
funciones, la ms bsica de todas ellas es la de tener un control de las personas (autoridades
y personal) que asistir a la conferencia.
La otra funcin que desempear el modulo refiere a la invitacin que se har a las videoconferencias, la cual ser llevada a cabo desde dos perspectivas, una de ellas es el envo de
correos electrnicos con un saludo personalizado a todas aquellas personas de las que se
tengan sus datos y estn dadas de alta con todo y su correo electrnico, as como tambin
que cumplan con la condicin de estar invitadas al evento.
La segunda perspectiva desde la cual se llevar a cabo las invitaciones hace
referencia al hecho de que se enviarn mensajes de texto a los respectivos celulares de
quienes estn invitados al evento, contando con la opcin de una confirmacin de asistencia
va mensaje sms. Esta ltima caracterstica fue pensada debido a que el celular por su
propia naturaleza es un dispositivo que est siempre cerca de las personas favoreciendo su
localizacin casi en cualquier lugar y momento, es un poderoso recurso para hacer llegar
informacin de distinta ndole, entre la que figura aquella que le d a conocer, en este caso,
su participacin en una video-conferencia donde se requiere de su asistencia.
La capacidad que el sistema brinde a los usuarios de dar de alta eventos tiene que
estar acompaada de las opciones de modificacin y eliminacin de los mismos.
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 27

Ambas opciones de interaccin con la informacin son parecidas, si se toma en


cuenta que en ambas las informacin se modifica, ya sea cambiando algn dato o aspecto
de la video-conferencia o bien borrndola por completo, otro rasgo en comn es que para
que ambas (tanto modificacin como eliminacin) se puedan llevar a cabo es necesario que
el usuario tenga en claro el objeto a modificar o eliminar.
Por todo esto es que los mdulos representativos de las funciones de modificacin
y eliminacin de eventos sern combinados con el respectivo mdulo de bsqueda, con el
objeto de que el usuario pueda identificar el evento de su inters, y una vez localizado
pueda visualizar la informacin respecto a ste, as como tambin pueda modificar dicha
informacin o en caso de que as lo desee tenga la opcin de eliminarlo.
Sin embargo el modificar o eliminar un evento no solo est relacionado con la
informacin que se refiere a la video-conferencia, sino tambin con las personas que
asistirn por lo que se ha considerado que los cambios en lugar, fecha y hora, as como
tambin la cancelacin del evento sea informado por correo electrnico y va sms a los
celulares de los invitados, de manera automtica.
Hasta este punto los mdulos descritos a grandes rasgos solo describen un parte del
sistema, la referente a la gestin de las salas de video-conferencias, pero por otra parte hace
falta describir aquellos que tienen relacin con la administracin de personas, ya sean
autoridades o empleados, que asistirn a dichos eventos; ciertamente se ha descrito que
aunado a la alta de algn evento est la posibilidad de incluir las personas que asistirn, sin
embargo para facilitar esta tarea se ha pensado en aadir un mdulo que permita dar de alta
previamente a personas, con el objetivo de que se cuente con una base de datos de

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 28

autoridades y empleados con sus respectivos datos y se puedan seleccionar e incluir al


evento cuando se desee, sin tener que estar dando de alta cada vez que se tenga la intencin
incluirlas en algn evento determinado.
Ahora bien, al igual que con los eventos es necesario dar la opcin a los usuarios de
modificar y eliminar registros de la base de datos de personas, para lo que es necesario
reconocer la necesidad de buscar y localizar la persona sobre cual se desea hacer la
modificacin o en su defecto la eliminacin. Por esta razn se piensa en incluir una opcin
de bsqueda de personas ya sea por nombre, apellidos o cargo entre otras categoras, con el
objetivo de que una vez identificada la persona se pueda hacer la modificacin o
eliminacin que el usuario considere pertinente.
Por otro lado cabe mencionar que la informacin tiene la caracterstica de ser
siempre til, esta utilidad puede verse manifiesta a veces de forma inmediata y en otras a
posteriori, por eso es que se piensa aprovechar la informacin que el sistema pueda llegar a
contener como resultado de la interaccin que se tenga con l , como por ejemplo el
numero de video-conferencias que se puedan llevar a cabo a lo largo de un periodo que al
usuario le interese saber, ya sea las que se realizaron en un mes especfico o en un periodo
que se determine, as como tambin tomando en cuenta que los invitados pueden llegar a
responder va celular si van o no a asistir se puede almacenar este informacin no solo para
saber si un evento tendr buena o mala asistencia, sino para determinar qu tipo de eventos
tienen un promedio de asistencia aceptable, regular o mala.
Tomando en cuenta que muchas veces no solo es suficiente la informacin que se
presente sino muchas veces importa la manera en que se haga, se ha reflexionado acerca del

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 29

tema y con el objeto de que esta informacin se muestre de una forma rpida y fcil de
entender para quien la solicite, se ha pensado que en lugar de ser solamente datos
numricos se puede utilizar ciertas libreras que brinden la posibilidad de elaborar grficas,
de tal manera que se pueda apreciar con un solo vistazo cual es la sala que mas eventos ha
tenido en un determinado periodo, o tambin que salas son las ms concurridas y que
presentan mayor numero de audiencia
La intencin de cada uno de estos mdulos es mejorar la logstica que actualmente
se tiene respecto a la administracin de la salas de video-conferencia, as como tambin de
implementar herramientas que vayan un poco mas de eso y que en su conjunto resulten en
una solucin no solo factible sino tambin ms completa, donde los usuarios puedan
resolver en la medida de los posible algunos de los conflictos de organizacin para los
eventos y adems lo hagan de una forma rpida y confiable, que resulta til y cmoda a
todo aquel que haga uso de la herramienta que se planee desarrollar.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 30

1.7

Objetivos especficos (Sistemas de gestin de ips)

Facilitar el acceso a la informacin de los dispositivos Activos


Dar de alta dispositivos desde cualquier lado parte de la infraestructura
Facilitar el uso de alta de un dispositivo para que sea de manera intuitiva
Tener una base de datos siempre organizada, actualizada, coherente y detallada para
evitar conflictos en la red.
Ayudar a los administradores a otorgar direcciones IP por medio de familias ya
establecidas.
Incrementar la eficiencia, control y evitar prdidas de tiempo en este proceso.

1.8

Alcances

El sistema facilitar la administracin de las direcciones IP


El software facilitar la gestin de las salas de video-conferencias
Facilitar el aviso a los invitados, respecto al evento
Escalabilidad
El software ser independiente de la plataforma utilizada.
Interactividad de software, usuario va mensajes celular y por sitio web
Productividad en el uso de salas y en el crecimiento de la infraestructura, evitando
prdidas de tiempo en la parte administrativa de stos.
Control total sobre las salas y sobre los dispositivos colocados en cualquier punto de
la infraestructura.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 31

1.9

Resumen de Capitulo

Es importante conocer el objetivo de este trabajo de investigacin, resaltando el contexto, el


desarrollo y la aplicacin, demostrando las ventajas del uso de Java Server Faces,
complementndose con otras herramientas dentro del marco experimental (Gammu) y otras
ms que tienen mayor cantidad de tiempo como frameworks (jfreeChart, Ajax) pero
nosotros nos enfocamos a integrarlas a la tecnologa principal para hacer notar el potencial
que sta puede tener gracias a su arquitectura basada en estndar lo cual de da la cualidad
de interoperabilidad, considerando las ventajas de facilidad de desarrollo y mantenimiento
en comparacin a otras tecnologas similares como lo es Struts. Finalmente se menciona en
un marco histrico como es que surge la necesidad de investigacin y como es que se
encuentran estas tecnologas muy ah-doc para la solucin de necesidades de SICOM.
Para la aplicacin de esta tecnologa es muy importante conocer el contexto en la
cual se va a desarrollar, para poder considerar factores tcnicos y poder prever a largo plazo
y ver si realmente es til.
Considerando que SICOM se encuentra en expansin integrando tecnologas ms
actuales como lo es WiMAX, para su fortalecimiento y escalabilidad, podemos ver que la
tecnologa de Java Server Faces se ajusta a la perfeccin en base a estos detalles de
infraestructura, ya que los anchos de banda manejados dentro de todas las dependencias son
capaces de responder para que la aplicacin web funcione perfectamente y sobretodo de
forma paralela tenga la capacidad de escalabilidad y un mantenimiento eficaz, ya que es
posible seguir integrando nuevos mdulos sin necesidad de perder tiempo en reestructurar
el sistema actual.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 32

En el desarrollo de la aplicacin web existen dos res que se pueden integrar


fcilmente, una de estas es la gestin de salas de video-conferencia a travs de un sistema
autnomo que sea capaz de llevar la agenda de todas las salas y facilitando a los usuarios
hacer uso de estas sin tener que hacer un proceso personal con el administrador de salas en
SICOM, ya que lo vuelve tedioso y con grandes prdidas de tiempo por la gran cantidad de
salas y su crecimiento en el nmero de estas. Otro punto a tratar dentro de esta aplicacin es
la gestin sistemtica de dispositivos IP para dar de alta en cualquier punto de la
infraestructura de manera fcil, rpida y eficiente.

2. Opciones

de

Tecnologa

en

el

mercado

para

esta

infraestructura.
Actualmente existen productos como WhatsUpGold (whatsupgold, 2009) que se dedican al
monitoreo de la red, pero no gestiona la administracin del ingreso de nuevos dispositivos a
la red, en base a las configuraciones que se encuentran dadas en una base de datos, es decir,
no es capaz de dar indicaciones y advertir las implicaciones que tiene la integracin de un
nuevo dispositivo.
En el rea de logstica existe mucho software comercial genrico para la
administracin de salas de conferencia, como Outlook de Microsoft, sin embargo
necesitamos algo ms preciso a nuestras necesidades, y se enfoque a los detalles especficos
que requerimos.
Como podemos ver, prcticamente existen implementaciones similares enfocadas al
uso personal y no precisamente para el uso de objetos como en este caso una sala, incluso
muchas empresas desarrollan su propio software especifico a este tipo de necesidades, un
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 33

claro ejemplo es el sistema de reserva del Aula Magna del sitio del CIRIA, de la
Universidad de las Amricas Puebla, como se muestra en la figura 2.1.

Figura 2.1: Sistema de reserva del aula magna del CIRIA.

De forma concreta, como podemos ver, no existe un software comercial o gratuito


especifico a las necesidades de cada empresa, sin embargo se puede implementar, pero
como el desarrollo de aplicaciones web aun se encuentra en pleno apogeo, no es fcil
encontrar software basado en web completamente implementado a este tipo de problemas,
sin embargo solo ser cuestin de tiempo para empezar a ver la comercializacin de
aplicaciones web ms complejas y de gran magnitud.

3. En el almacenamiento (MySQL)
Un sistema de gestin de base de datos es un tipo de software muy especfico, que sirve de
interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan; y debido a las
necesidades que plantea la interfaz se ha elegido como gestor de base de datos a MYSQL.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 34

3.1

Un SGBD como MYSQL permite:

Abstraccin de la informacin. Los SGBD ahorran a los usuarios detalles acerca del
almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o
cientos de archivos, este hecho se hace transparente al usuario. As, se definen
varios niveles de abstraccin.

Independencia. La independencia de los datos consiste en la capacidad de modificar


el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en
las aplicaciones que se sirven de ella.

Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia,


ser necesario vigilar que aquella informacin que aparece repetida se
actualice de forma coherente, es decir, que todos los datos repetidos se
actualicen de forma simultnea. Por otra parte, la base de datos representa
una realidad determinada que tiene determinadas condiciones, por ejemplo
que los menores de edad no pueden tener licencia de conducir. El sistema no
debera aceptar datos de un conductor menor de edad. En los SGBD existen
herramientas que facilitan la programacin de este tipo de condiciones.

Seguridad. La informacin almacenada en una base de datos puede llegar a tener un


gran valor. Los SGBD deben garantizar que esta informacin se encuentra segura de
permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras
de permisos.

Manejo de transacciones. Una Transaccin es un programa que se ejecuta como una


sola operacin. Esto quiere decir que luego de una ejecucin en la que se produce
una falla es el mismo que se obtendra si el programa no se hubiera ejecutado. Los

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 35

SGBD como MYSQL proveen de mecanismos para programar las modificaciones


de los datos de una forma mucho ms simple que si no se dispusiera de ellos.

Tiempo de respuesta. Lgicamente, es deseable minimizar el tiempo que el SGBD


tarda en darnos la informacin solicitada y en almacenar los cambios realizados.

Despus de hacer mencin de la parte ms baja del sistema (manejo de datos), ahora en
el siguiente captulo nos enfocaremos a la arquitectura de ste dando detalle de la
estructuracin, sin embargo, en la parte del diseo se dar el diagrama de clases que
representa nuestras relaciones, entidades, tributos y triggers utilizados en el sistema,
para dar mayor transparencia en los procesos y transacciones que se realizan mientras el
usuario interacta con el sistema.

4. Arquitectura del sistema


La aplicacin se desarroll en un lenguaje de programacin conocido como java el cual es
un lenguaje de programacin orientado a objetos desarrollado por Sun Microsystems. Se
eligi este lenguaje debido a varias razones, en primer lugar permite el desarrollo de
aplicaciones con un paradigma orientado a objetos, esto posibilita disear un software de
forma que los distintos tipos de datos que se usen estn unidos a sus operaciones, mediante
la construccin de clases y objetos, entendindose como objeto un paquete que contiene el
comportamiento es decir el cdigo y el estado o los datos. El objetivo bsico que se
pretende alcanzar al aplicar el paradigma conocido como orientado a objetos, es el de
separar aquello que cambia de las cosas que permanecen inalterables. Esta separacin en
objetos coherentes e independientes en teora ofrece una base ms estable para el diseo de
un sistema software razn por la cual se opt por este paradigma.
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 36

Otras de las razones por la que java es el lenguaje que se ha escogido para el desarrollo de
la interfaz, es que permite algo que se conoce como independencia de plataforma, lo que
significa que los programas escritos en este lenguaje pueden ejecutarse igualmente en
cualquier tipo de hardware, ya que provee una mquina virtual

que ejecuta cualquier

cdigo que haya sido escrito en dicho lenguaje, permitiendo que el mismo binario
ejecutable se pueda usar en todos los sistemas compatibles con el software Java por lo
menos en Windows, GNU/Linux, y Solaris.
Por ltimo cabe mencionar que java es que es un lenguaje que cuanta con una licencia de
tipo pblica general o GNU por su nombre en ingls General Public License, esta licencia
est orientada principalmente a proteger la libre distribucin, modificacin y uso de
software. Su propsito es declarar que el software cubierto por esta licencia es software
libre, lo que significa que esta cualquier software que tenga esta denominacin respeta la
libertad de los usuarios sobre su producto adquirido y por tanto, una vez obtenido puede ser
usado, copiado, estudiado, cambiado y redistribuido libremente, lo que es importante
porque todo lo anterior se refleja en un ahorro de costos ya que no se tienen que pagar
licencias, como es el caso de otras tecnologas. (GNU Operating System, 2009). Ahora
vamos analizar modelos especficos que usaremos en el sistema donde daremos ms detalle
en el siguiente captulo.

4.1

MVC

El patrn de arquitectura MVC o Model-View-Controller es un patrn que define la


organizacin independiente del Model referente a los objetos de negocio, la View que es la
interfaz con el usuario u otro sistema y finalmente el Controller que funge como

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 37

controlador del flujo de trabajo en la aplicacin. Cabe sealar que al existir la separacin de
vistas, controladores y modelos es ms sencillo realizar labores de mejora como:

El agregar nuevas vistas segn las necesidades que se presenten.

Agregar nuevas formas de recolectar las ordenes del usuario en caso de que as sea
necesario.

Modificar los objetos bien sea para mejorar el desempeo o para migrar a otra
tecnologa.

Las labores de mantenimiento tambin se simplifican y se reduce el tiempo necesario para


ellas. Las correcciones solo se deben hacer en un solo lugar y no en varios como sucedera
si tuvisemos una mezcla de presentacin e implementacin de la lgica del negocio.
Las vistas tambin son susceptibles de modificacin sin necesidad de provocar que todo el
sistema se paralice. Adicionalmente el patrn MVC propende a la especializacin de cada
rol del equipo, por tanto en cada liberacin de una nueva versin se vern los resultados.

Figura 4.1: Flujo a travs del modelo MVC

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 38

En la Figura 6.1 se muestra la estructura bsica que se encuentra dentro de Java Server
Faces, cumpliendo con un estndar ms en la programacin bsica de cualquier aplicacin,
pero en este caso enfocada a una aplicacin web.
En el siguiente captulo pasaremos de la arquitectura a los complementos que se
pueden integrar fcilmente gracias a este modelo de programacin.

5. JFreeChart
JFreeChart es una librera para grficos escrita en Java por lo que su compatibilidad con el
sistema est asegurada, como se mencion en el prrafo anterior esta librera facilita
mostrar grficas, entre las caractersticas principales de esta biblioteca se pueden mencionar
las siguientes:

Es un API consistente y bien documentado con soporte para un amplio rango de

tipos de grficas.

Cuenta con un diseo flexible fcilmente extendible, y la posibilidad de ser usado

en tecnologas de servidor como la que planea desarrollar.

Ofrece soporte para varios tipos de salida, incluyendo componentes Swing, archivos

de imagen como PNG y JPEG, y formatos grficos de vectores incluyendo PDF, EPS y
SVG.

JFreeChart es open source y ms especificamente, Software Libre, ste est

distribuido bajo la licencia LGPL, que permite el uso en aplicaciones propietarias.


Algunos ejemplos de las graficas que se pueden generar son los siguientes

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 39

Figura 5.1: Ejemplo de graficas que se pueden generar en JFreeChart

Figura 5.2: Ejemplos de graficas que se pueden generar en JFreeChart

Como se mencion anteriormente, en la parte que describe el software a utilizar, la librera


jFreeChart es una las principales herramientas que se utilizarn en el desarrollo que se
planea hacer para SICOM, ya que proporcionar las facilidades de generar grficos.
Con el objetivo de familiarizarse con esta tecnologa, se plane el desarrollo de un
prototipo que brindara la posibilidad de aplicar esta librera. Cabe mencionar que las
graficas que se generaron no fueron escogidas al azar, sino por el contrario se eligiendo en
funcin de las estadsticas que se piensan mostrar, como por ejemplo la ocupacin de una
sala a lo largo de un ao, la asignacin de direcciones IP en un periodo determinado o el
uso de las direcciones ip (cmaras, voz, transmisin de datos)
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 40

El prototipo implementa tres tipos de grficas: barras, lineal y pastel; es una aplicacin del
tipo Stand Alone, ya que como prototipo el objetivo era familiarizarse con tecnologa
aplicada a las posibles necesidades de la aplicacin. Es necesario que los datos que se
utilizaron para la prueba fueran generados de una manera aleatoria haciendo uso de la clase
Math que forma parte de las libreras de java. Haciendo una reflexin acerca de que las
grficas que se van a generar tendrn como datos para construirse, aquellos que estn
almacenados en una base de datos, se consider que los datos utilizados se recuperan para
la generacin de dichas grficas se obtuvieran de una tabla ubicada dentro de una base de
datos en mySQL. Es necesario aclarar que dado el hecho de que este prototipo solo tena
como fin la familiarizacin con la librera jFreeChart, no se tom en cuenta la usabilidad de
la ventana.
La arquitectura del prototipo es simple, ya que solo cuenta con 3 clases, una donde
se generan los datos aleatorios y se almacenan en la base datos, otra donde se encuentran
los mtodos que generan las 3 graficas y finalmente la vista, que contiene la interfaz grfica
que facilitar la visualizacin de las graficas a generar.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 41

5.1

Interfaz grfica

Figura 5.3: En esta primera grfica, se puede ver que estn representados los 12 meses del ao, as mismo se

muestra la relacin existente entre el mes especificado y su ocupacin expresando en otras palabras el nmero
de veces que se hizo uso de la sala a lo largo del ao.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 42

Figura 5.4: En segundo puesto est una grfica del tipo lineal, este estilo de grfica puede ser utilizada para
mostrar las estimaciones de crecimiento en cuanto a asignaciones de ip o bien al igual que las salas y su uso,
para mostrar el numero de asignaciones que se han hecho en un periodo determinado.

Figura 5.5: Finalmente como se puede apreciar, esta es una grfica de pastel, que se piensa podra ser de
mucha utilidad para mostrar la proporcin de uso en la direcciones ip por ejemplo aquellas que se utilizan
para video, voz o transmisin de datos.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 43

Algunas pruebas que hicimos con valores de manera aleatoria generndolos y


cambindolos en tiempo real para probar la capacidad de repuesta en tiempo real:

Figura 5.6: Conjunto de pruebas para la realizacin de graficas en tiempo real basadas en valores aleatorios, y

como podemos ver cumplieron satisfactoriamente los requisitos de respuesta que necesitamos para graficar
los distintos tipos de eventos que vamos usar en tiempo real para el monitoreo.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 44

Se puede concluir que jFreeChart es una librera que resulta mucha utilidad para la
aplicacin de se est desarrolla, los distintos formatos en sus tipologas de grficas y en la
generacin de las mismas permiten que se puedan usar extensiones como (.jpg o png, entre
otras), permitiendo en la posibilidad de generar archivos independientes del sistema que
puedan ser impresos o utilizados fuera del mismo.
Por ltimo otro punto muy importante en la eficiencia de esta librera, es la capacidad de la
generacin de grficas en tiempo real para poder ilustrar ciertos aspectos de la red en el
mdulo de IP en tiempo real, como por ejemplo: el tiempo de respuesta de ciertos
dispositivos, para poder medir ciertos parmetros de eficiencia, as como poder medir en
tiempo real los anchos de banda que se encuentran en uso por ciertos dispositivos y poder
graficar de manera ilustrativa en que rangos estamos haciendo el uso de nuestros enlaces
sobre nuestra capacidad total.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 45

6. Gammu
Otra herramienta que usamos para el desarrollo del sistema, es un demonio de mensajes de
texto va celular, bajo la licencia de cdigo libre y de cdigo abierto.
Este framework se encuentra compuesto por una serie de aplicaciones, scripts, y
drivers para diferentes dispositivos mviles, y dispositivos similares. El cual nos otorga una
serie de funciones
En el rea con el que nos apoyaremos para la interaccin de mensaje ser a travs del
servicio que ofrece Gammu, la cual es una herramienta de consola y una biblioteca para
trabajar con telfonos mviles de varias marcas. Permite usar las caractersticas especficas
de los diferentes modelos, pero las funciones bsicas deberan funcionar en la mayora de
ellos. El programa puede funcionar con contactos, mensajes (SMS, EMS y MMS),
calendario, listas de tareas, sistema de archivos, radio integrada, cmara, etc. Tambin
permite su uso en modo demonio para el envo y recepcin de SMS. (Wik de Gammu,
2009)
Actualmente los telfonos compatibles incluyen:

Muchos modelos de Nokia.

Alcatel BE5 (501/701), BF5 (715), BH4 (535/735).

Telfonos compatibles con AT (Siemens, Nokia, Alcatel, IPAQ).

Telfonos compatibles con OBEX y IrMC (Sony-Ericsson, Motorola).

Telfonos Symbian mediante gnapplet.

Y continuamente se encuentran actualizando nuevos modelos. En nuestro caso, estamos


usando un telfono SAMSUNG con una conexin va bluetooth y por cable USB
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 46

Este framework cuenta con una serie de configuraciones que se especifican en un


archivo de lectura, en el cual se indica el puerto por el cual se va comunicar con el telfono
celular y los datos necesarios para conectarse con la base de datos y poder interactuar. Estos
detalles se explicaran en el siguiente subcaptulo
La velocidad de respuesta de Gammu depende de la respuesta de la red telefnica,
ya que muchas veces sta se encuentra saturada y existe un retraso en el envo y recepcin
de mensajes.
Es importante mencionar que gammu originalmente se encontraba integrado y
disponible solo para Linux, por lo cual prcticamente no existe documentacin que ayude
en el uso de este demonio para Windows, y muchas de las cosas las tuvimos que adaptar
para hacerlo funcionar en Windows ya que solo se tomaron los cdigos fuente de Linux y
se compilaron y generaron ejecutables para Windows, sin considerar los paths que se
manejan en Windows. Es por eso que tenemos que usar ciertos archivos de configuracin
para hacerlo funcionar ya que en Linux su uso es ms cmodo y documentado.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 47

6.1

PhpMyAdmin & Gammu

Otra herramienta muy til que utilizaremos ser phpMyAdmin, la cual es una herramienta
escrita en PHP con la intencin de manejar la administracin de MySQL a travs de
pginas web, utilizando Internet. Actualmente puede crear y eliminar Bases de Datos, as
como crear, eliminar y alterar tablas, borrar, editar y aadir campos, ejecutar cualquier
sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos en
varios formatos y est disponible en 50 idiomas. Se encuentra disponible bajo la licencia
GPL.

Figura 7.1: Ventana principal de nuestra base de datos que usara nuestro demonio de mensajes (gammu) en la

cual se establecer parmetros de respuesta, lista de nmeros telefnicos y casos de reaccin en base a los
mdulos que se programarn

Como podemos ver, en la imagen 3, ya tenemos nuestro esquema hecho en base a los
estndares requeridos por el demonio de mensajes, y de esta manera nuestros mdulos
podrn interactuar con esta base de datos y el demonio responder segn las peticiones
recibidas o los cambios o indicaciones hechas por los mdulos de administracin de salas y
de administracin de dispositivos ip.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 48

Figura 7.2: Pruebas de reconocimiento del dispositivo telefnico y de envo de mensajes a travs de servidor

gammu y de fondo tenemos el archivo de configuracin que tiene la informacin del puerto, conexin a travs
de bluetooth con el equipo celular. NOTA: No existe una configuracin de conexin en la pgina de soporte,
sin embargo a base de pruebas, experimentos y conocimiento se pudo deducir la conexin hasta encontrarla
de manera exitosa.

Como podemos ver en la figura 3.1 Primero vamos a hacer el equivalente a un ping por
medio del comando gammu identify para confirmar la conexin entre el dispositivo y el
servidor y despus mandamos un mensaje con el comando gammu sendsms TEXT
numero destino text mensaje. Esto lo hicimos para probar la parte ms bsica de este
servidor.
En la figura 3.2 que se muestra a continuacin levantamos el servicio de del demonio de
gammu que vincula con la base de datos y se mantiene activo para enviar, recibir mensajes
y responder peticiones segn sea el caso.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 49

Figura 7.3: Demonio de gammu activad, como parmetro de entrada se le da la configuracin de conexin y
la informacin necesaria para conectar con MySQL, en el archivo smsdrc.

6.2

Uso de gammu en un prototipo previo

Figura 7.4: Interfaz de prueba para el envi de mensajes a travs de la interaccin con la base de datos y el

demonio de gammu activo, en el momento que se pone un mensaje en el autbox de la base datos,
automticamente lo enva y lo manda en senditems indicando que ya se envi el mensaje de manera exitosa.

6.3

Detalles tcnicos

Otro dispositivo que vamos a necesitar es un telfono celular que sea compatible
don el demonio de servidor de mensajes. Los modelos compatibles con nuestro demonio de
servidor se encuentran disponibles en la siguiente pgina: http://wammu.eu/phones/
Cabe mencionar que conforme a la experiencia que hemos tenido con este
framework, podemos aadir ms dispositivos de los cuales no se encuentran en la lista,
configurando el archivo gammurc y smsdrc dndole los parmetros de interfaz del
dispositivo que se desea conectar. Gammu en su pgina invita a la gente a colaborar
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 50

agregando nuevas configuraciones de este estilo para que a la gente le sea ms fcil el uso
de este framework.
Gammu tambin tiene la capacidad de manejar de manera autnoma mas de un
dispositivo celular, ya que en dado caso de que si existe algn problema con alguno de los
dispositivos conectados busca el siguiente disponible para el envi y recepcin de
mensajes, es decir, en caso de que por ejemplo, se acabe el saldo de un celular, no importa
que es capaz de usar otro celular disponible que se encuentre conectado.
Todo esto se especifica en el archivo que trae como nombre por default smsdr, el cual le
definimos la configuracin del dispositivo(s) a usar y especificamos los parmetros para
conectar con la base de datos.

Nuestra aplicacin de SICOM interacta con la base de datos y en cualquier cambio


de esta, el demonio va actuar de manera autnoma enviando mensajes, y en caso de
recepcin de mensajes el demonio los va almacenar de manera automtica en las bases de
datos especificadas segn el sistema.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 51

Figura 7.5: Especificaciones de configuracin para que funcione de manera correcta el demonio (se seala la
parte de definicin del equipo celular y de la base de datos).

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 52

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 travs de una
interfaz sencilla, tal vez no completamente implementada, pero usando las funciones
bsicas y las ms importantes. Y entramos en el proceso de investigacin, de cual sera la
mejor tecnologa para desarrollar esto de la manera ms prctica y eficiente, incluyendo el
uso del lenguaje y que siguiera la arquitectura de MVC, adems de que cumpliera los
estndares bsicos y sea sencillo de modelar en la parte de la vista ya que existen una gran
cantidad de formas para modelar una pgina web (html, flash, applets, jsp, etc) y nos dimos
cuenta que podramos hacerlo de manera muy baja, construyendo y modelando cdigo jsp,
html, etc. Pero dentro de la investigacin encontramos varios lenguajes muy usados hoy en
da que ayudan a la construccin de sistemas enfocados a aplicaciones web, sin meterse
tanto con aspectos no importantes y solo concentrarse en la parte de la programacin
lgica, entre estos fue Java Server Faces, Ruby on Rails, PHP bajo diferentes frameworks,
etc. Y el que ms de adecuaba a la solucin de nuestras necesidades y conforme a nuestra
experiencia que llevbamos 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 tambin 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
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 53

pginas de internet Java Server Faces y PHP eran los ms utilizados para este tipo de
necesidades y los ms estables, incluso encontramos en la pgina 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, tambin hace uso de esta tecnologa 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 ms familiar, sin embargo puede que no sea el mejor
para esta tecnologa, pero por cuestiones prcticas lo usamos. Muchos recomiendan el uso
de Eclipse para desarrollar aplicaciones basadas en tecnologa JSF, pero eso ya depende de
gustos de los usuarios.
Al empezar a desarrollar la aplicacin bajo esta tecnologa nos dimos cuenta que
nos daba herramientas poderosas para continuar todo el proyecto, lo cual nos llevo a las
tendencias ms actuales sobre el desarrollo de aplicaciones web, donde las aplicaciones que
comnmente se desarrollan para quipos de manera local, se han convertido en aplicaciones
web como Google Docs, que transforma sus versiones de office a una versin de office
pero basada en web. Nos dimos cuenta de que nos da una serie de ventajas las cuales las
discutiremos de manera ms 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 estndar java J2EE. De hecho se est preparando
una nueva versin que traer numerosas novedades, sobre todo en lo que se refiere a su

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 54

integracin con AJAX. Tambin 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 versin se espera una mejora sobre el control de las fases del ciclo
de vida de la peticin que faciliten la creacin de componentes JSF complejos que se usan
de manera simple.

7.2

JSF Introduccin

Java Server Faces es una tecnologa 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 APIs para presentar componentes de una interfaz de
usuario y administrar su estado, manejando eventos, validar entrada, definir esquema de
navegacin y dar soporte para internacionalizacin y accesibilidad, tambin contiene dos
bibliotecas de etiquetas personalizadas para JSPs, que nos ayudan con una interfaz de
nuestra aplicacin, 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 tecnologa solo se encuentra disponible hasta las
versin 6.5 de NetBeans.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 55

7.3

Objetivos de JSF

1. Proporcionar un conjunto de componentes para la interfaz de usuario, incluyendo los


elementos estndares de HTML para representar un formulario. Estos componentes se
obtendrn de un conjunto bsico 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 tratarn los aspectos
del ciclo de vida de la interfaz de usuario, controlando el estado de un componente durante
el ciclo de vida de su pgina.
2. 3. Proporcionar un modelo de JavaBeans para enviar eventos desde los controles de la
interfaz de usuario del lado del cliente a la aplicacin del servidor.
4. Definir APIs para la validacin de entrada, incluyendo soporte para la validacin en el
lado del cliente.
5. Especificar un modelo para la internacionalizacin y localizacin de la interfaz de
usuario.
6. Automatizar la generacin de salidas apropiadas para el objetivo del cliente, teniendo
en cuenta todos los datos de configuracin disponibles del cliente, como versin del
navegador... (JavaServer Faces Technology, 2010)

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 56

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 correccin de errores.

JSF 2.0 (12-08-2009) - ltimo lanzamiento.

7.5

Ventajas de JSF

El cdigo JSF con el que creamos las vistas (etiquetas jsp) es muy parecido al
HTML estndar. Lo pueden utilizar fcilmente desarrolladores y diseadores web.

JSF resuelve validaciones, conversiones, mensajes de error e internacionalizacin

JSF permite introducir javascript en la pgina, 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,


Tambin se puede modificar el comportamiento del framework mediante APIs que
controlan su funcionamiento.

JSF forma parte del estndar J2EE, mientras que otras tecnologas para creacin 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 estndar que forman el ncleo del framework. Entre estas
implementaciones cabe destacar la implementacin de referencia de Sun
Microsystems, actualmente desarrollada como un proyecto open source, y la
implementacin del proyecto Apache, MyFaces, dotada de un conjunto de

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 57

extensiones que la hacen muy interesante para el desarrollo de aplicaciones


corporativas.

La arquitectura del controlador es ms avanzada y flexible. Podremos hacer algunas


tareas avanzadas de manera sencilla (por ejemplo, utilizando phase listeners).

JSF permite definir la navegacin no solo a travs de los mtodos de navegacin de


los beans, sino incluso en la propia pgina (navegacin definida en los componentes
de la pgina).

JSF permite recoger los parmetros del formulario de manera ms sencilla que
Struts, e incorpora un lenguaje de expresiones que lo hace ms simple.

JSF soporta la creacin de manejadores de eventos asociados a los componentes de


la pgina, lo que dota a dichos componentes de gran potencia. Un ejemplo: creacin
de combos enlazados, en los que la eleccin 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 creacin 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. (Cristbal Gonzlez Almirn, 2010)

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 58

7.6

Integrando Ajax a JSF

JSF es un framework que lanza muchas peticiones al servidor. Para optimizar dicho dialogo
estn 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 pgina completa. La combinacin JSF ajax dota a las
pginas 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 aplicacin 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 ms 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 aplicacin local,
usando los elementos bsicos de java, y enfocndonos a la parte de la lgica, en esta etapa
aun no desarrollbamos la parte de la esttica, ya que en esta modalidad de desarrollo existe
mayor cantidad de trabajo para el desarrollo de sta a comparacin de JSF, a continuacin
mostraremos algunas de las ventanas, las cuales ya habamos implementado la lgica bsica
para reserva e invitar en conjunto con el uso de Gammu.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 59

Figura 8.1: Muestra en cmo se creaban los eventos y se agregaban los usuarios al evento y al momento de
hacer esto el sistema mandaba mensaje va 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 esttica,
lo cual nos ayudo bastante, sin considerar las dems ventajas que hemos venido
comentando.

Figura 8.2 Validando usuario incorrecto

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 60

Figura 8.3: Validaciones especficas (se planea validar en tiempo real usando ajax). Estas validaciones cuentan
con detalles especficos, por ejemplo si aun correo le hace falta un punto o la arroba o si e su nmero de
celular no son nmeros y no es de 10 dgitos.

De tal manera que muchas de las cosas de esttica y algunos mtodos de programacin, se
encarga JSF como un estndar dedicado a la solucin de aplicaciones web, de tal manera
que el desarrollador solo se preocupe por la parte lgica del sistema. Cabe mencionar que
estos detalles tambin son configurables a los parmetros 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 hubiramos hecho, tendramos que
programarlo de tal manera que hiciera algo similar, sin embargo en este caso ya no tenemos
que preocuparnos por este tipo de aspectos.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 61

7.7.2 En el entorno de Desarrollo


En la parte de programacin 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 mtodos necesarios, as tambin 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 tendramos
que programar si lo hiciramos como una aplicacin java clsica, lo podemos verificar con
el entorno de desarrollo de nuestros primeros prototipos como se muestra en la siguiente
figura.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 62

Figura 8.5: Entorno de trabajo SIN JSF, enfocado a una aplicacin local basado en prototipos previos,
haciendo notar la diferencia de herramientas sin JSF.

En esta parte tenemos dividida las vistas y la parte lgica en dos paquetes, pero no
contamos con Beans de sesin ni Data Privaders, RowsSets, herramientas, etc que nos
ayudan a mejorar la esttica y arquitectura del sistema, de tal manera que las consultas se
hacen a muy bajo nivel usando conectores bsicos, dando lugar a un mayor porcentaje de
errores en las transacciones.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 63

8. JSF Vs Struts
En la propuesta inicial de este proyecto, se plantaba el uso de Struts, pero sin embargo,
conforme se fue desarrollando y se uso JSF, se encontraron mejoras en el uso de JSF a
comparacin de Struts
JSF tiene capacidad para ser visto en dispositivos mviles mientras que Struts est
limitado a HTML Y http
Es mantener que una aplicacin escrita en Struts
Elementos Grficos con mayor esttica, y ms fciles de usar ya que son muy
intuitivos los manejos de eventos, facilita conocer el cdigo de la aplicacin cuando
se est haciendo un submit. Como si programramos una aplicacin local en un
entorno de trabajo como NetBeans, los mtodos codificados dan respuesta a botones
en especfico. Tambin podemos conocer su estado de cada elemento de tal manera
que se simplifica el trabajo con los Beans.
Expresin Lenguaje (EL), ya que JSF da un lenguaje para acceder las propiedades
de los beans y los elementos en las colecciones.
JSF es mas reutilizable y orientado a componentes mientras que en Struts no.
Struts te obliga a que las clases controller y beans extiendan de una clase en
particular ej. Action

y que utilicen un mtodo especfico x como ececute()

mientras que en JSF no.


Es ms fcil usar el archivo de configuracin faces-config.xml que struts-config.xml
ya que en JSF lo podemos interpretar de manera grfica con algn IDE, y hacerlo
ms intuitivo y claro.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 64

8.1

Demostrando el uso de JSF en comparacin de Struts

En base estudios realizados para medir la eficiencia del uso de estos frameworks se hizo
una prueba a travs de la construccin de una pantalla que despliegue un listado y una
forma como se muestra en la siguiente figura (Aleman, 2010)

Figura 9.1: Pantalla de despliegue de listado usado como prueba para demostrar la eficiencia de Struts en

comparacin de JSF (Aleman, 2010)

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 65

En la siguiente tabla verificamos la cantidad de Horas Hombre (HH*) de un programador


sin experiencia en el respectivo framework mostrado, para hacer la pantalla mostrada en la
figura 9.2
STRUTS
struts-config.xml

HH*

faces-config.xml

un <form-bean> por cada forma


un <action en action-mappings
por cada evento + un <forward
name por cada success o failure

Clases

JSF

HH*

un <managed-bean x cada value


object
una <navigation-rule por cada
evento (tarea a realizar con click
determinado)

Clases

Action

Objeto

ActionForm

Controlador

ValueObject
listado.jsp

20

listado.xhtml

Cdigo controlando el tipo de


componente a desplegar segn la
columna.
Cdigo para paginar la tabla
Una clase action para cada botn,
cada una con sus respectivos action
mappings
Implantar el validator o validar en el
mtodo validate de la ActionForm
Configurar al menos dos forwards
por cada action y los global forwards
necesarios para todos

10

dataTable
Cdigo JavaScript del componente
(sin escribirlo)
Dar de alta managed bean en facesconfig.xml
Configurar navegacin
Cdigo de manejo de eventos por
componente.

menuLateral.jsp

menuLateral.xhtml

menuInferior.jsp

menuInferior.xhtml

Pestaas con struts-menu

Pestaas con tabbedPane

Curva de aprendizaje

40

Curva de aprendizaje

50

Aprender el flujo del request y el response

Aprender todo lo que se puede controlar,


muchos eventos, vistas, ajax

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 66

Integracin con Spring

Integracin con Spring

Acceso a Datos

Acceso a Datos

TOTAL Horas Hombre con STRUTS

TOTAL Horas Hombre JSF

76

69

Figura 9.2: Tabla comparativa entre JSF y Struts en base a las horas Hombre de trabajo hechas a partir

de un experimento (Aleman, 2010)

Ahora considerando el mantenimiento


Mantenimiento

STRUTS

JSF

Cambios de navegacin

0.25

Cambios de layout, orden de

0.5

10

componentes
Cambios de look and feel

Figura 9.3: Tabla comparativa entre JSF y Struts en base a las horas hombre de trabajo para el mantenimiento de una
pgina en base a un experimento (Aleman, 2010)

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 67

8.2

Prime Faces

PrimeFaces es una librera open source (licencia apache v2) para Java Server Faces, el
objetivo principal de esta es ofrecer un conjunto de componentes ricos para facilitar la
creacin de aplicaciones web. PrimeFaces se divide principalmente en tres mdulos: El
primero es el set de componentes para la interfaces de usuario, el segundo modulo llamado
Optimus utiliza Guice para poder crear managed beans utilizando anotaciones, simplificar
la navegacin entre pginas e integrar PrimeFaces con JPA, transacciones y ms. Y un
tercer modulo llamado FacesTrace permite monitorear aplicaciones JSF. Lo bueno es que
los tres mdulos son totalmente independientes lo que permite crear cualquier tipo de
combinacin de frameworks, por ejemplo: PrimeFaces UI + Spring + Hibernate. (java
Hispano, 2009)

Figura 9.4: PrimeFaces: Barras de progreso en tiempo real (Casos de uso de PrimeFaces, 2010)

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 68

Figura 9.5: Prime Faces: Dashboard con funciones similares a las ventanas de Windows, incluyen efectos

grficos. (Casos de uso de PrimeFaces, 2010)

Figura 9.6: PrimeFaces: Posibilidad de uso de mens contextuales sobre imgenes

En las figuras 9.4, 9.5, 9.6 solo es una pequea muestra de las diversas herramientas
con las que cuenta PrimeFaces, y cabe mencionar, que se encuentran actualizando este
framework de manera constante lanzando ms herramientas.
La estabilidad que se experimenta al utilizar corriendo este framework, es bastante
buena, ya que no se percibe ningn tipo de uso excesivo de recursos sobre el explorador y

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 69

ningn error al utilizarlo. Incluso es ms rpido en comparacin de otras aplicaciones


existentes como FaceBook o Twitter.
El uso justificado de sta herramienta fue cuando nos encontramos con la
problemtica de proyectar las grficas de jFreeChar sobre la aplicacin, con la necesidad de
tener las graficas siempre en tiempo real, sin embargo, los componentes grficos de Java
Server Faces no cuentan con la capacidad de desplegar grficos de este tipo, por lo que las
investigaciones sobre como implementarlo de la mejor manera y nos encontramos con esta
herramienta que cuenta con una gran cantidad de utilidades para darle vista, presentacin y
agilidad a los grficos de la aplicacin web, usando como base Java Server Faces y otros
frameworks dependiendo lo que se desee utilizar.
Algo que nos impresiono de esta poderosa herramienta, fue la capacidad de ser
ejecutada en dispositivos mviles sin tener que programar de manera especfica para cada
modelo de telfono o dispositivo. Adems de que nos ofrece una librera llamada Touch
Faces para agregar propiedades tctiles para todos los dispositivos que cuenten con dicha
propiedad (PrimeFaces, 2009).
Por el momento esta tecnologa es compatible con IPhone, Palm, Android Phones,
Nokia S60 y otros mas, gracias a su forma de trabajo estandarizada con el soporte de Java
Server Faces. Algunas de las aplicaciones que se encuentran de ejemplo en el sitio se
muestran en la figura 9.7

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 70

Figura 9.7: PrimeFaces: Ejemplos de aplicaciones usando la librera TouchFaces para dispositivos mviles

con capacidades de interfaz tctil

Figura 9.8: Diagrama de secuencia de PrimeFaces

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 71

Figura 10.8: Clase Manejador, la cual gestiona la salida de todos los datos a travs de componentes visuales.

En la clase de la figura 10.8, fue creada con el propsito de administrar todas las
proyecciones, as como la obtencin de datos y operaciones bsicas como limpiar el
formulario de pginas. Es decir la lgica de interaccin con los componentes visuales fue
desarrollada en esta clase de manera intuitiva para que la pueda usar cualquier programador
y

sea

fcil

su

manteamiento

Sistema gestor de salas y dispositivos de red basado en JSF

rehus.

Pgina 83

Figura 10.9: Clase Validaciones, en la cual se encuentran las validaciones bsicas para la entrada de

informacin de las diferentes secciones del sistema.

En esta clase(Figura 10.9), bsicamente gestionamos la parte de la gestin de validacin de


entrada de datos, para evitar que existan datos inconsistentes dentro de la base de datos, as
como datos nulos que son requeridos para que se complete la transaccin. En esta parte
consideramos detalles de longitud de datos, caracteres necesarios, y tipo de datos. Cabe
mencionar, que existe otra clase de validaciones que mostraremos en la siguiente figura, la
cual es ms especializada y enfocada a la validacin de horarios de las salas, en cuestin de
empalmes.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 84

Figura 10.10: Clase que valida empalmes en la gestin de salas.

Una de las clases ms importantes, es la de la figura 10.10, ya que consta de un conjunto de


reglas para poder aceptar una reservacin de sala, considerando que no existan
reservaciones en el horario deseado, as como empalmes dentro de una misma hora
considerando los minutos y el lugar. Esto lo hace haciendo consultas a la base de datos,
para poder verificar en tiempo real si existe algn problema con su reservacin y poderlo
notificar al usuario.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 85

Figura 10.11: Clase Utileras, rene un conjunto operaciones bsicas como bsquedas personalizadas y

gestin y conversin de datos.

En la figura 10.11 consta de un conjunto de herramientas que facilitan al desarrollador para


hacer un conjunto de consultas y despliegues a la interfaz de manera automtica, conforme
los parmetros que se lo otorgue, esta clase nos ayuda a reducir en gran cantidad el cdigo
repetitivo en cuestin de consultas, ahorrando tiempo de forma paralela en la
implementacin de todo el proceso de una consulta.

9.6

Diagrama de clases para la gestin de dispositivos de red

En la gestin de dispositivos de red, dividimos las direcciones IP en sus respectivos octetos


para poder almacenarnos en las bases de datos de tal manera que no existieran
registros repetidos. Para esto en el primer Octeto lo almacenamos en una relacin
como la familia cero, en el segundo octeto, tiene un apuntado al primer octeto, y de
la misma manera para el tercer octeto, el cual tiene un apuntador a la relacin de la
familia anterior. Las relaciones se muestran en la figura 10.12

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 86

Figura 10.12: Diagrama de clases de las familias de octetos para la gestin de direcciones IP

Finalmente el ultimo octeto viene definido por esta ultima relacin, en la apuntamos
al tercer octeto y as se van sucesivamente hasta llegar al primer octeto. Como se muestra
en la figura 10.13

Figura 10.13 Diagrama de clases para el ltimo octeto de la gestin de dispositivos de red.

De esta manera estamos garantizando que no va existir redundancia en el


almacenamiento, lo cual nos permite ahorrar espacio y mantener una lgica transparente.
Por seguridad del sistema no mostramos el usuario y contrasea de la base de datos.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 87

9.7

Funcionamiento del gestor de dispositivos de red

En el men del administrador del sistema, tiene una seccin de administracin de


direcciones IP como TAB, en el cual cuenta con la funcionalidad principal de dar de alta
dispositivos de red, con la funcin de sugerir una direccin IP disponible para la familia de
octetos seleccionada, o de lo contrario, el usuario puede escoger una con la seguridad de
que el sistema valida si se encuentra libre, de lo contrario el sistema notifica en dado caso
de que se encuentre ya ocupada. Tambin existe la validacin en la parte de la direccin
MAC. Una vista previa de este sistema se muestra en la figura 10.7.1

Figura 10.7.1: Sistema gestor de dispositivos de red

Tambin se pueden dar altas y bajas de las familias de octetos, con sus respectivas
validaciones en los rangos que stos pueden ocupar conforme a los estndares de redes.
Como lo podemos ver en las opciones del men derecho de la figura 10.7.1

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 88

10.

Implementacin del sistema gestor de salas y dispositivos

de red
10.1 Introduccin
El sistema tiene un modelo bsico, administrador y usuarios. Presentando una pantalla de
identificacin, donde el usuario escribe su seudnimo y contrasea, el sistema
automticamente reconoce el tipo de usuario y el sistema muestra la respectiva interfaz que
le corresponde dependiendo si es administrador o si es usuario, ya que varan en los
privilegios de stas.
Dentro un usuario puede reservar salas, en un horario especfico y en un lugar, para
esto se implementaron una serie de validaciones donde no exista ningn empalme con otro
evento considerando la fecha, horarios y lugar.
En el momento en que el usuario reserva puede ahora invitar al personal al evento
en otra seccin del programa, donde se selecciona el evento y los participantes del evento,
en esta fase se valida de que usuarios ya se encuentren en otros eventos en ese mismo
horario. En este paso se notifica a los invitados del evento va correo electrnico y mensaje
de texto por celular.
En la parte del administrador, existe la posibilidad de creacin de usuarios as como su
eliminacin y los eventos creados se van eliminando despus de que pasaron de manera
automtica.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 89

10.2 Identificacin del usuario

Figura 11.1: Pantalla de identificacin para el usuario

10.3 Interfaz de Administrador


En esta parte a diferencia del usuario que no es administrador nos aparece un men extra
del lado derecho con opciones y privilegios de administrador.

Figura 11.2: interfaz de administrador.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 90

10.4 Alta de un evento


En esta parte llenamos los datos necesarios para un evento como, nombre del evento, fecha
hora de inicio y hora fin, as como lugar.

Figura 11.3: Alta de eventos


En esta parte cabe la posibilidad de ver los eventos que se encuentran ya para la fecha indicada, as no sera
fcil prever algn inconveniente para el evento que deseamos planear como se muestra en la siguiente imagen

Figura 11.4 Verificacin de eventos ya establecidos para una fecha dada antes de dar de alta un evento

Existen validaciones en caso de empalme y de lgica de horario como (ej. La hora fin debe
ser mayor a la hora de inicio).
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 91

Figura 11.5: Probando validaciones para dar de alta un evento

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 92

10.5 Alta de usuario


En alta de usuario existen tambin una serie de validaciones bsicas, y cuenta con un
estndar de seguridad el cual consiste en que el administrador asigna contrasea por default
pero el usuario final y el usuario final posteriormente debe cambiar esta contrasea.

Figura 11.6: Alta de usuario, probando las validaciones bsicas

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 93

Figura 10.8: Clase Manejador, la cual gestiona la salida de todos los datos a travs de componentes visuales.

En la clase de la figura 10.8, fue creada con el propsito de administrar todas las
proyecciones, as como la obtencin de datos y operaciones bsicas como limpiar el
formulario de pginas. Es decir la lgica de interaccin con los componentes visuales fue
desarrollada en esta clase de manera intuitiva para que la pueda usar cualquier programador
y

sea

fcil

su

manteamiento

Sistema gestor de salas y dispositivos de red basado en JSF

rehus.

Pgina 83

Figura 10.9: Clase Validaciones, en la cual se encuentran las validaciones bsicas para la entrada de

informacin de las diferentes secciones del sistema.

En esta clase(Figura 10.9), bsicamente gestionamos la parte de la gestin de validacin de


entrada de datos, para evitar que existan datos inconsistentes dentro de la base de datos, as
como datos nulos que son requeridos para que se complete la transaccin. En esta parte
consideramos detalles de longitud de datos, caracteres necesarios, y tipo de datos. Cabe
mencionar, que existe otra clase de validaciones que mostraremos en la siguiente figura, la
cual es ms especializada y enfocada a la validacin de horarios de las salas, en cuestin de
empalmes.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 84

Figura 10.10: Clase que valida empalmes en la gestin de salas.

Una de las clases ms importantes, es la de la figura 10.10, ya que consta de un conjunto de


reglas para poder aceptar una reservacin de sala, considerando que no existan
reservaciones en el horario deseado, as como empalmes dentro de una misma hora
considerando los minutos y el lugar. Esto lo hace haciendo consultas a la base de datos,
para poder verificar en tiempo real si existe algn problema con su reservacin y poderlo
notificar al usuario.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 85

Figura 10.11: Clase Utileras, rene un conjunto operaciones bsicas como bsquedas personalizadas y

gestin y conversin de datos.

En la figura 10.11 consta de un conjunto de herramientas que facilitan al desarrollador para


hacer un conjunto de consultas y despliegues a la interfaz de manera automtica, conforme
los parmetros que se lo otorgue, esta clase nos ayuda a reducir en gran cantidad el cdigo
repetitivo en cuestin de consultas, ahorrando tiempo de forma paralela en la
implementacin de todo el proceso de una consulta.

9.6

Diagrama de clases para la gestin de dispositivos de red

En la gestin de dispositivos de red, dividimos las direcciones IP en sus respectivos octetos


para poder almacenarnos en las bases de datos de tal manera que no existieran
registros repetidos. Para esto en el primer Octeto lo almacenamos en una relacin
como la familia cero, en el segundo octeto, tiene un apuntado al primer octeto, y de
la misma manera para el tercer octeto, el cual tiene un apuntador a la relacin de la
familia anterior. Las relaciones se muestran en la figura 10.12

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 86

Figura 10.12: Diagrama de clases de las familias de octetos para la gestin de direcciones IP

Finalmente el ultimo octeto viene definido por esta ultima relacin, en la apuntamos
al tercer octeto y as se van sucesivamente hasta llegar al primer octeto. Como se muestra
en la figura 10.13

Figura 10.13 Diagrama de clases para el ltimo octeto de la gestin de dispositivos de red.

De esta manera estamos garantizando que no va existir redundancia en el


almacenamiento, lo cual nos permite ahorrar espacio y mantener una lgica transparente.
Por seguridad del sistema no mostramos el usuario y contrasea de la base de datos.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 87

9.7

Funcionamiento del gestor de dispositivos de red

En el men del administrador del sistema, tiene una seccin de administracin de


direcciones IP como TAB, en el cual cuenta con la funcionalidad principal de dar de alta
dispositivos de red, con la funcin de sugerir una direccin IP disponible para la familia de
octetos seleccionada, o de lo contrario, el usuario puede escoger una con la seguridad de
que el sistema valida si se encuentra libre, de lo contrario el sistema notifica en dado caso
de que se encuentre ya ocupada. Tambin existe la validacin en la parte de la direccin
MAC. Una vista previa de este sistema se muestra en la figura 10.7.1

Figura 10.7.1: Sistema gestor de dispositivos de red

Tambin se pueden dar altas y bajas de las familias de octetos, con sus respectivas
validaciones en los rangos que stos pueden ocupar conforme a los estndares de redes.
Como lo podemos ver en las opciones del men derecho de la figura 10.7.1

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 88

10.

Implementacin del sistema gestor de salas y dispositivos

de red
10.1 Introduccin
El sistema tiene un modelo bsico, administrador y usuarios. Presentando una pantalla de
identificacin, donde el usuario escribe su seudnimo y contrasea, el sistema
automticamente reconoce el tipo de usuario y el sistema muestra la respectiva interfaz que
le corresponde dependiendo si es administrador o si es usuario, ya que varan en los
privilegios de stas.
Dentro un usuario puede reservar salas, en un horario especfico y en un lugar, para
esto se implementaron una serie de validaciones donde no exista ningn empalme con otro
evento considerando la fecha, horarios y lugar.
En el momento en que el usuario reserva puede ahora invitar al personal al evento
en otra seccin del programa, donde se selecciona el evento y los participantes del evento,
en esta fase se valida de que usuarios ya se encuentren en otros eventos en ese mismo
horario. En este paso se notifica a los invitados del evento va correo electrnico y mensaje
de texto por celular.
En la parte del administrador, existe la posibilidad de creacin de usuarios as como su
eliminacin y los eventos creados se van eliminando despus de que pasaron de manera
automtica.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 89

10.2 Identificacin del usuario

Figura 11.1: Pantalla de identificacin para el usuario

10.3 Interfaz de Administrador


En esta parte a diferencia del usuario que no es administrador nos aparece un men extra
del lado derecho con opciones y privilegios de administrador.

Figura 11.2: interfaz de administrador.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 90

10.4 Alta de un evento


En esta parte llenamos los datos necesarios para un evento como, nombre del evento, fecha
hora de inicio y hora fin, as como lugar.

Figura 11.3: Alta de eventos


En esta parte cabe la posibilidad de ver los eventos que se encuentran ya para la fecha indicada, as no sera
fcil prever algn inconveniente para el evento que deseamos planear como se muestra en la siguiente imagen

Figura 11.4 Verificacin de eventos ya establecidos para una fecha dada antes de dar de alta un evento

Existen validaciones en caso de empalme y de lgica de horario como (ej. La hora fin debe
ser mayor a la hora de inicio).
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 91

Figura 11.5: Probando validaciones para dar de alta un evento

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 92

10.5 Alta de usuario


En alta de usuario existen tambin una serie de validaciones bsicas, y cuenta con un
estndar de seguridad el cual consiste en que el administrador asigna contrasea por default
pero el usuario final y el usuario final posteriormente debe cambiar esta contrasea.

Figura 11.6: Alta de usuario, probando las validaciones bsicas

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 93

10.6 Invitaciones
En esta parte consta de dos etapas, la primera es buscar primero el evento a cual vamos a
invitar, y posteriormente buscamos los invitados.
En esta parte para evitar que el usuario navegue sobre la lista de eventos disponibles,
usamos una bsqueda directa, es decir no aparece ningn registro hasta que el usuario
empieza a teclar el evento, (esto se hizo con ajax) y en tiempo real se empiezan a filtrar los
registros que tengan que ver con el atributo con el cual se est buscando. El evento se puede
buscar

por

nombre,

fecha,

ubicacin,

horario

fecha

horario.

Figura 11.7: Buscando eventos por nombre para invitar al personal

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 94

En el paso siguiente, consiste ahora en verificar la lista de invitados, en esta parte se valida
de que un invitado ya este programado en algn otro horario y se empalme. Al hacerle clic
en guardar evento se habilita el Tab de buscar invitados y nos re direcciona a ese Tab de
manera automtica deshabilitando el tab de Buscar evento. En esta parte de la misma
manera podemos hacer consultas con solo teclear el nombre o el apellido patero, materno,
buscar por telfono celular, y por correo electrnico principal y alterno. Para esto podemos
navegar fcilmente entre los tabs que se presentan y el usuario pueda escoger su bsqueda
preferente. Y en el momento en que el usuario da clic en invitar se valida y se almacena.
Posteriormente se le va notificando.

Figura 11.8: Buscando invitados al evento previamente seleccionado

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 95

10.7 Alta de lugar


El administrador puede dar de alta tanto lugares como salas, a cada sala le corresponde un
lugar y esta parte se encuentra tambin validada.

Figura 11.9: Probando las validaciones bsicas al dar de alta un evento.

10.8 Alta de sala


Para el alta de una sala se necesita un lugar de manera obligatoria el cual se debe
especificar en la seccin del punto 10.6. Tambin cuenta con las validaciones bsicas.

Figura 11.10: Dando de alta una sala de conferencias.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 96

11.

Evaluacin y Conclusiones

11.1 Con respecto a las experiencias aprendidas


La experiencia de el poder haber aprendido algo ms, de aquello que se imparte en la
universidad fue la parte ms importante de este proyecto, al poder usar un framework
comercial basado en las tendencias de desarrollo de aplicaciones web ms actuales y que
muchas veces nos sentimos solos al presentarnos problemas de desarrollo que era difcil de
encontrar la solucin ya que muchos aun no pisaban esos campos en el uso del framework
(como el uso de gammu en Windows).
Tambin fue importante ver las ventajas y desventajas que JSF y aventurarse a usar
este tipo de frameworks que nos da la experiencia necesaria y la habilidad de manejo de
este tipo de tecnologas para poder fcilmente migrar y evolucionar a las tendencias, ya que
existen elementos en comn entre los diferentes lenguajes.
Algo muy importante que nos dimos cuenta, es no cerrarse con un solo lenguaje, si
no explorar las diferentes herramientas en el uso de frameworks que se encuentran en
desarrollo ya que nos abre un mundo de posibilidades y nos da la capacidad de responde a
las necesidades con un nivel competitivo impresionante.

11.2 Con respecto al uso de los frameworks


En el momento en que desarrollbamos el software de SICOM para la solucin de sus
necesidades nos podemos dar cuenta que podemos hacer una gran cantidad de cosas, por
ejemplo tan solo del uso del demonio de gammu, podemos hacer sistemas inteligentes con
interaccin de mensajes a celular como sistemas de automatizacin para casas, incluyendo
alertas, o un sistema de negocios similares a los que pasan en televisin (manda mensaje a
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 97

tal nmero y te regreso el tono de tal artista), y entre otras miles de aplicaciones que se
pueden desarrollar no precisamente con java sino con cualquier sistema que pueda
interactuar con MySQL.
Con respecto a al uso de Java Server Faces, nos pareci una herramienta bastante
til con grandes capacidades de desarrollo, y como toda tecnologa nueva, aun existe un
mundo por recorrer y mejora, ya que aun cuenta con una serie de bus que han ido
corrigiendo en sus versiones ms recientes, dando la confianza a muchas empresas a nivel
carrier para delegar sus necesidades en este tipo de aplicaciones que ayudan a enfocarse
solo a la parte lgica de nuestro sistema, dejando todo lo dems como un hecho en el que
podemos confiar gracias a que es un estndar, sin embargo podemos decir que no es la
tecnologa ms poderosa hoy en da, pero si una de las ms completas a las que le
apostaramos un gran futuro.
Tambin cabe mencionar, que la utilizacin de un framework nuevo y recin salido,
es una experiencia de aprendizaje donde aplicas prcticamente todos los conocimientos de
arquitectura y diseo de la aplicacin para poder dar solucin cientos de problematicas que
se presentan en este tipo de herramientas, como lo es en el caso de PrimeFaces, ya que
trabajamos prcticamente con frameworks en los cuales utilizamos componentes que solo
tenan unos meses de haber salido, y que el caso especifico de PrimeFaces se tuvo que
hacer una adaptacin a nuestra arquitectura para no convertir todo nuestro proyecto a
Maven como lo implementa en todos los ejemplos de Prime Faces en su portal, lo cual fue
un reto bastante interesante ya que gracias a la experiencia que nos dio Java Server Faces,
fue posible hacer esto, y que durante el camino nos encontramos a mucha gente en foros,
pidiendo ayuda sobre la misma problemtica, lo cual nos enorgullece haber podido resuelto
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 98

esta cuestin de arquitecturas, ya que iba a representar un gran esfuerzo pasar todo nuestro
proyecto actual a un proyecto nuevo basado en Maven. Cabe mencionar que existen plugins
para IDEs como eclipse que ayudan a convertir proyectos java a proyectos en Maven, sin
embargo, como hicimos uso de NetBeans, se tuvo que implementar PrimeFaces de manera
ms primitiva, integrando los jars y modificando archivos XML para que ayudaran a usar
este framework sin rehacer todo en Maven.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 99

12.

Trabajos a Futuro

El desarrollo de este proyecto, an cuenta con una gran cantidad de desarrollo,


implementado mas frameworks, y especializndose de forma paralela en la parte de
desarrollo para dispositivos mviles. Ya que como vimos en el desarrollo de esta plicacion,
podemos integrar nuevas funcionalidades y capcidades de manera personalizada, adems de
que es un framework que se encuentra an en pleno desarrollo, existe la posibilidad de
escalabilidad sin preocuparse por tener que alterar o modificar el sistema en caso dado de
alguna actualizacin de Java Server Faces. Por lo que nos da la plena confianza de seguir
trabajando e implementado tecnologas complementarias como JavaFX, jfreeChart, Ajax,
POJOs, etc. Que son usadas hoy en da para el desarrollo de sitios basados en aplicaciones
web, ampliando grandes capacidades de desarrollo gracias a la interoperabilidad, dando
poderosas herramientas para la gestin de nuestra aplicacin, haciendo ms fcil el
desarrollo e incrementando la productividad, calidad y eficiencia en todos los aspectos que
involucra el desarrollo de una aplicacin en Java Server Faces por lo que es considerable un
futuro de grandes desarrollos en este framework, y en especial, en este proyecto, existe la
posibilidad de integrar mas tecnologas como las mencionadas anteriormente, haciendo un
sistema poderoso, prctico y sobretodo novedoso para el usuario final dando evolucin a la
nueva era de las aplicaciones sobre la web 2.0.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 100

Bibliografa
(2010). Recuperado el Marzo de 2010, de Cristbal Gonzlez Almirn:
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=IntroduccionJSFJava
Aleman, I. N. (26 de Enero de 2010). STRUTS o JSF No Existe Un nico. Recuperado el 22
de Marzo de 2010, de http://www.scribd.com/doc/27325581/STRUTS-o-JSF-No-ExisteUn-unico
Casos de uso de PrimeFaces. (2010). Recuperado el Mayo de 2010, de
http://www.primefaces.org:8080/prime-showcase/ui/dashboard.jsf
cisco. (11 de Octubre de 2009). Recuperado el 11 de Octubre de 2009, de
http://www.cisco.com/en/US/netsol/ns811/networking_solutions_solution_category.html
Daniweb. (2010). Recuperado el Enero de 2010, de
http://www.daniweb.com/forums/thread111719.html
DB2 Express-C. (11 de Octubre de 2009). Recuperado el 20 de Septiembre de 2009, de
http://www-01.ibm.com/software/data/db2/express/
Fags. (13 de febrero de 2009). Recuperado el enero de 2010, de Javabeat:
http://74.125.113.132/search?q=cache:2mJHuPWpy40J:www.javabeat.net/articles/print.p
hp%3Farticle_id%3D105+netbeans+login+jsf+Handle+HttpSession.invalidate%28%29+
redirect&cd=3&hl=en&ct=clnk
gammu. (2009). Obtenido de http://cihar.com/gammu/gammu-smsd-tables.7.html
Gammu. (2010). Recuperado el Diciembre de 2009, de http://wammu.eu/gammu/
GNU Operating System. (Octubre de 2009). Recuperado el 11 de Octubre de 2009, de
http://www.gnu.org/licenses/licenses.es.html
IceFaces. (2010). Recuperado el febrero de 2010, de
http://www.icefaces.org/JForum/posts/list/3111.page
Intelimax. (2009). RED DE TELECOMUNICACIONES SICOM 2009. Puebla, Pue,
Mxico.
Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 101

Java Community Proces. (2010). Recuperado el Enero de 2010, de


http://jcp.org/en/jsr/detail?id=252
java Hispano. (19 de 5 de 2009). Recuperado el mayo de 2010, de
http://www.javahispano.org/contenidos/es/conozcamos_primefaces/
JavaServer Faces Technology. (2010). Recuperado el Enero de 2010, de Java Platform,
Enterprise Edition (Java EE) : http://java.sun.com/javaee/javaserverfaces/
Livevalidation. (2009). Recuperado el 2010, de
http://livevalidation.com/examples#exampleHomepage
Martnez, H. H. (14 de agosto de 2009). NeosSfotware. Obtenido de
http://neossoftware.260mb.com/2009/08/primeros-pasos-en-jsf-20/
Maven. (2010). Recuperado el Mayo de 2010, de http://maven.apache.org/maven-1.x/
Netbeans. (2010). Recuperado el febrero de 2010, de http://netbeans.org/kb/docs/web/jsfjpa-crud-code2.html
Netbeans. (2010). Recuperado el febrero de 2010, de
http://netbeans.org/kb/65/web/fileupload.html
OCPSOFT. (23 de JULY de 2009). Obtenido de SPRING SECURITY:
http://ocpsoft.com/java/jsf-java/spring-security-what-happens-after-you-log-in/
ORACLE. (s.f.). Recuperado el febrero de 2010, de http://downloaduk.oracle.com/docs/cd/B32110_01/webcenter.1013/b31072/tt_security.htm
PrimeFaces. (2009). Recuperado el Mayo de 2010, de
http://www.primefaces.org:8080/prime-showcase/touch/index.jsf
Snchez, B. B. (s.f.). Adictos Al trabajo. Obtenido de
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=entornosJSF

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 102

Sitio de descargas de software. (11 de Octubre de 2009). Recuperado el 11 de Octubre de


2009, de
http://www.freedownloadmanager.org/es/downloads/Directorio_Activo_Mejorado_58747_
p/
whatsupgold. (20 de noviembre de 2009). Recuperado el 20 de noviembre de 2009, de
http://www.whatsupgold.com/
Wik de Gammu. (11 de noviembre de 2009). Recuperado el 11 de noviembre de 2009, de
http://www.gammu.org/wiki/index.php?title=Main_Page
WiMAX Industry. (11 de Octubre de 2009). Recuperado el 11 de Octubre de 2000, de
http://www.wimax-industry.com/cl/wimaxequipmentmanufacturers.htm

(2010). Recuperado el Marzo de 2010, de Cristbal Gonzlez Almirn:


http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=IntroduccionJSFJava
Aleman, I. N. (26 de Enero de 2010). STRUTS o JSF No Existe Un nico. Recuperado el 22
de Marzo de 2010, de http://www.scribd.com/doc/27325581/STRUTS-o-JSF-No-Existe-Ununico
Casos de uso de PrimeFaces. (2010). Recuperado el Mayo de 2010, de
http://www.primefaces.org:8080/prime-showcase/ui/dashboard.jsf
cisco. (11 de Octubre de 2009). Recuperado el 11 de Octubre de 2009, de
http://www.cisco.com/en/US/netsol/ns811/networking_solutions_solution_category.html
Daniweb. (2010). Recuperado el Enero de 2010, de
http://www.daniweb.com/forums/thread111719.html
DB2 Express-C. (11 de Octubre de 2009). Recuperado el 20 de Septiembre de 2009, de
http://www-01.ibm.com/software/data/db2/express/

Fags. (13 de febrero de 2009). Recuperado el enero de 2010, de Javabeat:


http://74.125.113.132/search?q=cache:2mJHuPWpy40J:www.javabeat.net/articles/print.p
hp%3Farticle_id%3D105+netbeans+login+jsf+Handle+HttpSession.invalidate%28%29+

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 103

redirect&cd=3&hl=en&ct=clnk
GNU Operating System. (Octubre de 2009). Recuperado el 11 de Octubre de 2009, de
http://www.gnu.org/licenses/licenses.es.html
IceFaces. (2010). Recuperado el febrero de 2010, de
http://www.icefaces.org/JForum/posts/list/3111.page
Intelimax. (2009). RED DE TELECOMUNICACIONES SICOM 2009. Puebla, Pue,
Mxico.
Java Community Proces. (2010). Recuperado el Enero de 2010, de
http://jcp.org/en/jsr/detail?id=252
java Hispano. (19 de 5 de 2009). Recuperado el mayo de 2010, de
http://www.javahispano.org/contenidos/es/conozcamos_primefaces/
JavaServer Faces Technology. (2010). Recuperado el Enero de 2010, de Java Platform,
Enterprise Edition (Java EE) : http://java.sun.com/javaee/javaserverfaces/
Livevalidation. (2009). Recuperado el 2010, de
http://livevalidation.com/examples#exampleHomepage
Martnez, H. H. (14 de agosto de 2009). NeosSfotware. Obtenido de
http://neossoftware.260mb.com/2009/08/primeros-pasos-en-jsf-20/
Maven. (2010). Recuperado el Mayo de 2010, de http://maven.apache.org/maven-1.x/
Netbeans. (2010). Recuperado el febrero de 2010, de http://netbeans.org/kb/docs/web/jsfjpa-crud-code2.html
Netbeans. (2010). Recuperado el febrero de 2010, de
http://netbeans.org/kb/65/web/fileupload.html
OCPSOFT. (23 de JULY de 2009). Obtenido de SPRING SECURITY:
http://ocpsoft.com/java/jsf-java/spring-security-what-happens-after-you-log-in/

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 104

ORACLE. (s.f.). Recuperado el febrero de 2010, de http://downloaduk.oracle.com/docs/cd/B32110_01/webcenter.1013/b31072/tt_security.htm


PrimeFaces. (2009). Recuperado el Mayo de 2010, de
http://www.primefaces.org:8080/prime-showcase/touch/index.jsf
Snchez, B. B. (s.f.). Adictos Al trabajo. Obtenido de
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=entornosJSF
Sitio de descargas de software. (11 de Octubre de 2009). Recuperado el 11 de Octubre de
2009, de
http://www.freedownloadmanager.org/es/downloads/Directorio_Activo_Mejorado_58747_
p/
whatsupgold. (20 de noviembre de 2009). Recuperado el 20 de noviembre de 2009, de
http://www.whatsupgold.com/

Wik de Gammu. (11 de noviembre de 2009). Recuperado el 11 de noviembre de 2009, de


http://www.gammu.org/wiki/index.php?title=Main_Page
WiMAX Industry. (11 de Octubre de 2009). Recuperado el 11 de Octubre de 2000, de
http://www.wimax-industry.com/cl/wimaxequipmentmanufacturers.htm
IceFaces. (2010). Recuperado el febrero de 2010, de
http://www.icefaces.org/JForum/posts/list/3111.page

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 105

Apndice A: Otras corridas del software


http://web.uvic.ca/~rafaelr/Thesis/Video.swf (Parte 1)
http://web.uvic.ca/~rafaelr/Thesis/Video_1.swf (Parte 2)
En el video se muestra el alta de usuarios, haciendo nfasis en las validaciones lgicas,
como campos requeridos, as como en el atributo de nmero telefnico debe ser de 10
dgitos, el correo electrnico debe tener una arroba y un punto, etc. En el momento de hacer
modificaciones tambin se valida estos mismos capos para evitar inconsistencias en la base
de datos cuidando que en cualquier parte del sistema donde se tenga algn tipo de edicin
se evite la posibilidad de que exista alguna forma de introducir datos no validos.
En la parte de de altas de salas, en primera instancia, se muestra cmo es que en la
fecha y lugar seleccionado se despliegan un conjunto de horarios ya establecidos para dar
una hora valida y no estar atinando a una posible hora libre o estar navegando a otra
pgina que te muestre el horario (como es en el caso del sistema de reserva para el Aula
magna del CIRIA), hacindolo ms prctico y cmodo para el usuario, y a continuacin de
esta accin, se demuestra cmo es que el sistema es capaz de validar los horarios en caso de
empalme avisando al usuario con que evento se est empalmando para que lo pueda
identificar de manera fcil en la tabla.
Estas validaciones se hacen de la misma forma en la parte de modificaciones de
usuarios y en caso de eliminar un evento se eliminan las invitaciones a los usuarios que
estaban asociadas a ese evento para conservar la consistencia en la tabla, esto fue hecho a
travs de los triggers mencionados en el captulo del diseo.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 106

En todos los casos se hacen consultas por todos los campos posibles y utilizados,
haciendo las respectivas validaciones.

Apndice B:

Video de grafica con PrimeFaces en el sistema de SICOM,

funcionando en tiempo real


http://web.uvic.ca/~rafaelr/Chart.swf
En el link anterior se muestra una simulacin de confirmacin de invitados al evento,
agregando a la base de datos las confirmaciones de manera manual con el fin de ver esa
interaccin, cabe mencionar que esta accin el sistema la hace de manera automtica por
medio de correo electrnico y de mensajes a travs de mensajes de telfono celular.

Sistema gestor de salas y dispositivos de red basado en JSF

Pgina 107

You might also like