AJAX aplicado a la Administración de un Sistema Estadístico

Transcripción

AJAX aplicado a la Administración de un Sistema Estadístico
1
Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007
AJAX aplicado a la Administración de un
Sistema Estadístico Turístico
Rosario Baltazar F, Ismael Mena, Miguel A. De Lira
Ingeniería en Sistemas Computacionales,
y División de Estudios de Posgrado e Investigación,
Instituto Tecnológico de León, Guanajuato CP-37290.
TEL: +(477)7105200, Ext. 5051, correo-e: [email protected].
Resumen — El Sistema Estadístico Turístico (SET) es
un sistema de información basado en Web, realizado por
alumnos del Instituto Tecnológico de León que permite
almacenar y administrar la información turística de un
Estado y generar los reportes estadísticos necesarios. El
sistema, se encuentra desarrollado en su totalidad con
tecnologías de “Software Libre” de última generación
incluyendo AJAX con lo que se logró que el sistema
funcione en forma similar a una aplicación de escritorio.
El funcionamiento es dinámico, flexible y con una
optimización para el flujo de la información. Es
importante señalar que se muestra a grandes rasgos
cómo es posible aplicar AJAX en un sistema complejo.
El conocimiento de esta herramienta de programación
es vital para un estudiante que quiera ir a la vanguardia
en el desarrollo de aplicaciones Web.
Abstract — The Statistics Tourism System is an
information system based in Web Applications; it was
made by students of Computational Systems. It allows
administrating and saving the information of the
tourism of the State. It lets generate the necessary
statistical reports in a second. The System is developed
with Open Software of Next generation including AJAX,
with this the system works like a desk application. The
functionality is dynamic, flexible and optimized to allow
the information access. It is shown the implementation
of AJAX in a complex system. Because of this, the
knowledge of this tool is imperative for an student to
develop Web applications with high performance.
Descriptores — AJAX, aplicación web, software libre,
sistemas de información.
I. INTRODUCCIÓN
E
n la actualidad, los sistemas de información se
han vuelto una herramienta indispensable para las
organizaciones, ya que éstos permiten manejar
grandes cantidades de información de manera
organizada, y con una estructura acorde a las
necesidades. Al mismo tiempo un sistema de
información proporciona los métodos necesarios para
la consulta de la información que se requiere.
En el Instituto Tecnológico de León se ha
desarrollado un Sistema para la administración de la
Información Turística y Estadística basado en Web
por estudiantes de Sistemas Computacionales e
Informática, utilizando tecnología de Software Libre
de última generación incluyendo AJAX.
Este sistema está dirigido principalmente a las
diferentes dependencias de turismo Estatales y
Municipales, así como a los prestadores de servicios
turísticos como hoteleros, centros de convenciones,
entre otros. El sistema permite mantener la
información turística del Estado centralizada y
actualizada en una gran base de datos, además sirve
como medio de enlace entre las organizaciones
turísticas y los prestadores de servicios.
Su diseño es tal que genera reportes estadísticos de
ocupación hotelera, derrama económica, visitantes a
200
Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007
museos, entre otros, en el mismo instante que se
solicita, lo cual permite que los administradores
turísticos del Estado puedan rendir cuentas sobre el
aforo turístico de una Entidad.
Además, a través del módulo de Chat se logra la
comunicación entre todos los usuarios tanto
prestadores de servicios como autoridades de
Turismo.
Los turistas, por su parte, podrán consultar
información turística y servicios desde la página
oficial de turismo del Estado, en la cual la
información se puede mostrar con un aspecto mucho
más atractivo y con un formato acorde a lo que los
turistas necesitan.
En México, se ha realizado poca investigación
desde el punto de vista computacional enfocado al
área turística; mientras que en Estados Unidos y
Europa se han realizado estudios incluyendo la
aplicación de sistemas inteligentes al turismo. [1
II. TECNOLOGÍAS WEB
Aunque el término de aplicación Web hasta hace un
tiempo era un nombre genérico aplicado a toda
aquella página de Internet que pudiera verse mediante
la utilización de un navegador Web y que generara
contenido dinámico, cualquiera que fuera su finalidad.
Con el incremento de las capacidades de las
tecnologías para el desarrollo de paginas Web
dinámicas, el termino de aplicación Web paso a
asignarse al conjunto de paginas dinámicas que
realizan una tarea especifica (aplicación) para el
usuario combinando la utilización de algún lenguaje
de programación del lado del servidor y el acceso a
motores de bases de datos, para generar paginas Web
html personalizadas en base a los requerimientos e
información necesaria para cada tipo de usuario,
ejemplos de este tipo de aplicaciones las podemos ver
en los servicios de correo electrónico vía Internet,
buscadores, carritos de compras on-line, entre otros.
Una de las principales desventajas de las
aplicaciones Web hasta hace poco tiempo, era que a
diferencia de las aplicaciones de escritorio, las
aplicaciones Web, al ser distribuidas a través de la
red, las funcionalidades y potencia de las mismas era
menor en relación con las segundas, lo que derivaba
en el uso o la necesidad de contar con interfaces
menos elaboradas, mas complejas y difíciles de
asimilar para los usuarios.
En la actualidad el punto anterior ha dejado de ser
un problema, gracias a los niveles de crecimiento de
usuarios de Internet y a sus enlaces de banda ancha, lo
que permite elevar la rapidez de transferencia de datos
entre los equipos conectados en red y lo que
incrementa a su vez la capacidad de distribuir
aplicaciones Web cada vez más sofisticadas, casi
hasta lograr aplicaciones Web de potencialidad
similar a las aplicaciones de escritorio, esto sumado al
nacimiento de nuevas tecnologías y redescubrimiento
de algunas otras que están dando paso a lo que los
conocedores llaman el nacimiento de la Internet II que
se traduce como la nueva generación de aplicaciones
Web enfocadas a el contenido y a su distribución
mediante el uso de sitios Web distribuidos y Web
services y no a la presentación como las en las
aplicaciones de Internet actuales. Todos estos avances
en relación con las tecnologías Web nos permiten
ahora gozar de los beneficios de aplicaciones Web
robustas, flexibles, de interfaces sencillas e intuitivas
para el usuario final y en general de todas las ventajas
de las aplicaciones de escritorio.
En Febrero del 2005, surge gracias a Jesse James
Garret una pieza importante del rompecabezas de la
Web, nombrada en un principio como tecnología
cross-browser-asynchronous-rich-client-dynamicHTML-client-server que más tarde se conocería con el
nombre de AJAX (Asynchronous JavaScript + XML).
AJAX no es un lenguaje, es una nueva forma de hacer
páginas web.[2]
En el corazón de AJAX está el objeto
XMLHttpRequest que permite desde javascript
obtener el contenido de una URL. Usando este objeto
desde una página HTML común se pueden leer datos
de la Web, o enviar los datos de un formulario a un
servidor sin necesidad de hacer una recarga en la
página. Se puede decir que algunas partes de AJAX,
han sido descritas previamente como HTML dinámico
y scripting remoto. AJAX tiene enormes perspectivas
que van desde las tecnológicas hasta las de negocios.
Tecnológicamente es una expresión del potencial no
realizado con las tecnologías Web.
Tradicionalmente para acceder a algún recurso de
Internet, se crearía una página HTML con un
201
Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007
formulario. Cuando el usuario pulsa el botón de
enviar el browser se conecta al servidor, envía los
datos y muestra en pantalla la página que el servidor
regresa. Esto hace que el browser "salte" a otra
página. Además el usuario tiene que esperar que se
cargue todo el HTML de la nueva página para verla.
En cambio con AJAX se pondría un código
JavaScript que haría que cuando se pulsa enviar se
cree un objeto XMLHttpRequest. La llamada es
asíncrona, Figura 1. Esto significa que se envían los
datos y esto no interrumpe al usuario como cuando
enviamos un formulario. Se define una función de
JavaScript que va a ser llamada cuando el servidor
responda. Esta función ("callback") es la que recibe la
contestación del servidor y puede actualizar un texto
en la página para avisar que los datos se enviaron
bien. El browser no cambia de página. La primera
ventaja que vemos es que la experiencia del usuario es
mucho mas parecida a usar un programa que una
página Web. Y ahí está el cambio de paradigma. En
vez de pensar en función de páginas enlazadas entre si
tenemos que pensar en una aplicación, que envía
datos y recibe datos.
Fig. 1. Modelo de llamadas asíncronas con AJAX.
Otra ventaja muy importante es la velocidad. En vez
de tener que recibir todo el HTML de la página de
confirmación nuestro formulario AJAX solo necesita
que el servidor le responda OK o que algo no anduvo.
Las aplicaciones de AJAX utilizan características
bien documentadas presentes en todos los
navegadores importantes en la mayoría de las
plataformas existentes. Aunque esta situación podría
cambiar en el futuro, en este momento, AJAX es
efectivo entre plataformas, no necesita ningún tipo de
plug-in para el navegador, sin embargo, requiere que
los usuarios tengan el JavaScript y el ActiveX
activado. Como ocurre con las aplicaciones DHTML,
AJAX deben de ser probado rigurosamente para
adaptarse a los diferentes navegadores y plataformas.
En el Sistema Estadístico Turístico, que se describe
en el presente trabajo, se aplicaron los lenguajes de
diseño de páginas Web y de programación de páginas
dinámicas siguientes:
• XHTML 1.1 Transitional: Este lenguaje se
utilizó para el diseño de las páginas Web que
conforman el sistema, y así diseñar las interfaces,
los formularios, tablas y de más elementos
HTML que se requerían.
• JavaScript: Este lenguaje se utilizó para la
programación de las funcionalidades requeridas
de lado del cliente, como la validación de los
formularios, reconocimiento de eventos, la
generación de las llamadas a los scripts que se
ejecutan con AJAX, y algunas funcionalidades
especiales.
• AJAX: Este conjunto de tecnologías en el que se
combina JavaScript y XML, se utilizó
principalmente para realizar de manera asíncrona
consultas a la base de datos, y en base al
resultado de esa consulta generar y mostrar
diversos elementos en la páginas HTML, todo
esto sin la necesidad de recargar la pagina
completa, logrando con esto dotar a las páginas
de una mayor funcionalidad y un mejor
desempeño del sistema.
• PHP Versión 5.1.4-0.1: Este es el lenguaje de
programación de páginas Web dinámicas elegido,
con él se hace posible la conexión con el servidor
de bases de datos y se generan todos los
elementos y el código HTML dinámico, es decir
que va cambiando dependiendo de las acciones
que realiza el usuario.
• Apache 2.0 Handler: Este es el servidor de
páginas Web elegido para el desarrollo del
sistema.
202
Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007
III. DISEÑO Y DESCRIPCIÓN DEL SISTEMA
El diseño del sistema se baso en el modelo
incremental, como se puede observar en la Figura 2, el
modelo incremental aplica secuencias lineales de
forma escalonada mientras progresa el tiempo en el
calendario. Cada secuencia lineal produce un
incremento en el sistema. El modelo se centra en la
entrega de un producto con cada incremento. Los
primeros son versiones incompletas del producto
final, pero proporcionan al usuario la funcionalidad
que precisa y también una plataforma para la
evaluación.
navegación por el sito comienza a partir de la Página
de Inicio, para poder acceder al sistema se pulsa en el
Login de Usuarios, en donde se solicitará un ID de
usuario y una contraseña para que el usuario pueda
continuar. Solo si el ID de usuario y la contraseña son
válidos se podrá pasar a la Página Principal, y a partir
de este punto el acceso al resto de las secciones,
dependerá de los privilegios que posea el Tipo de
Usuario asignado. El usuario Administrador es el
único que tiene acceso a todas las secciones del sitio.
La seguridad y la autentificación de usuarios, es un
aspecto de vital importancia en el desarrollo del
sistema, únicamente podrán acceder aquellos usuarios
autorizados. Esta restricción se debe a que en la base
de datos, existe información pública así como
información confidencial que debe ser protegida,
existen también dentro de la información estadística
que se genera, ciertos valores que únicamente pueden
ser consultados por un grupo específico de usuarios,
por ello se requiere que el sistema sea capaz de
identificar plenamente a los usuarios conectados, y
obtener sus permisos de acceso a la información.
Fig 2. Modelo Incremental de Desarrollo del Sistema
El control de acceso se llevará a cabo, mediante la
Gracias a la implementación de este modelo de
desarrollo incremental, se tendrá la posibilidad de
agregar posteriormente nuevos módulos al sistema,
sin tener que realizar modificaciones importantes a la
estructura.
Teniendo en cuenta las secciones por las que estará
constituido, la estructura de la aplicación Web que
albergará al Sistema de Información Turística, puede
representarse por medio del siguiente árbol
jerárquico, el cual también nos define el mapa del
sitio, Figura 3.
implementación de un sistema de autentificación de
múltiples usuarios, cada vez que un usuario desee
entrar al sistema, éste deberá autentificarse primero,
Fig. 4. Página Principal
Fig. 3. Mapa del sitio
Como se puede observar en la Figura 4, la
escribiendo su ID de usuario y su contraseña en la
página de Login, y de no ser así no se le permitirá el
acceso. Una vez que un usuario ha logrado entrar, se
inicia una sesión, se consultan sus datos, se le asigna
un perfil dentro del sistema, y durante el tiempo que
dure la sesión, todos estos datos deben de permanecer
203
Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007
disponibles en todo momento.
El acceso a las secciones que se mencionan a
continuación, se encuentra restringido únicamente a
usuarios autorizados, los cuales, deben autentificarse
previamente para iniciar una sesión en el sistema.
1. Directorio Turístico.
En esta sección Figura 5, los usuarios pueden dar
de alta los datos de establecimientos dentro de
alguna de las siguientes categorías:
Organización Turística.
Servicios de Emergencia y
Servicios Turísticos.
También se puede modificar y consultar los datos
de un establecimiento en particular, así como
darlos de baja temporal o definitiva.
Fig. 5. Directorio Turístico
2. Inventario Turístico.
Esta sección comprende lo relacionado con:
Atractivos turísticos.
Monografías.
Rutas y Recorridos.
Por lo tanto los usuarios que accedan aquí pueden
dar de alta, modificar, dar de baja temporal o
definitiva y consultar ampliamente información
de cualquiera de esos rubros.
3. Eventos.
En esta sección se encuentran disponibles toda
una serie de componentes, que permiten llevar a
cabo el control de los eventos que se realizan en
el Estado. A igual que en las secciones anteriores
se puede dar de alta, dar de baja, modificar y
consultar información de eventos. Pero de manera
adicional aquí se mantiene un registro de los
eventos realizados a manera de historial, con la
intención de poder generar reportes en rangos de
tiempo específicos.
4. Estadísticas.
En esta sección se encuentran todos los elementos
que permiten generar y consultar la información
estadística más importante, entre la que se
encuentra:
Ocupación hotelera
Sondeos de ocupación hotelera en base a
eventos
Aforo en museos
Aforo en congresos y convenciones
Aforo en balnearios
Aforo en restaurantes
5. Sala de Chat.
Para esta sección se implementa la versión 3.0.2
del PHP Open Chat, mediante el cual se hace
posible la intercomunicación de los diferentes
usuarios del sistema.
6. Panel de Administración.
El Panel de Administración, es la sección más
importante y minuciosa del sistema, básicamente
consiste de un conjunto de paneles en los que es
posible administrar diversas opciones algunas de
éstas son:
Administración de usuarios y permisos de
acceso.
Respaldo y Restauración de la base de datos.
Opciones en formularios.
Consulta del status del Sistema, etc.
Todas las acciones que aquí se realizan se verán
reflejadas en diferentes aspectos del sistema,
como la seguridad, las opciones en formularios,
valores utilizados para los cálculos de la derrama
económica, etc. Este panel le permite al sistema
adaptarse dinámicamente a los cambios y
necesidades, facilitando el control y la
administración, por lo que se considera una
herramienta muy valiosa.
IV. CONCLUSIÓN
En la actualidad los sistemas de información, se han
vuelto una herramienta, indispensable para el manejo
de la información, ya que éstos permiten almacenar y
organizar grandes cantidades de información de
manera
electrónica,
para
ser
consultada
posteriormente de forma rápida y sencilla. Debido al
auge que ha tenido Internet en los últimos años,
muchas empresas e instituciones están optando por
migrar sus sistemas de escritorio, a aplicaciones Web.
Este es el caso que dio oportunidad al desarrollo del
204
Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007
SET. La ventaja de esto es que la información se
mantiene centralizada, los usuarios pueden acceder a
ella desde cualquier parte y a cualquier hora, con
actualización inmediata, y reducción en los costos de
mantenimiento, además de que es posible mantener
una mejor comunicación y control de las actividades
dentro del sistema. Un aspecto importante dentro de
los sistemas basados en Web, es la seguridad, ya que
en muchas ocasiones se está accediendo a
información confidencial y por lo tanto, se debe
mantener un acceso restringido.
TRABAJO A FUTURO
Este proyecto se pretende ampliar de tal manera que
haciendo uso de minería de datos se puedan obtener
patrones ocultos de las bases de datos de la ocupación
hotelera y establecer un sistema experto que nos
proporcione información inmediata sobre las
estadísticas turísticas en un dispositivo móvil
automáticamente y en el momento que se necesite.
RECONOCIMIENTOS
Rosario Baltazar agradece a CONCYTEG por el
apoyo de los proyectos 06-13-K117-145 y 05-13-A022. Ismael Mena y Miguel A. De Lira agradecen a
CONCYTEG por el apoyo de becas 05-13-A-022.
REFERENCIAS
[1] S. Staab, et al, “Intelligent Systems for Tourism”, IEEE
Intelligent Systems, Vol. 6, pp. 53-66, 2002.
[2] D. Crane, E. Pascarello, AJAX in Action, Manning
Publications Co. 2006.

Documentos relacionados