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.