UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

56
UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE INGENIERÍA DEPARTAMENTO DE S IS TEMAS Y COMPUTACIÓN Tesis de Pregrado Semestre 2004-1 “Aplicación para guía y movilización dentro de la Universidad” Miguel Andrés Saldarriaga López - 199913736 Juan Manuel Velásquez Valderrama -199912152 Asesor: Francisco Rueda

Transcript of UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Page 1: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE INGENIERÍA

DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN

Tesis de Pregrado Semestre 2004-1

“Aplicación para guía y movilización dentro de la Universidad”

Miguel Andrés Saldarriaga López - 199913736 Juan Manuel Velásquez Valderrama -199912152

Asesor: Francisco Rueda

Page 2: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

2

Tabla de Contenidos 1 INTRODUCCIÓN........................................................................................................ 4 2 OBJETIVOS ................................................................................................................. 4

2.1 Objetivo general...................................................................................................... 4 2.2 Objetivos específicos .............................................................................................. 5

3 ANTECEDENTES........................................................................................................ 5 4 ALCANCES .................................................................................................................. 5 5 LIMITACIONES.......................................................................................................... 6 6 HERRAMIENTAS ....................................................................................................... 6 7 MARCO TEORICO ..................................................................................................... 6

7.1 Definiciones generales ............................................................................................ 6 7.1.1 Access Point.................................................................................................... 6 7.1.2 RFID (Radio Frequency Identification).......................................................... 6 7.1.3 Servidor de contenido ..................................................................................... 7 7.1.4 Servidor de localización ................................................................................. 8

7.2 Sistemas de localización ......................................................................................... 8 7.2.1 Localización por medio de proveedores existentes........................................ 8

7.2.1.1 Cell-ID ........................................................................................................ 9 7.2.1.2 Enhanced Cell ID........................................................................................ 9 7.2.1.3 Enhanced Observed Time Difference (E-OTD)....................................... 10 7.2.1.4 Angle of Arrival (AOA) ........................................................................... 10 7.2.1.5 Assisted GPS (A-GPS)............................................................................. 10 7.2.1.6 Conclusiones ............................................................................................. 11

7.2.2 Localización por medio de censores ............................................................. 11 7.2.2.1 Active bat.................................................................................................. 12 7.2.2.2 Cricket y Cricket Compass....................................................................... 12 7.2.2.3 Conclusiones ............................................................................................. 13

7.2.3 Localización por medio de LAN’S Inalámbricas ......................................... 14 7.2.4 Conclusiones ................................................................................................. 16

8 ESPECIFICACIÓN DEL SISTEMA ....................................................................... 16 8.1 Definición global del sistema ............................................................................... 17 8.2 Definición de la arquitectura física del sistema .................................................... 17

9 DEFINICION DE REQUERIMIENTOS................................................................. 18 9.1 Definición de los requerimientos funcionales ...................................................... 18

9.1.1 Requerimientos funcionales del usuario móvil............................................. 19 9.1.1.1 Ubicación de los contactos más cercanos ................................................. 19 9.1.1.2 Configuración del perfil móvil ................................................................. 19 9.1.1.3 Enviar mensajes ........................................................................................ 19 9.1.1.4 Ubicación de cafeterías y restaurantes...................................................... 19 9.1.1.5 Ubicación de edificios .............................................................................. 20 9.1.1.6 Registro..................................................................................................... 20

Page 3: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

3

9.1.1.7 Consulta de eventos .................................................................................. 20 9.1.1.8 Buscar usuarios móviles ........................................................................... 20 9.1.1.9 Agregar contactos ..................................................................................... 20 9.1.1.10 Eliminar contactos ................................................................................ 20 9.1.1.11 Ruta entre dos edificios ........................................................................ 20 9.1.1.12 Login..................................................................................................... 20

9.1.2 Requerimientos funcionales del sistema....................................................... 21 9.1.2.1 Notificación de eventos ............................................................................ 21 9.1.2.2 Notificación de mensajes .......................................................................... 21 9.1.2.3 Guardar ultima ubicación ......................................................................... 21

9.1.3 Requerimientos funcionales del administrador ............................................ 21 9.1.3.1 Crear, modificar y eliminar un usuario móvil .......................................... 21 9.1.3.2 Ingresar información a los espacios activos ............................................. 21 9.1.3.3 Configuración de los eventos.................................................................... 21

9.2 Definición de los requerimientos no funcionales ................................................. 21 9.2.1 Localización.................................................................................................. 21 9.2.2 Seguridad ...................................................................................................... 22

10 IMPLEMENTACION DEL SISTEMA................................................................ 22 10.1 Aplicación Web .................................................................................................... 23 10.2 Modulo geográfico y servidor de mapas .............................................................. 23 10.3 Modulo de localización......................................................................................... 25 10.4 Modulo de integración con otras aplicaciones...................................................... 27

11 ARQUITECTURA DEL SISTEMA ..................................................................... 29 11.1 Diagrama de componentes.................................................................................... 29 11.2 Diagrama de clases ............................................................................................... 30

11.2.1 Paquete web.................................................................................................. 32 11.2.2 Paquete servlet .............................................................................................. 33 11.2.3 Paquete kernel............................................................................................... 33 11.2.4 Paquete bd..................................................................................................... 35

11.3 Diagramas de Casos de Usos................................................................................ 35 11.3.1 Casos de uso para el usuario móvil............................................................... 35 11.3.2 Casos de uso para el administrador .............................................................. 36 11.3.3 Casos de uso del sistema............................................................................... 37

11.4 Diseño de la base de datos .................................................................................... 37 11.5 Diagramas de secuencia........................................................................................ 38

12 CONCLUCIONES DEL PROYECTO................................................................. 38 13 ANEXOS.................................................................................................................. 38

13.1 Anexo 1 – Casos de uso........................................................................................ 38 13.2 Anexo 2 – Diagramas de secuencia ...................................................................... 38 13.3 Anexo 3 – Diseño de la base de datos .................................................................. 39

14 BIBLIOGRAFÍA .................................................................................................... 39

Page 4: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

4

1 INTRODUCCIÓN No es raro encontrar gente caminando por toda la universidad hablando por celular, enviando mensajes por el mismo, anotando sus quehaceres en una PDA o simplemente navegando en Internet con su portátil. Esta es la nueva era de artefactos limitados de computación que están inundando nuestro entorno. Dicha visión futurista ya había sido descrita por Mark Weiser en su artículo The Computer for the 21st Century [1]. Dichos artefactos aunque un poco limitados, pueden convertirse en grandes herramientas para la computación, ya que nos proveen herramientas de comunicación y transmisión de datos de forma inalámbrica, las cuales podemos utilizar como base para la realización de aplicaciones que estén consientes del entorno que nos rodea, y que según el lugar donde nos encontremos, nos puedan prestar los servicios adecuados. Este modelo computacional lo denomina Mark Weiser como computación ubicua [2]. De este modo podemos apoyarnos en aparatos como los teléfonos celulares para pedir servicios, tales como, indicarnos nuestra posición dentro de la universidad, ayudarnos a llegar a un lugar determinado, y por qué no, tal vez decirnos en dónde y a qué horas tiene lugar nuestra próxima clase. De tal modo que esta seria una herramienta de gran utilidad, que facilitaría la vida de un estudiante universitario. El sistema no sólo pretende ser una aplicación para estudiantes, sino también para profesores, empleados y visitantes, prestando diferentes servicios útiles para estos tipos de usuarios. Una de las tendencias y de los mayores retos dentro de la computación móvil moderna es la de desarrollar aplicaciones que estén concientes o de alguna forma pendientes del entorno que rodea al usuario, y de su situación con respecto a este. Dicho contexto puede estar determinado por varios factores tales como, la ubicación geográfica del usuario, la hora del día, el número o tipo de personas que rodeen la persona etc. Sistemas como estos tienen que ser capaces de reaccionar frente a los cambios en el entorno que rodea al usuario y ofrecer servicios acordes con dichos cambios y situaciones [4]. El propósito de este trabajo de tesis es investigar y analizar las diferentes tecnologías existentes, para el desarrollo de aplicaciones dentro del marco de la computación ubicua y más precisamente aplicaciones Context-Aware.(Concientes del Contexto) y su aplicación a un escenario real como lo es nuestro campus universitario 2 OBJETIVOS

2.1 Objetivo general

Desarrollar una aplicación que permita la guía de una persona que recorre la universidad, con el fin de explorar los problemas subyacentes en este tipo de aplicaciones.

Page 5: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

5

2.2 Objetivos específicos

• Estudio e implementación de arquitecturas para sistemas distribuidos, específicamente la arquitectura context-aware.

• Analizar y escoger plataformas para el desarrollo de aplicaciones distribuidas que

sean apropiadas para el tipo de arquitectura planteado.

• Analizar y escoger protocolos de comunicación inalámbrica, acordes con la infraestructura existente dentro de la universidad.

• Investigar acerca de las necesidades de los usuarios para tenerlos en cuenta de los

requerimientos funcionales para la implantación de dicho sistema en la universidad.

• Definición de escenarios específicos y casos de uso, bajo los cuales la aplicación seria útil dentro de la Universidad.

• Definición de políticas de seguridad apropiadas para que este tipo de aplicación se

mantenga en cierta medida la privacidad de los usuarios. 3 ANTECEDENTES Dentro de la universidad de los Andes, se está realizando una tesis de maestría en donde se han hecho algunas conceptualizaciones generales sobre aplicaciones de este estilo. Adicionalmente en la universidad de California en San Diego (UCSD), se desarrolló e implementó una aplicación para dispositivos móviles (PDA’s y portátiles) denominada ActiveCampus. En la que se manejan diversos aspectos contenidos dentro de una arquitectura distribuida la cual brinda servicios basados en la localización del usuario móvil dentro del campus. 4 ALCANCES Para la primera parte de este trabajo de tesis, se pretende dar una conceptualización global de todos los aspectos y funcionalidades deseables para el sistema de guía y movilización dentro de la universidad; esta conceptualización abarcará los diversos temas relacionados con la implementación de dicha aplicación, como son tecnologías de transmisión de datos inalámbricos, plataformas de desarrollo, sistemas de localización y dispositivos necesarios para implantar todo el sistema. En la segunda parte de este trabajo de tesis se implemento el sistema de localización y ubicación de usuario móviles dentro del campus de la universidad por medio de la red inalámbrica de esta. El sistema implementado puede llegar a ser mucho mas de lo que actualmente es, ya que se puede integrar con diferentes aplicaciones de la universidad y se le pueden ir añadiendo módulos funcionales. Por otro lado la parte de localización esta limitada a la ayuda y permisos que puedan brindan los responsables de la

Page 6: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

6

administración de la red inalámbrica, debido a que se necesitan configurar los access points de la universidad. 5 LIMITACIONES • El desarrollo del sistema se basará en una simulación de los eventos dependiendo de si

se consiguen o no los dispositivos de localización requeridos. 6 HERRAMIENTAS Aunque en este punto seria muy difícil definir con precisión las herramientas que se emplearán durante el desarrollo, tentativamente podemos listar herramientas que de acuerdo con los alcances y naturaleza del proyecto serian de utilidad para el desarrollo. La aplicación a desarrollar pretende ser una aplicación multimodal, lo que significa que debe prestar todos los servicios independientemente del tipo de dispositivo por medio del cual se interactué con el sistema, por lo cual consideramos que la plataforma JAVA es la más adecuada para este tipo de aplicación. Dicho esto a continuación listamos las herramientas que utilizaremos.

• Eclipse • JDK (Java) • JBoss

7 MARCO TEORICO

7.1 Definiciones generales

7.1.1 Access Point

Un wireless LAN access point es un dispositivo hardware que provee la conexión entre la red LAN y la red inalámbrica. Estos dispositivos se colocan en lugares estratégicos para mejorar el área de cobertura, por lo general están situados en lugares altos. Cada access point puede soportar entre 10 y 50 usuarios concurrentes dependiendo del nivel o volumen de la información transmitida.

7.1.2 RFID (Radio Frequency Identification)

Esta es una tecnología relativamente nueva que permite la localización de dispositivos móviles basado en la radiofrecuencia o propagación electromagnética. Esta tecnología requiere el uso de dos dispositivos, uno ubicado en cada espacio activo y el otro en cada dispositivo móvil que se quiera localizar. El problema con esta tecnología, es que cada dispositivo móvil, tiene que tener incorporado el chip

Page 7: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

7

receptor RFID, para poder comunicarse con el lector RFID. Para ver mas información sobre esta tecnología remítase al capitulo de localización por medio de LAN’S Inalámbricas ubicado mas adelante de este documento.

7.1.3 Servidor de contenido

El Servidor de contenido es el encargado de proveer información al cliente de acuerdo con la información obtenida del servidor de localización además provee el contenido apropiado y relevante para el usuario, de acuerdo con su posición geográfica. Entre las mejores opciones comerciales existentes actualmente, se encuentra un producto de oracle, Oracle9iAS Wireless el cual es una plataforma que actúa como servidor, del cual se puede entregar contenido de cualquier tipo a cualquier dispositivo. El tipo de aplicación es independiente del dispositivo empleado para acceder a esta, pero a su vez tiene la capacidad de producir el contenido apropiado para cada dispositivo de manera automática. El servidor es capaz de realizar tareas de adaptación, procesamiento general, y transformación de manera transparente para cada dispositivo. La arquitectura general de una aplicación que utiliza los servicios de localización de oracle se muestra en la siguiente figura.

Obtenido de http://otn.oracle.com/products/ias/daily/jul05.html

Las aplicaciones contenidas por este servidor pueden utilizar cualquier tipo de contenido que este disponible en un servicio Web, en una base de datos o en el formato MobileXML el cual es un estándar de oracle de documentos xml independiente del dispositivo. El servidor se encarga de producir el tipo de lenguaje requerido por el dispositivo (WML, VoiceXML etc.).

Page 8: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

8

7.1.4 Servidor de localización

El servidor de aplicaciones wireless de Oracle es una herramienta extra que se usa en conjunto con el Oracle Spatial, el cual es una opción dentro de la versión Enterprise Edición de Oracle. Esta provee funcionalidades extras a la base de datos que le permiten almacenar y consultar información geográfica, por medio del mismo lenguaje de consultas SQL y que adiciona nuevos tipos de datos en la base de datos que permiten representar información útil al momento de realizar aplicaciones con servicios basados en la posición geográfica de un objeto, dispositivo o usuario. En una idea general del sistema, el servidor de localización se encarga de determinar la posición geográfica del usuario y usar esta para realizar las consultas pertinentes dentro de la base de datos geo-referencial, es decir consultar que servicios están disponibles en la zona en la que se encuentra el usuario, una ves determinados los servicios disponibles, el sistema hace estos servicios visibles y disponibles para el usuario. El servidor de aplicaciones que como se explicó anteriormente es el responsable de llevar dichos servicios o aplicaciones al dispositivo del usuario.

7.2 S istemas de localización

El principal desafío para el desarrollo de nuestro sistema, es la implementación de un sistema de localización para los dispositivos móviles. Es por eso que en este capitulo de nuestra tesis abarcaremos las diferentes tecnologías que hay disponibles hasta el momento, con respecto a la localización de dispositivos inalámbricos, y que podrían ser una solución para nuestro sistema. Explicaremos cada una de ellas, sus ventajas y desventajas, implementación y para finalizar daremos nuestras conclusiones al respecto.

7.2.1 Localización por medio de proveedores existentes.

Actualmente en Colombia existen varios operadores de redes telefónicas inalámbricas con diferentes tipos de tecnologías, entre ellas GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), PCS (Personal communication system) y redes IDEN (Integrated Digital Enhanced Network). Estas tecnologías nos permiten localizar usuarios móviles dentro de sus redes, mediante el uso de su infraestructura, es decir: antenas, servidores, software, etc. Lo anterior se denomina Location Based Services (LBS), los cuales son servicios personalizados basados en la posición geográfica del móvil, que se les prestan a los usuarios [7]. Cabe resaltar que actualmente en Colombia ninguno de los operadores ofrece comercialmente dichos servicios de LBS. A continuación analizaremos diferentes mecanismos por los cuales se puede establecer la posición geográfica de un usuario móvil, dentro de las redes de telefonía inalámbricas.

Page 9: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

9

7.2.1.1 Cell-ID

Como su nombre lo indica cell-id, nos da el id de la celda en la que actualmente el dispositivo móvil esta recibiendo señal o cobertura. Este método es el mas básico e inexacto de todos, y depende del tipo de sistema bajo el cual el dispositivo opere, debido a que en las diferentes tecnologías, se usa diferente número de antenas o estaciones base por área de cobertura. Este método se basa en que cada dispositivo y el sistema en si deben saber su posición, para poder prestarle un mejor servicio, por lo tanto la antena que este más cerca al dispositivo será la que le preste el servicio y de paso revele su localización. En otras palabras cada celda (campo de cobertura de una antena o estación) difunde su identidad a todos los móviles que estén en su campo, y de esta manera cada dispositivo puede conocer la celda en la que se encuentra y por ende el espacio geográfico en donde se encuentra [8, 11].

Dicho esquema presenta un problema bastante grande de precisión, ya que en promedio las celdas ofrecen un haz de cobertura de 120°, que en la ciudad puede cubrir una distancia de 600 metros aproximadamente y de 6 a 12 kilómetros en zonas rurales o carreteras. Es decir en promedio el método de Cell id nos da un margen de error de 50 a 600 metros. El tiempo de respuesta es el mismo en que se demora en llegar un mensaje de texto SMS, en el cual llega la información de la localización. Este método de localización es soportado por las tecnologías GSM, CDMA y PCS.

7.2.1.2 Enhanced Cell ID

Este método es soportado por las tecnologías GSM y CDMA, y se denomina Time of Arrival (TA) y Cell ID Round Trip Time (RTT) respectivamente. Para las dos tecnologías su funcionamiento es el mismo. Este método es muy parecido al Cell Id común, la única diferencia es que este añade un poco más de precisión a la localización del dispositivo, reduciendo así considerablemente el porcentaje de error. Aquí se realiza el mismo procedimiento que en el método anterior pero también se tiene en cuenta el tiempo en que se demora en llegar la señal del dispositivo a la estación base. La medición o cálculo de la posición se hace en la estación base. Esto hace que el rango de exactitud sea más preciso. Si calculamos dicha distancia usando sólo una estación, lo que tendremos es la posición del usuario en un radio alrededor de la base, ya que no podríamos establecer en qué dirección está el usuario. Por esta razón con esta técnica también se combina la triangulación, esto es realizar el mismo procedimiento pero con las tres estaciones mas cercanas al dispositivo, con estas medidas se podrá determinar con más exactitud la posición del usuario. Pero para esto, necesitamos la ayuda de otro dispositivo de hardware, para que realice los cálculos necesarios, esta unidad se denomina LMU (Location Measurement Unit), este dispositivo es un servidor que se encarga de realizar los cálculos de

Page 10: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

10

posicionamiento, a partir de la información enviada por las estaciones base. Esta técnica es claramente más eficaz que la anterior y permite un margen de error de 40 metros en zonas urbanas y de 400 metros en zonas rurales. La precisión de la localización del usuario, viene altamente ligada al tamaño de las celdas, ya que entre mayor sea la distancia entre celadas mayor va a ser el margen de error. El tiempo de respuesta es el mismo en que se demora en llegar un mensaje de texto SMS, en el cual llega la información de la localización [8, 11].

7.2.1.3 Enhanced Observed Time Difference (E-OTD)

Este sistema de localización es uno de los más eficaces, y es el estándar utilizado por los estados unidos para el funcionamiento de la línea de emergencias E911. Este método es parecido a los anteriores, con la diferencia que los cálculos se realizan en el dispositivo móvil. Se necesita la interacción de tres o más estaciones base, las cuales cada una envía dos señales al dispositivo localizable, y este se encarga de realizar las operaciones, para saber la diferencia entre las dos señales, además se encarga de realizar la intersección entre las antenas que mandan la señal. Como último paso el dispositivo móvil devuelve al sistema su posición actual, entiéndase como sistema a la LMU que hace parte del mismo, la cual se encarga de refinar el proceso de localización y de dar dicha información a terceros. En ocasiones este método es combinado con un GPS incorporado en la LMU, para obtener más precisión en los cálculos. Una desventaja de este sistema, es que cada dispositivo móvil que quiera ser localizado, necesita implementar en su sistema software especial que calcula en el dispositivo la posición del mismo. Por otro lado también se necesita colocar dispositivos LMU al menos cada 2 estaciones base, esto hace un poco más costoso implementar dicho sistema. Con este sistema se puede llegar a tener una precisión del 95% esto es aproximadamente para una red normal de 50 a 150 m en zonas urbanas. El tiempo de respuesta es de aproximadamente 5 segundos [8, 11].

7.2.1.4 Angle of Arrival (AOA)

Esta es una técnica que se usa combinándose con las técnicas anteriormente mencionadas. También se necesitan tres estaciones base para poder realizar los cálculos, y su propósito es utilizar la señal enviada por las antenas hacia el dispositivo localizable, para determinar el ángulo que se genera entre la señal enviada y el suelo. Esto se hace para aumentar la exactitud de la posición del móvil [10].

7.2.1.5 Assisted GPS (A-GPS)

Este método es mucho más preciso que los demás, tiene un margen de error de 5 metros en zonas rurales y zonas urbanas despejadas. Funciona con el mismo

Page 11: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

11

sistema de triangulación de los demás métodos, pero adicionalmente el dispositivo móvil posee un chip GPS, el cual con la combinación de la localización de las antenas y de los satélites GPS calcula la posición geográfica del móvil. Con este método no se requiere la utilización de las LMU ya que el chip GPS se encarga de todos los cálculos de la localización. Esta técnica es muy efectiva en campos abiertos, ya que los satélites pueden encontrar al móvil sin ningún problema, sin embargo en lugares cerrados como edificios, dicha técnica no sirve debido al material de las edificaciones. Otro problema es que cada dispositivo tendría que tener integrado un chip GPS y software especializado. El tiempo que tarda este sistema en localizar a un dispositivo es de 5 a 10 segundos [9].

7.2.1.6 Conclusiones

Las técnicas de localización antes mencionadas no son muy costosas y algunas no necesitan de modificaciones en la infraestructura, sin embargo el nivel de precisión es muy bajo y no seria suficiente para nuestro sistema, el cual requiere una exactitud en la localización de tan solo unos pocos metros, debido a que la distancia entre algunos edificios no es mucha. Por otro lado hay otras técnicas que si requieren la implementación de dispositivos de hardware adicional como es el caso del método Enhanced Cell ID, el cual necesita de una unidad LMU para los cálculos de la posición. Esto es un problema muy grande ya nuestra aplicación dependería totalmente de las empresas que prestan servicios de telefonía celular, ya que se necesitaría que dichas empresas instalen en sus redes actuales dichos dispositivos de hardware. Por último, hay otros métodos que necesitan la implantación de chips o software especializado en los móviles que se vayan a localizar, como es el caso de A-GPS. Esto también representaría un problema para nuestra aplicación ya que se requeriría que todos los usuarios que vayan a hacer uso del sistema, tengan dispositivos con dichas características integrados en el mismo. En conclusión dichos métodos son eficientes y de bajo costo pero no son viables para la implementación de una aplicación con las características del sistema que pretendemos implementar en esta tesis.

7.2.2 Localización por medio de censores

Las técnicas de posicionamiento o de localización que nos ofrecen las redes de los operadores de telefonía celular, no son lo suficientemente precisas para un espacio geográfico relativamente pequeño, como lo es el campus de la universidad. Por otro lado también es un problema si se quiere localizar algún usuario en el interior de los edificios y demás sitios de interés para nuestra aplicación, los cuales necesariamente deberían diferenciarse unos de otros, a pesar de su proximidad entre si, con el fin de ofrecer los servicios, correspondientes al contexto que estos representan.

Page 12: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

12

Es por esto que dentro de la investigación realizada, acerca de las diferentes posibilidades tecnológicas que existen actualmente para resolver el problema de la localización de un dispositivo o usuario móvil, dentro de un espacio, encontramos diferentes métodos que hacen uso de dispositivos o censores, adicionales a los convencionales sobre redes inalámbricas locales y ofrecen una mejor aproximación para resolver el problema. A continuación enunciamos las posibilidades encontradas y explicamos cada una de ellas.

7.2.2.1 Active bat

Es uno de los primeros prototipos de servicios de localización para interiores, desarrollado por laboratorios de AT&T en Cambridge, utiliza varios faros pasivos montados sobre los techos, los cuales escuchan las señales de radio o señales ultrasónicas trasmitidos por los censores o bats de los dispositivos móviles a localizar [13]. El sistema ultrasónico esta basado en un método de localización que determina la posición del bat mediante la medición de distancias y ángulos, denominado también triangulación [12].

Los bats emiten pulsos de ultrasonido cortos, una vez estos pulsos se emiten se calcula la distancia del emisor a los faros, haciendo uso del tiempo en que la señal toma en viajar del bat a los diferentes faros colocados en puntos fijos, conocidos por el sistema. Conocidas tres o mas distancias se tiene información suficiente para determinar una coordenada (x, y, z) para el bat [12]. El sistema posee un control centralizado el cual escanea por medio de los faros todas las regiones o “hot spot” y crea un registro de las ubicaciones de los dispositivos/ usuarios móviles. Esto hace que el sistema demande una gran capacidad de cómputo en sus máquinas ya que entre mayor sea el número de dispositivos/usuarios mayor será la carga de trabajo. Este sistema ofrece una muy buena precisión, con un margen de error de unos pocos centímetros. Pero entre sus mayores desventajas se en cuenta que se necesitan un gran numero de faros para cubrir secciones no tan grandes. En pruebas echas en el laboratorio de AT&T se emplearon 720 faros para cubrir un área de aproximadamente 1000m2 dispersa en tres pisos [12].

7.2.2.2 Cricket y Cricket Compass

Al igual que el anterior es un sistema diseñado para localización en interiores, trabaja con señales ultrasónicas y faros en puntos fijos, pero con la diferencia de que este diseño es un modelo descentralizado [13], esto decir que no existe un control central para los faros, los cuales no están coordinados entre si y simplemente brindan información a los dispositivos móviles para que con base en estos datos calculen su posición. El algoritmo empleado para calcular la posición está basado en el mismo principio que emplea Active bats pero difiere

Page 13: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

13

en cuanto al manejo de interferencias. De igual manera este sistema requiere que cualquier dispositivo que se quiera localizar esté conectado a un hardware denominado “listener” el cual podría ser el equivalente al “bat” empleado en el sistema Active bats, con la diferencia de que este posee un API que le permite por medio de software interactuar con el dispositivo y poder así permitir que este acceda a los servicios propios del contexto en el que se localiza [17]. En cuanto a los faros la única configuración que se debe hacer sobre ellos es un string el cual indica o da una inferencia al dispositivo móvil de donde se encuentra ubicado [17]. Las principales características que hacen que este sistema mejore las ofrecidas por Active bats son:

o Modelo descentralizado, el cual reduce la carga en los servidores de localización ya que son los dispositivos móviles los encargados de determinar su posición en el contexto geográfico de acuerdo a la información enviada por los faros.

o Privacidad, el usuario está en capacidad o no de revelar su posición a el

sistema.

o Este modelo es independiente del tipo de red en la que funcionen los dispositivos móviles, ya que es necesario ningún protocolo especifico para el acceso a los servicios (pueden ser Web o Wap. Etc.).

7.2.2.3 Conclusiones

Estas tecnologías de localización basados en censores, son muy exactas y permiten márgenes de error de tan solo unos centímetros de distancia, además el tiempo de respuesta es de tan solo unos microsegundos, que es el tiempo que se toma la señal ultrasónica en viajar desde un faro al dispositivo móvil y viceversa. La implementación de estas técnicas no resulta demasiado costosa, ya que los dispositivos de hardware que toca colocar en todos los espacios, son relativamente baratos, en promedio no cuestan más de 10 dólares cada unidad. Pero por otro lado se necesitarían demasiados censores para poder implementar nuestra aplicación en el campus universitario, debido a la gran cantidad de edificios que hay, para este caso si resultaría un poco costoso, ya que se necesitarían muchos censores, en promedio tres por cada piso de un edificio. Otro problema es que se tiene la obligación de colocar dispositivos adicionales a las unidades móviles que se desea localizar. Esto resultaría bastante tedioso debido el gran número de usuarios que podría llegar a tener nuestro sistema. Sumado a esto está el problema de las interferencias que se podrían causar en las señales de los censores, debido otros dispositivos o elementos que estén localizados dentro de los espacios. Por ultimo, estas tecnologías están diseñadas

Page 14: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

14

principalmente para localización en interiores, por lo que seria difícil la implementación de dichas técnicas, para los lugares abiertos con los que cuenta nuestra universidad.

7.2.3 Localización por medio de LAN’S Inalámbricas

Hoy en día muy común ver sitios públicos, empresas, universidades, e inclusive, hogares con redes LAN inalámbricas, y lo es también ver dispositivos móviles (portátiles, PDA’s, etc.) con tarjetas de red integradas para poder acceder a dichas redes. La especificación de wireless LAN’s más difundida y común hoy en día es el estándar de la IEEE802.11b, WiFi (wireless Fidelity ) es una marca registrada por la compañía wireless Ethernet Compatibility Alliance (WECA) fundada por 3com, Cisco, Intersil, Agere, Nokia y simbol, la cual tiene como misión certificar la interoperabilidad y compatibilidad entre diferentes fabricantes de productos inalámbricos bajo el estándar de la IEEE [18]. Los componentes básicos de una WLAN son los Puntos de acceso (AP) y los adaptadores de cliente WLAN. Los AP actúan como puerta de enlace entre la parte cableada de la red LAN y la parte inalámbrica; los adaptadores sirven para proporcionar la conexión de los dispositivos (Laptops, PDA’s etc.) con la red inalámbrica [18]. Implementar servicios de localización bajo una red inalámbrica resulta ser una excelente opción, ya que dependiendo de la topología de dicha red y la ubicación de sus AP dentro del espacio geográfico donde se quiera implementar el servicio, es posible la ubicación de dispositivos móviles en áreas abiertas o cerradas, con una precisión de hasta menos de un metro. La técnica más empleada para lograr tal fin, es la de explotar la intensidad de señal de un dispositivo con relación a un AP esta técnica es de gran utilidad ya que no requiere agregar hardware a la red o dispositivos que se pretendan ubicar. Existen dos métodos principalmente para calcular la posición de acuerdo con la intensidad de señal. El primero se basa en mapas de intensidad, es decir construye un mapa de intensidades e interpolaciones de señales, a lo largo de las diferentes zonas geográficas cubiertas por los AP’s de la WLAN y después utiliza dicha información dentro de una función, que usando la intensidad de señal calcula la posición geográfica. La mayor desventaja de este método radica en que la construcción de los mapas de señal, consume mucho tiempo y recursos [15]. El segundo método emplea algoritmos geométricos los cuales se valen de funciones que de acuerdo con la posición fija del AP y sus capacidades de cobertura, computan la intensidad de la señal y por medio de funciones matemáticas convierten dicha información en la distancia que existe entre el AP y el dispositivo. El cálculo

Page 15: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

15

de la posición del dispositivo móvil se logra mediante una especie de triangulación para lo cual mide la intensidad de la señal desde el dispositivo a 3 o mas AP’s y calcula la distancia del dispositivo a estos. La idea general podría ilustrase con la siguiente figura obtenida en [15].

Imagen obtenida de [15]

A, B y C representan tres diferentes AP, un usuario con un dispositivo móvil (PDA, Portátil) detecta la intensidad de las señales de cada AP como –20,-30,-50 dbm, ya que la señal más fuerte proviene de el AP A, se sabe que el usuario se encuentra en algún punto de la circunferencia con centro en la posición del AP A, de aquí en delante de acuerdo con las intensidades de señal que se conocen por medio de los demás AP se determina el punto exacto en la circunferencia en la que el dispositivo se encuentra [15]. Los algoritmos de localización por medio de intensidades de señal dentro de una WLAN son variados, y no del todo precisos, además se tiene un limitante a la hora de ubicar dispositivos en tres dimensiones, es decir la ubicación en un plano (x, y) es acertada pero cuando el problema se mueve a un escenario en donde una coordenada (x, y, z) es necesaria, se deben emplear técnicas adicionales o diferentes aproximaciones al problema. Un aproximación alternativa la cual combina los métodos anteriormente explicados, es la incorporación de tecnologías (RFID) Radio Frequency Identification, la cual le da a los dispositivos móviles la capacidad de identificar objetos, espacios o edificios que representen contextos dentro de el sistema. Principalmente un sistema RFID está compuesto por varios lectores y etiquetas. Los lectores reciben la información emitidas por las etiquetas, estos emplean una frecuencia de radio definida y un protocolo específico para la transmisión de datos,

Page 16: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

16

la etiquetas pueden ser de tipo pasivo o activo, las pasivas no necesitan de ningún tipo de baterías, son bastante baratas y simplemente sirven para ser leídas es decir contienen información especifica, algo similar a un código de barras que identifica cierto objeto o espacio por medio de un ID especifico. Por el contrario las etiquetas activas operan con baterías las cuales se usan para aumentar la intensidad de señal y el radio de alcance de estas [16]. Los lectores son dispositivos que se conecta a terminales (laptops, Pda’s, etc.) y son los que identifican y procesan la información de las etiquetas e informan al dispositivo en el que se encuentran instaladas. Algo similar a un lector de código de barras [16]. La idea general de la integración de WiFi y RFID es la de darle al sistema de localización por medio de WLAN’s, información adicional acerca de la proximidad a un espacio importante o con una connotación contextual de algún modo importante, por ejemplo se podrían colocar etiquetas RFID en cada piso de un edificio para que así el dispositivo pueda adquirir el conocimiento de que se encuentra en un determinado piso de algún edifico o inclusive en alguna oficina de ese edificio, y así mejorar las capacidades de localización geográfica, y compensar la imprecisión que presenta el sistema cuando la localización se debe realizar sobre un plano (x,y,z) [14]. 7.2.4 Conclusiones

Ya vimos los diferentes métodos que actualmente están disponibles para localizar dispositivos móviles en un espacio determinado. Como vimos las técnicas usadas en las redes de telefonía celular para localizar dispositivos, son baratas pero demasiado inexactas para nuestra aplicación, debido a su rango de error. Las tecnologías basadas en censores, son muy precisas pero difíciles de implementar y muy inestables en campos abiertos, además de esto, se convierte en una opción poco viable en un campus como el de la universidad ya que se necesitarían demasiados censores para poder implementar el sistema de localización en toda la universidad. Para terminar, las técnicas usadas en las redes WLAN podrían ser una opción que podríamos investigar más a fondo para mitigar el problema de la localización para el sistema que queremos implementar. Sin embargo en principio no se podría implementar el sistema, con una cobertura amplia, ya que la red inalámbrica de la universidad no la cubre en su totalidad.

8 ESPECIFICACIÓN DEL SISTEMA A continuación plantearemos la definición de la aplicación, los servicios que ofrecerá teniendo es cuenta si son o no útiles dentro del ambiente del campus universitario. También

Page 17: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

17

diseñaremos una arquitectura física primaria del sistema, la cual iremos redefiniendo durante el desarrollo de la tesis.

8.1 Definición global del sistema El sistema que se quiere implementar es un sistema que facilite la ubicación de los estudiantes, profesores y demás posibles usuarios, dentro del campus universitario; y que además proporcione información útil de acuerdo con el lugar o espacio físico en donde se encuentre ubicado el usuario de manera transparente, es decir, que la interacción del usuario con los componentes tecnológicos sea mínima y no lo distraigan de sus tareas habituales. A su vez el sistema tendrá la capacidad de responder a preguntas hechas por el usuario con respecto al espacio en el cual se encuentra localizado. La información que el sistema proporciona, abarcará diferentes servicios de los cuales se hace uso a diario en un campus, tales como búsqueda de cafés, edificios, notificaciones acerca de citas o clases a las que debemos asistir, ofertas en la cafetería de la universidad o poder acceder al menú del día y una lista de precios, disponibilidad de computadores en los laboratorios de las diferentes facultades y saber la ubicación de algunos de nuestros amigos o contactos. El sistema debe ser capaz de recibir y resolver las solicitudes de los usuarios en tiempo real y de igual manera adaptarse al entorno cambiante del usuario. Debe estar pendiente de la movilización de un agente móvil y el cambio de su ubicación dentro del campus, para así ofrecer los servicios respectivos. Por otro lado deberá prestar un sistema de autenticación de usuarios, para que el sistema se pueda dar cuenta que tipo de usuario esta accediendo a el y así prestarle los servicios correspondientes. Lo ideal para dicha autenticación es que se haga a través del servidor ldap de la universidad y no se haga internamente en el sistema para que sea más eficaz y acorde con los usuarios registrados en la universidad.

8.2 Definición de la arquitectura física del sistema

Para definir una arquitectura apropiada para nuestra aplicación, se deben tener en cuenta las diferentes entidades que interactúan durante todos los procesos del sistema y cómo se relacionan entre si. Debemos definir de igual forma sus roles, funciones y limitaciones dentro de la aplicación. La adquisición de información acerca de estas entidades y de su actual estado dentro del contexto general es fundamental para establecer las relaciones entre ellos. Las principales entidades que se deben tener en cuenta, son las que manejan información acerca de los usuarios, dispositivos, y los espacios activos en donde los dos anteriores se encuentren.

Page 18: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

18

Primero que todo se necesitan las entidades que nos van a proveer el mecanismo de localización, estas se denominan AP (Access Point). Dichas entidades están puestas en lugares estratégicos de la universidad para proveer la conexión a la red a los dispositivos móviles. Por otro lado si vamos a mejorar el nivel de localización necesitaremos unos dispositivos llamados RFID (Radio Frequency Identification), los cuales se colocan en cada espacio activo para ofrecer a los dispositivos móviles una mejora en el cálculo de la localización, claro esta que la utilización de estos últimos dispositivos se limita a si se pueden conseguir e instalar en el campus. Para poder guardar la información de localización de cada dispositivo móvil, los perfiles de usuario y los mapas del campus, necesitamos una base de datos geo-referencial que la denominaremos servidor de localización. Y por ultimo requeriremos de un servidor Web, para poder acceder vía Web a las aplicaciones basadas en la localización. Estos son los componentes básicos que el sistema a implementar debe tener, pero la complejidad y número de componentes puede y debería aumentar para brindar mejores servicios y mayores controles en el flujo de información, Estos componentes deberían ser servidores que presten servicios adicionales con implicaciones contextuales o de ubicuidad. A continuación mostraremos un esquema grafico de la arquitectura física de todo el sistema, para un mejor entendimiento.

9 DEFINICION DE REQUERIMIENTOS

9.1 Definición de los requerimientos funcionales A continuación se especifican todos los servicios o requerimientos funcionales de la aplicación, de los cuales dispondrá un administrador del sistema y un usuario móvil

Page 19: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

19

dentro de la universidad. Los usuarios móviles pueden ser: estudiantes, profesores o visitantes. Los requerimientos funcionales pueden ser de tipo pull, que son los requerimientos que el usuario le pide al sistema o pueden ser de tipo push que son los que el sistema le brinda al usuario sin que este ultimo se los pida. Sin embargo al ser una aplicación web, los requerimientos de tipo push no van a poder brindar su máxima funcionalidad ya que en este tipo de aplicaciones no se pueden tener realimente requerimientos tipo push debido a la forma como interactúan las aplicaciones web con el cliente.

9.1.1 Requerimientos funcionales del usuario móvil

9.1.1.1 Ubicación de los contactos más cercanos

El usuario móvil tiene la posibilidad de ver en un mapa la ubicación de todos los contactos que tiene en este momento en su lista personal de contactos, si algún contacto tiene la opción de no ubicación activada en el momento, entonces dicho usuario no podrá ve el mapa en donde se muestra su localización dentro del campus. 9.1.1.2 Configuración del perfil móvil Todo usuario estará en capacidad de modificar su perfil móvil, en el cual se podrán modificar los datos personales y preferencias en cuanto a notificaciones, información en la que esté interesado y manejo de la lista de contactos. Además el usuario podrá elegir si desea recibir eventos o mensajes y si desea que otras personas lo localicen. 9.1.1.3 Enviar mensajes

Los usuarios estarán en capacidad de enviar mensajes de texto a sus contactos, sin importar la ubicación de estos dentro del campus; es decir es posible enviar un mensaje a alguien que se encuentre fuera del campus para que este reciba dicho mensaje una vez ingrese al campus. 9.1.1.4 Ubicación de cafeterías y restaurantes Un usuario móvil tendrá la opción de buscar las cafeterías y restaurantes que ahí dentro de la universidad, es decir el usuario tendrá la opción de escoger entre una lista de lugares la ubicación de dicho restaurante o cafetería por medio de un mapa.

Page 20: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

20

9.1.1.5 Ubicación de edificios

El usuario podrá consultar la ubicación de cualquier edificio, laboratorios, bibliotecas, etc. de la universidad, y el sistema tendrá la obligación de resolver dicho requerimiento, realizando una consulta a la base de datos geo-referencial. 9.1.1.6 Registro

Si un usuario esta registrado en el servidor ldap de la universidad, pero no esta registrado en el sistema de localización, tendrá la posibilidad de registrarse para poder ser parte del sistema de ubicación. 9.1.1.7 Consulta de eventos

El usuario móvil puede en cualquier momento consultar los eventos que ahí designados en ese momento para el espacio activo en el que se encuentra el usuario. 9.1.1.8 Buscar usuarios móviles

Cada usuario tiene la posibilidad de buscar todos los usuarios móviles que están registrados en ese momento dentro del sistema de localización. 9.1.1.9 Agregar contactos Una vez buscados los usuarios que están registrados en el sistema, el usuario podrá agregarlos a su lista personal de contactos. 9.1.1.10 Eliminar contactos Cada usuario tiene la posibilidad de eliminar sus contactos de su lista personal. 9.1.1.11 Ruta entre dos edificios El usuario móvil tiene la posibilidad de escoger dos edificaciones de una lita proporcionada para poder ver en un mapa los dos edificios y así poder escoger la ruta para llegar de un lado a otro. 9.1.1.12 Login

Un usuario tipo estudiante o profesor deberá ingresar un nombre de usuario y una clave, para poder realizar o ejecutar funciones privilegiadas para cada tipo de usuario.

Page 21: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

21

9.1.2 Requerimientos funcionales del sistema

9.1.2.1 Notificación de eventos El sistema informará a los usuarios que estén en determinado espacio, sobre los eventos que se estén o se vayan a realizar en locaciones cercanas a ellos.

9.1.2.2 Notificación de mensajes

Una vez el sistema haya percatado el ingreso de un usuario de tipo estudiante o profesor al campus, notificará a dicho usuario de los mensajes de texto sin leer, que éste tenga. 9.1.2.3 Guardar ultima ubicación El sistema tendrá la capacidad de guardar la última ubicación de cada usuario para que cuando otro los quiera ubicar y no estén en el momento activos en el sistema, este pueda mostrar un mapa con la última ubicación de dicho usuario.

9.1.3 Requerimientos funcionales del administrador

9.1.3.1 Crear, modificar y eliminar un usuario móvil

El administrador puede en cualquier momento crear, modificar o eliminar del sistema a cualquier usuario móvil, ya sea profesor o estudiante. 9.1.3.2 Ingresar información a los espacios activos Podrá en cualquier momento ingresar, modificar o eliminar información de interés de los espacios activos, tales como carteleras virtuales. 9.1.3.3 Configuración de los eventos El administrador es el encargado de actualizar y manejar los eventos de cada espacio activo, para que estos le lleguen a los usuarios móviles, si el usuario móvil tiene habilitada la opción de que le lleguen todos los eventos.

9.2 Definición de los requerimientos no funcionales

9.2.1 Localización

El sistema debe ser capaz de localizar un usuario móvil en cualquier espacio dentro de la universidad. Para la prestación de este servicio se evaluarán diferentes métodos de localización ya existentes.

Page 22: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

22

9.2.2 Seguridad

La parte de seguridad juega un papel muy importante para el diseño del sistema que implantaremos, ya que tendremos que establecer unas políticas de seguridad y de privacidad individual. Claramente podemos ver el problema que se puede presentar al introducir tecnologías de localización, si por ejemplo algún usuario por razones personales no quiera que nadie sepa su localización. Por lo tanto se implantará un servicio de invisibilidad, en el cual cualquier agente móvil pueda avisarle al sistema que no revele su posición dentro del campus. Por otro lado también plantearemos posibles soluciones para garantizar la seguridad de todos los componentes que hacen parte de la red, para que no sean vulnerables a cualquier tipo de ataques.

10 IMPLEMENTACION DEL SISTEMA Este capitulo describe las decisiones de diseño tomadas para el desarrollo y construcción del sistema, resumiendo la forma como se implementaron algunos módulos y como se deberían implementar otros aun no desarrollados. En un sentido general la implementación de este proyecto apuntaba a brindar a los usuarios servicios basados en localización, de tal forma que no fuera necesario hardware o software adicional en los dispositivos móviles que hicieran uso de dichos servicios. Debido a la creciente existencia de dispositivos con tarjetas redes con capacidades de acceso a redes inalámbricas y la existencia de una red de Inalámbrica dentro de la universidad las decisiones tomadas para la implantación fueron entonces las de utilizar la red inalámbrica existente en la Universidad para resolver el problema de la localización y de esta forma poder ofrecer por medio de una aplicación Web servicios basados en la localización del usuario ayudados por un modulo geográfico y un servidor de mapas. Dichas decisiones no cobijaban dispositivos que no contaran con el hardware necesario para acceder a la red inalámbrica de la universidad, principalmente Teléfonos celulares, para los cuales se hubieran tenido que tomar decisiones distintas tales como el desarrollo de un software cliente el cual estuviera instalado en cada dispositivo; adicionalmente el resolver el problema de localización hubiera requerido en el caso de los celulares acceso a las redes operadoras de dichos dispositivo y la implementación de software que utilizando alguno de los métodos descritos en el marco teórico y que utilice la red GSM o CDMA del teléfono de este documento para determinar la ubicación aproximada del dispositivo. A continuación de explica sin entrar en mayores detalles la manera en que cada componente de la aplicación fue desarrollado e implementado y como algunos que no fueron implementados deberían desarrollarse.

Page 23: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

23

10.1Aplicación Web

La aplicación Web fue desarrollada con tecnología java (Servlets, JSp’s) principalmente y su principal función dentro del sistema es la de integrar las funcionalidades de los demás módulos los cuales son descritos en mas detalle en el capitulo de la arquitectura de la aplicación y presentar al usuario los diferentes servicios disponibles, tales como el envió de mensajes, eventos disponibles en cada espacio activo, búsqueda de personas y edificios ..etc. Esta aplicación esta montada en un servidor Jboss y almacena todos los datos de usuarios y lugares de la universidad en un base de datos creada usando postores 7.4. La decisión de usar esta tecnología surgió principalmente debido a la disponibilidad en los servidores proporcionados por la universidad. Otras de las características interesantes de la aplicación es que utiliza el servidor de Directorios (LDAP) de la universidad para efectos de autenticación de usuarios lo cual garantiza que el acceso del sistema solo sea posible para miembros de la Universidad. Debido a que los permisos obtenidos sobre el Servido LDAP simplemente permitían la lectura y no escritura de datos, el perfil de los usuarios es decir listas de contactos, políticas de privacidad y demás se manejaba en la base de datos propia de la aplicación, una posible implantación alterna a la utilizada en este proyecto seria la de manejar el perfil de usuario completamente por medio de LDAP el cual es mucho mas flexible y apropiado para manejo de información de este tipo y además posee información especifica de cada usuario, tal como su Rol o Ocupación (Estudiante, profesor, empleado ) dependencia administrativa o facultad a la que pertenece y mucho mas datos que permitirían el ofrecer servicios específicos dependiendo del perfil de cada persona. 10.2Modulo geográfico y servidor de mapas

Este modulo esta compuesto por dos por dos componentes principales los cuales son Un servidor de mapas y una base datos Georeferencial que almacena toda la información geográfica del campus universitario. Entiéndase por información geográfica la colección de puntos, polígonos, líneas etc. que describen de manera geométrica un espacio geográfico real, en esta caso la universidad y todos sus bloques edificios y zonas verdes. Un numero considerable de Motores de bases de datos relacionales poseen ya capacidades para almacenar y manejar datos de tipo geográfico, en el caso de este Proyecto el motor escogido fue postgres el cual por medio de una librería Adicional llamada Postgis puede almacenar, manejar y operar datos geográficos. Información mas detallada de los requerimientos y funcionamientos de esta liberaría se pueden encontrar en [21].

Page 24: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

24

El servidor de mapas es el encargado de Mostar de manera clara y entendible los datos contenidos en la base de datos georeferncial. Su principal función en nuestro sistema era la de mostrar los mapas a los usuarios, y mas aun hacer estos mapas accesibles en la Web para si poder integrar este servicio con la aplicación Web. Al igual que la bases de datos existen diferentes productos disponibles para el desarrollo de servicios de mapas por medio de la Web e inclusive por medio Web Services, la literatura y sitios especializados en Internet es abundante. En nuestro caso el servidor de mapas es un producto opensource llamado mapserver el cual es específicamente un CGI el cual puede usarse en un servidor Web cualquiera el cual tenga la capacidad de ejecutar Scripts de CGI. Este mapserver utiliza la información guardad en la base de datos georeferencial para generar imágenes en formatos png, jpg, gif de esta información que es lo que constituye los mapas. Adicionalmente permite el hacer zoom sobre la información lo cual permite personalizar los mapas que se desean mostrar. A continuación se muestra una imagen generada por el servidor de mapas que muestra toda el área de la universidad.

La información del mapa se define en un archivo de extensión .map con una sintaxis definida por el estándar del mapserver el cual es interpretado por el CGI para producir las imágenes. Básicamente el archivo .map defina las capas de el mapa y el orden en que estas se deben mostrar cada capa debe tener una fuente de datos que en nuestro casos son las diferentes tablas con la información geográfica de la universidad, un diseño detallado de la información y la estructura de la base de datos la podrán encontrar en los anexos de este documento , adicionalmente la detallada de la sintaxis empleada por el map server, instalación y requerimientos del software se puede encontrar en [22]. Debido a que la información en los map files es estática y surgió la necesidad de crear mapas mas dinámicos para cada usuario de cuerdo a sus necesidades y al tipo de información solicitada se debió implementar una modulo que fuera capas de generar los

Page 25: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

25

archivos .map dinámicamente de acuerdo a estas necesidades y así poder Mostar mejores mapas. En un esquema general de puede decir que la el modulo de mapas se encargaba en reunir la información necesaria desde la base de datos georeferncial la procesaba y enviaba las peticiones al mapserever para que este mostrara el mapa que se ajustara a la información requerida por le usuario, que pudiera ser la ubicación de un contacto o la ubicación de un bloque o edificio especifico dentro de la universidad. 10.3Modulo de localización

Este es uno de los módulos que no ha sido implementado en este sistema debido a falta de permisos en los equipos necesarios (Access Points). Sin embargo a continuación damos una explicación de la solución que pretendíamos implantar y mas o menos los detalles técnicos para lograr que tal servicio funcione de manera adecuada.

Teniendo en cuenta la tecnología y técnicas que actualmente se encuentran disponibles para resolver el problema de la localización, y el hecho de que muchas de ellas implican costos elevados debido a los dispositivos que se deben adquirir, sin mencionar además el desarrollo de API's en algunos casos para conseguir que las diferentes PDA's y Dispositivos móviles sean capaces de interactuar con estos. El acercamiento mas efectivo y de bajo costo es el de desarrollar una aplicación Web, sobre una red Inalámbrica o WLAN. Actualmente el uso de estas redes se ha vuelto mucho más popular que en el pasado debido a que los costos de equipos, son relativamente bajos y su implementación dentro de una red no significa mayores esfuerzos, además la creciente venta y uso de dispositivos con tarjetas de red bajo la especificación IEEE 802.11 permiten que este tipo de redes sea cada ves mas común. Dicho esto la aproximación utilizada en este proyecto de tesis para resolver el problema de la localización de usuarios móviles dentro de un contexto geográfico específico, involucra el uso de AccesPoints Inalámbricos AP, que soporten el protocolo SNMP (Simple Network Management Protocol) para efectos administrativos. El protocolo de SNMP fue creado hace relativamente poco y su principal finalidad era la de controlar dispositivos de red de una manera simple dentro de una LAN o WAN. El protocolo se basa en una modelo de agente/administrador y que está principalmente compuesto por agente el cual es el dispositivo de red que se quiere controlar , un administrador el cual es una aplicación o un conjunto de herramientas que permiten la comunicación con el agente , una base de datos la cual almacena la información que puede ser controlada en el agente al igual que los diferentes objetos que este posee y el protocolo en sí el cual hace posible la comunicación entre agente y administrador.

El administrador y el agente hacen uso de Base de Información administrativa Management Información Base (MIB) la cual se encuentra organizada en una estructura

Page 26: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

26

de árbol con diferentes variables las cuales se encuentran identificadas por medio de un numero único denominado OID el cual posee una estructura jerárquica parecida a la que se emplea en los índices de libros o trabajos escritos. El protocolo de SNMP soporta muy pocos comandos los cuales permiten el escribir y leer los valores de estas variables, a la ves que permite definir trampas (traps) los cuales son mensajes programados que se asocian a diferentes eventos en el dispositivo que se quiere controlar y que pueden ser enviados a otros agentes o a repositorios definidos por el Administrador. [21]

Dentro de la Universidad de los Andes se encuentra instalados 12 Ap Cisco Aironet de la serie 1200 compatibles con SNMP los cuales se encuentran distribuidos a lo largo de la universidad cubriendo aproximadamente el 70% del Campus universitario. Algunos de ellos localizados dentro de edificios y otros al aire libre permitiendo el acceso a Internet e Intranet desde PC's portátiles y PDA's por parte de estudiantes empleados y profesores. Aprovechando dicha cobertura e infraestructura, explicamos a continuación la metodología que se empleará para que sin necesidad de hardware adicional en los dispositivos móviles se pueda ofrecer servicios basados en localización a los diferentes usuarios por medio de nuestra aplicación Web. Antes de que un dispositivo móvil pueda enviar y recibir información a través de un AP, este debe asociarse a dicho AP, esto se logra mediante el servicio de asociación definido por el estándar IEEE 802.11, el cual además define los servicios de de-asociación y reasociación. El servicio de reasociación se usa cuando una conexión activa se transfiere de un AP a otro es decir cuando el dispositivo está en movimiento. El servicio de de-asociación es invocado cuando una conexión es terminada o interrumpida. Cada vez que se produce uno de estos eventos los AP pueden ser configurados mediante el uso de SNMP para enviar notificaciones o traps en los que se detalle la información de el dispositivo que se asoció, reasocio o desasocio.

La idea general del método es establecer un trap en el AP el cual sea enviado a un servidor de localización el cual atrape e interprete los mensajes, los cuales son configurables desde el shell del AP. Estos traps por lo general contienen la dirección MAC del dispositivo y la dirección IP del AP que envía el mensaje. Con esta información se debe crear una tabla en la base de datos donde se relacionen los datos es decir la dirección MAC con un ID de Ap y que se actualice de acuerdo con cada evento, es decir cada vez que se produzca una reasociación se debe actualizar la información del AP en el registro que tenga la dirección MAC enviada en el trap , si se produce una de-asociación se debe borrar el registro que tenga la dirección MAC especificada en el mensaje y si se produce una asociación se debe crear un nuevo registro. Es así como el sistema puede mantener datos en tiempo real de la ubicación de los diferentes usuarios.

Otro problema que surge al tratar de resolver este problema es que los AP identifican los usuarios o dispositivos móviles por medio de la dirección MAC, lo cual no es posible desde un servidor Web, es decir la aplicación Web sólo puede identificar la

Page 27: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

27

dirección IP de quien está enviando una petición por lo cual se hace necesario relacionar direcciones IP con direcciones MAC y así poder determinar dentro de la aplicación Web la localización del usuario y ofrecer así de manera transparente para el los servicios correspondientes a su posición geográfica dentro del campus. Para resolver este problema se deben hacer una serie de consultas SNMP al AP el cual guarda en sus registros un tabla denominada ipNetToMediaTable definida con el O.I.D 1.3.6.1.2.1.4.22 la cual tiene en sus registros un mapeo entre direcciones físicas y direcciones IP la estructura general de los datos en la tabla se muestra a continuación con una breve descripción de lo que representa cada campo. [22]

IpNetToMediaTable

IpNetToMediaIfIndex O.I.D 1.3.6.1.2.1.4.22.1.1

IpNetToMediaPhysAddress O.I.D 1.3.6.1.2.1.4.22.1.2

IpNetToMediaNetAddress O.I.D 1.3.6.1.2.1.4.22.1.3

IpNetToMediaType O.I.D 1.3.6.1.2.1.4.22.1.4

Índice de la interfaz del AP utilizada por el dispositivo de red de este registro

Dirección Física del Dispositivo (MAC ADDRESS)

Dirección IP asignada a el dispositivo

Tipo de mapeo entre MAC e IP utilizado puede ser Dinámico(DHCP) o estático

Como se puede observar en la descripción de la tabla la información que esta contiene es suficiente para determinar qué dispositivo móvil y por ende qué usuario se encuentra asociado con un determinado AP, del cual conocemos su ubicación geográfica por medio de la base de datos georeferencial. Esto nos permite ofrecer por medio de nuestra aplicación Web servicios basados en localización a los usuarios sin necesidad de usar hardware adicional al tradicional. Cabe resaltar que esta solución puede ser aplicada bajo diferentes plataformas tecnológicas es decir cualquier AP de Nivel 2 con capacidades similares a las de los Cisco puede ser empleado para resolver de manera efectiva el mismo problema de localización, los procedimientos de configuración de estos cambiarían un poco pero visto bajo el esquema del protocolo SNMP el programa que tendría que ser codificado y desarrollado seria el mismo.

10.4Modulo de integración con otras aplicaciones

Este modulo aunque no esta implementado la idea general de este modulo es la de conectar nuestra aplicación con la con otra aplicación cualquiera para así poder hacer

Page 28: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

28

uso e igualmente ofrecer sus servicios de manera transparente a nuestros servicios de manera.

Hoy en día los sistemas distribuidos son una parte común del día a día en cualquier sistema de información, existen diversas metodologías y arquitecturas aceptadas que logran comunicar diferentes aplicaciones e integrar servicios desde diferentes orígenes en un medio común, los problemas que siempre se enfrentan al momento de implementar una servicio como el que discutimos, son principalmente relacionados con un estándar de comunicación, un lenguaje o protocolo que pueda ser interpretado para diferentes aplicaciones sin importar en que plataforma tecnológica estén desarrollados.

En nuestro caso y dado que los servicios que ofrecemos a nuestros usuarios son de tipo Web, consideramos que el método más apropiado para usar servicios de otras aplicaciones seria por medio de Web Services.

Un Web Servicie es principalmente una aplicación que utiliza un protocolo estándar de Web denominado SOAP para poner determinados servicios a disposición de otras aplicaciones o usuarios. Los mas comunes dentro de estos son los servicios Web XML que definen mediante el estándar de xml un documento en el se emplea una sintaxis o estándar denominado Web Service Description language (WDSL) el cual permite definir detalladamente el servicio y su interfaz para que así el cliente pueda programar una aplicación cliente.

Para poder desarrollar los clientes que utilicen los servicios Web se necesita saber que servicios están disponibles, que ofrecen y como son sus interfaces, esto se puede lograr creando un registro en Internet el cual defina esta información por medio de la tecnología definida como UDDI, que en español significa descripción, descubrimiento e integración universales, el UIID permite a los proveedores de servicios Web dar a conocer sus servicios de una forma estándar para que los clientes (en este caso nuestra aplicación) puedan así desarrollar el software para comunicarse con este servicio. [23]

Es importante el entender que es muy difícil encontrar un medio estándar para comunicarse con cualquier aplicación, ya que seria siempre necesario algún tipo de desarrollo para que la comunicación entre aplicaciones sea exitosa. No todas las aplicaciones definen sus interfaces de una forma estándar.

Otra opción que se podría explorar en para la implementación de este servicio seria la de invocación de remota de objetos la cual puede ser lograda en una plataforma netamente Java por medio de Java RMI (Java Remote Method Invocation) la cual da la posibilidad de crear aplicaciones distribuidas en las que los métodos y funciones de objetos Java pueden ser invocados y utilizados desde otras maquinas que posean una Java Virtual Machine. Esto obviamente pondría limitantes en cuanto a que las aplicaciones con las que nos queramos comunicar deberían estar necesariamente escritas en java y tener el servicio de RMI para permitir la comunicación.

Page 29: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

29

11 ARQUITECTURA DEL SISTEMA

11.1Diagrama de componentes

A continuación se describe el diseño arquitectónico de la aplicación, en la cual se describen los módulos que interactúan con el sistema y la descripción detallada de todos sus componentes. En esta parte también se describe el diagrama de componentes a grandes rasgos y cómo los módulos interactúan entre si. El sistema es una aplicación Web por lo que su arquitectura es cliente servidor y requiere de los componentes básicos de este tipo de aplicaciones, como un servidor de aplicaciones en la parte servidor y un browser al lado del cliente. La siguiente figura muestra el diagrama de componentes de la aplicación.

Page 30: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

30

El sistema está montado sobre un servidor con sistema operativo linux Red Hat, aunque no es necesario estar corriendo bajo dicho sistema operativo, si es necesario que el servidor de aplicaciones y el servidor Web apache este corriendo sobre la misma máquina. Esto debido a que el Map Server (servidor de mapas) es un cgi que corre bajo Apache y el sistema se comunica con este a través de archivos que se generan dinámicamente y se le pasan al Map Server para que este los procese y se los muestre al usuario. La base de datos de la aplicación corre sobre Postgres debido a que utiliza las librerías postgis para el manejo de base de datos georeferenciales. La base de datos puede estar corriendo sobre cualquier máquina que soporte Postgres y las librerías postgis que soportan la funcionalidad georeferencial. La aplicación se comunica con los access-points de la red inalámbrica de la universidad por medio del protocolo de administración snmp (Simple network management protocol) y por medio de este el sistema puede consultar información a los access-points sobre los dispositivos móviles que están conectados a este y así poder determinar su ubicación dentro del campus de la universidad. El uso del protocolo snmp para realizar la localización, hace que el sistema sea portable y se pueda integrar con varios tipos y marcas de puntos de acceso (access-points) ya que la mayoría de estos dispositivos soportan la comunicación y la administración por medio del protocolo snmp. El medio de autenticación para el sistema, se hace a través del servidor ldap de la universidad. Mediante las librerías jni de java e establece una comunicación con dicho servidor el cual autentica al usuario que esté ingresando al sistema. Para que la interacción con ldap funcione, el servidor donde esté montada la aplicación debe estar dentro de la red de la universidad, ya que por cuestiones de seguridad el servidor ldap no se puede acceder desde afuera de la red del campus. Por último todos los módulos de la aplicación en si, se pueden montar en cualquier maquina con cualquier sistema operativo que tenga instalado un servidor de aplicaciones que soporte jsp y servlets. 11.2Diagrama de clases En este capitulo se explican detalladamente todos los módulos que componen el sistema. Entraremos en los detalles del funcionamiento de todas sus partes pero dejaremos por fuera las librerías o módulos externos que usa la aplicación y que son necesarios para su funcionamiento pero no fueron desarrollados dentro del trabajo de tesis. El sistema es una aplicación Web en si. Como ya hemos mencionado dicha aplicación esta montada en un servidor de aplicaciones, el cual se encarga de realizar las operaciones para poder desplegar las diferentes paginas al cliente. Dentro de esta aplicación Web se encuentran varios módulos independientes encargados de realizar diferentes partes de la funcionalidad del sistema, sin embargo todos esos módulos se

Page 31: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

31

encuentran administrados por un modulo de tipo fachada el cual se encarga de proporcionar todas las funcionalidades disponibles al usuario. El modulo fachada lo que hace es encapsular toda la lógica de la aplicación para hacerla transparente. Por encima de este modulo se encuentra el modulo Servlet y todos los módulos de paginas dinámicas o jsp,s. El Servlet se encarga de recibir todas las peticiones de los usuarios y se encarga de identificar el tipo de usuario móvil que esta tratando de acceder al sistema. Los jsp`s se encargan de la parte visual de la aplicación generando así dinámicamente las paginas que se le muestran al usuario final dependiendo de los requerimientos pedidos. También existe un modulo que interactúa con la base de datos y hace transparente la conexión a esta. Este modulo se encarga de servir como puente entre los demás módulos que necesitan interacción con la base de datos para que estos no se tengan que preocupar por estar abriendo y cerrando conexiones. Por otro lado también existe un modulo que interactúa con el servidor de mapas que debe estar montado en la misma maquina que la aplicación Web, debido a que es necesario el intercambio de archivos entre estas dos para poder realizar y presentarle al usuario mapas dinámicos. Por ultimo existen dos módulos aparte que se encargan de interactuar con componentes externos al sistema. El primero es el modulo que interactúa con el servidor ldap de la universidad mediante el api JNI de java, y el segundo es un modulo que interactúa con todos los access points de la universidad mediante el protocolo snmp. La siguiente gráfica modela el esquema de las clases elaboradas y sus asociaciones y seguiremos con su explicación detallada.

Page 32: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

32

11.2.1 Paquete web

En este paquete se encuentran todos los jsp de la aplicación, incluyendo los que responden en html, wml y vxml. Estos archivos son los que hacen el sistema dinámico y retornan las respuestas a los diferentes clientes en el lenguaje o formato que cada uno entienda. Dichos módulos se encargan de interactuar con todos los posibles usuarios de la aplicación independientemente del tipo de cliente móvil que se este usando, ya sea

Page 33: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

33

HTML, J2ME, wap, voiceXML, etc. Su única funcionalidad, es la de prestar todos los servicios a los clientes de manera transparente es decir es el traductor del Servlet o el intermediario necesario para que el Servlet y el cliente móvil puedan interactuar de manera correcta. 11.2.2 Paquete servlet

En este paquete solo hay una clase de tipo HttpServlet, la cual se encarga de procesar todas las conexiones de los diferentes clientes con la aplicación. También se encarga de mantener las sesiones de cada usuario y guardar su información de conexión para poder mantener la comunicación con dichos usuarios. Este modulo se encarga de saber qué tipo de usuario se está conectando al sistema y se encarga de devolverle al cliente el tipo de respuesta esperado por el usuario. 11.2.3 Paquete kernel

Este conjunto de clases se encargan de manejar la lógica de negocio o núcleo de la aplicación. Tiene una clase principal de tipo fachada, la cual se encarga de prestar toda la funcionalidad del sistema a las demás clases o jsp’s que lo necesiten. La fachada es la ruta de entrada a todos los requerimientos funcionales del sistema. Cada clase que esta por debajo de la fachada se encarga de un modulo especifico de la aplicación, balanceando así toda la carga del sistema en diferentes módulos mas pequeños. A continuación explicaremos la función de cada una de las clases que integran la aplicación. FachadaSisloc: Es la clase fachada encargada de prestar todas las funcionalidades del sistema. A través de ella se redireccionan todas las peticiones a los diferentes módulos que las pueden procesar. Geodata: Este módulo tiene como función la generación de mapas dinámicos, que muestran los diferentes espacios activos dentro de la universidad a los diferentes usuarios que se conecten al sistema. Dicho modulo interactúa con la base de datos georeferencial, en donde saca toda la información necesaria y después de procesar dicha información se comunica con el servidor de mapas para entregarle la información para que este ultimo queda desplegar el mapa interactivo l usuario móvil. Bloques: Esta case es una extensión de la clase Geodata y se encarga específicamente de procesar la información referente a los bloques del campus de la universidad que hacen parte de los diferentes espacios activos definidos dentro del sistema. Localizacion: Es la clase encargada de establecer la localización de los usuarios conectados al sistema por medio de la red inalámbrica de la universidad. La localización se realiza a través de la consulta de información de los dispositivos de

Page 34: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

34

puntos de acceso disponibles dentro del campus. La comunicación con dichos dispositivos se realiza mediante el protocolo de administración remota snmp. Cada vez que un usuario se registra en el sistema este establece comunicación con los puntos de acceso para saber en cual de ellos se encuentra el usuario, una vez se sepa en cual punto de acceso se encuentra el usuario se vuelve a pedir información para saber el radio en el que se encuentra dicho usuario. Temporalmente el sistema simula la localización, dando la oportunidad al usuario, de escoger el punto de acceso con el que se encuentra asociado. Esto debido a que en este momento los puntos de acceso de la universidad no están configurados para mostrar la información necesaria para establecer la ubicación de algún dispositivo móvil dentro de la red inalámbrica. LDAPSisloc: Este módulo solo se encarga de establecer la comunicación con el servidor ldap de la universidad, para poder validar el registro de todos los usuarios que se conectan al sistema de localización. El usuario ingresa su login y clave del correo y la aplicación la valida con la información proporcionada con el servidor de ldap de la universidad, esto permite el ingreso al sistema únicamente de las personas actualmente registradas en la universidad. En un futuro se podría pensar en manejar todo el perfil móvil dentro del servidor ldap para un manejo mas adecuado de la información. UsuariosMoviles: Este es un módulo simple, su funcionalidad es la de manejar e interactuar con la base de datos, en la cual estarán registrados todos los usuarios que están registrados en el sistema. Su funciones principales se centran en la creación y administración de los perfiles y demás información de los usuarios relevante para el sistema, como lista de contactos, políticas de privacidad etc. En un caso mas avanzado se podría pensar en la posibilidad de almacenar información de tipo histórica acerca de el usuario como estadísticas de los servicios mas utilizados, lugares mas visitados o datos parecidos que permitan ofrecer servicios diversos en diferentes contextos de esta misma aplicación, e.j centros comerciales, almacenes por departamentos etc. AdministracionEventos: Este modulo se encarga de manejar todos los espacios activos disponibles en el campus. Se entiende por espacio activo un espacio geográfico con cierta relevancia o importancia el cual encierra o reúne un conjunto de servicios e información. Un ejemplo claro de un espacio activo es un edifico de alguna facultad dentro de la universidad, una biblioteca etc. La función principal de este modulo es la de administrar todos los espacios disponibles y todos los servicios que cada uno de estos presta a los usuarios. Otra característica importante de este módulo será su estrecha relación con el modulo de localización debido a que todo usuario que se encuentre dentro del campus deberá estar en todo momento dentro de un espacio activo, es decir se debe tener en mente que la idea de un campus para el sistema es la de un conjunto de

Page 35: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

35

espacios activos con diferentes servicios y características diferentes o en algunos casos comunes, dentro de los cuales los usuarios se deben ubicar. El encargado de administrar estos requerimientos es el usuario administrador, el cual es el único con permisos para ingresar, eliminar o modificar eventos definidos dentro de los espacios activos. AdministracionUsuarios: Es el modulo encargado de administrar a todos los usuarios móviles que interactúan o están registrados en el sistema. El usuario administrador es el encargado de manejar dicho modulo, en el cual se pueden ingresar o eliminar usuarios.

11.2.4 Paquete bd

Este módulo se encarga principalmente de establecer la conexión con la base de datos de la aplicación. Dicha base de datos contiene toda la información de usuarios, espacios activos, eventos y también contiene toda la información georeferencial utilizada para la ubicación y generación de mapas dinámicos del sistema. Todos los módulos que interactúan con la base de datos usan este módulo para su comunicación, esto permite filtrar y administrar todas las conexiones. Este módulo está comprendido por una clase de tipo “singleton” lo cual permite la creación de solo una instancia de la misma, esto para controlar las conexiones con la base de datos.

11.3Diagramas de Casos de Usos

En este capítulo se describen los diagramas de los casos de usos, para los diferentes actores del sistema. Es decir mostraremos como se relacionan los actores con el sistema y que funcionalidades puede realizar cada actor. Así mismo definiremos en detalle algunos de ellos los cuales consideramos de mayor importancia dentro del sistema. Para ver el flujo de algunos de los casos de uso para su mejor entendimiento por favor remitirse al anexo 1.

11.3.1 Casos de uso para el usuario móvil

El usuario móvil puede ser estudiante, profesor o empleado de la universidad. Este tipo de usuarios pueden ingresar al sistema una vez se autentiquen con el servidor ldap de la universidad y usar todas las funcionalidades existentes para este tipo de usuarios. Si el usuario no esta registrado en el sistema lo puede hacer mediante una pagina de registro en donde se piden unos datos principales. A continuación se muestra el diagrama de casos de uso para este tipo de usuarios y también algunas definiciones de los casos de uso más importantes.

Page 36: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

36

11.3.2 Casos de uso para el administrador

El usuario administrador es el encargado de manejar todos los espacios activos con sus respectivos eventos definidos dentro del campus de la universidad, también se encarga de administrar a los usuarios móviles, es decir también tiene la capacidad de ingresar y eliminar usuarios móviles del sistema.

Page 37: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

37

11.3.3 Casos de uso del sistema

Estas funcionalidades son automáticas del sistema, es decir el sistema se encarga de realizar estas operaciones sin necesidad de que el usuario lo haga explícitamente. A continuación se muestra el diagrama de casos de uso para el sistema para un mejor entendimiento.

11.4Diseño de la base de datos El diseño de la base de datos se encuentra en el anexo 3.

Page 38: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

38

11.5Diagramas de secuencia

Para ver los diagramas de secuencia de algunos de los requerimientos más importantes de la aplicación remítase al anexo 2.

12 CONCLUCIONES DEL PROYECTO

• Mediante el trabajo practico y de investigación desarrollado en este proyecto pudimos darnos cuenta que un método eficiente y relativamente de bajos costos de implementación, para ofrecer servicios basados en localización, lo constituye el emplear tecnologías de redes inalámbricas, esto debido a la gran flexibilidad que aporta al sistema , ya que por lo único que hay que preocuparse es por configurar de manera correcta los componentes de red y por otro lado tiene a su favor la creciente popularidad que tiene hoy en día en medios laborales y educativos en donde los servicios basados en localización serian muy útiles.

• Otra conclusión importante a la que pudimos llegar con este proyecto fue el darnos

cuenta de la gran importancia y utilidad de los sistemas de información geográfica para este tipo de sistemas. Además el tener bien definida y consolidada toda la información geográfica del espacio en el cual se quiere implementar el sistema es de gran ayuda y es clave importante en el éxito del mismo. Para la realización de este trabajo esto fue de gran ayuda, ya que el departamento de planta física poseía toda la información geo-referencial del campus de la universidad y sus alrededores.

• Aunque no se implemento el módulo de integración con otras aplicaciones,

llegamos a la conclusión de que la mejor forma de realizar dicho modulo es mediante la utilización de los servicios Web (Web Services) ya que representan una manera relativamente estándar y eficaz de realizar la integración de Servicios bajo diferentes plataformas de manera relativamente flexible, y decimos relativamente ya que el desarrollo o esfuerzo de implementación es mucho menor que con cualquier otra tecnología mencionada en este trabajo.

13 ANEXOS

13.1Anexo 1 – Casos de uso

En este anexo se encuentran referenciados el flujo de algunos de los casos de uso más importantes de la aplicación.

13.2Anexo 2 – Diagramas de secuencia

En este anexo se encuentran los diagramas de secuencia de algunos de los requerimientos de la aplicación, para un mejor entendimiento.

Page 39: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

39

13.3Anexo 3 – Diseño de la base de datos

En este anexo definimos la estructura de la base de datos que utiliza el sistema para su funcionamiento y se muestra un diagrama con todas sus relaciones.

14 BIBLIOGRAFÍA [1] Weiser, Mark. 1991. “The Computer for the 21st Century”. Scientific American

Ubicomp Paper. http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html. [2] Weiser, Mark. 1998. “The future of Ubiquitous Computing on Campus”.

http://delivery.acm.org/10.1145/270000/268108/p41-weiser.pdf?key1=268108&key2=6528117701&coll=GUIDE&dl=ACM&CFID=16898679&CFTOKEN=23626133

[3] Campo Ma Celeste, García Carlos, Almenares Florina, Marín Andrés, Delgado Carlos.

“Propuestas para una plataforma de agentes en computación ubicua”. Universidad Carlos III de Madrid. http://www.it.uc3m.es/~celeste/papers/CITA2002.pdf.

[4] Bill Schillit, Norman Adams, Roy Want. 1994. “Context Aware Computer

Applications”. IEEE Workshop on Mobile Computing Systems and Applications. http://seattleweb.intel-research.net/people/schilit/wmc-94-schilit.pdf.

[5] Ramón Hervás Lucas. 1998. Comentario sobre “The future of Ubiquitous Computing on

Campus” de Weiser, Mark. Publicado en: Communications of the ACM. http://chico.inf-cr.uclm.es/jbravo/docencia/IU/Fundamentos-Weiser/Re_future_of_ubiquitous_computing_on_campus.doc.

[6] Schilit, William Noah. 1995. “A System Architecture for Context-Aware Mobile

Computing”. Columbia University. http://seattleweb.intel-research.net/people/schilit/schilit-thesis.pdf.

[7] GSM association’s classifications. “Location based services”. Enero de 2003.

http://www.gsmworld.com/technology/applications/location.shtml [8] Juan Gorchs. 2001, Sistemas De Posicionamiento En Wireless

http://www.wmlclub.com/articulos/posicionamiento.htm [9] Djuknic, Goran M. Richton, Robert E. “Geolocation and Assisted GPS”.

http://www.cs.huji.ac.il/course/2003/postPC/docs/Geolocation_assistedGPS.pdf [10] Bellsouth. “How 911 works”.

http://contact.bellsouth.com/email/bbs/phase2/how911works.html

Page 40: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Universidad De Los Andes. Tesis de Pregrado. 2004. Saldarriaga, Miguel A. Velásquez, Juan M.

40

[11] Martinez Davis. “Servicios de localización”. http://www.umtsforum.net/mostrar_articulos.asp?u_action=display&u_log=81

[12] 2002 AT&T Laboratories Cambridge, The Bat Ultrasonic Location System

http://www.uk.research.att.com/bat/ [13] Bulusu, Estrin, Hidemann, Tradeoffs in Location Support Systems: The Case for

Quality-Expressive Location Models for Applications http://lecs.cs.ucla.edu/~bulusu/papers/Bulusu01d.pdf

[14] Ferscha, Beer, Narzt, Location Awareness in community wireless LAN’s

http://www.soft.uni-linz.ac.at/Research/Publications/_Documents/informatik2001.pdf [15] Bhasker, Brown, G. Griswold, Employing User Feedback for Fast, Accurate, Low-

Maintenance Geolocationing www.cs.ucsd.edu/~wgg/Abstracts/ac-locator.pdf

[16]Lionel M.Ni1, Yunhao Liu,Yiu Cho Lau,Abhishek P. Patil LANDMARC: Indoor

Location Sensing Using Active RFID* http://www.cse.msu.edu/~liuyunha/landmarc-Percom03.pdf

[17] The Cricket Location-Support System Nuisance B. Priyantha, Anit Chakraborty, and

Hari Balakrishnan http://nms.lcs.mit.edu/papers/cricket.pdf

[18] Luis Carlos Fernández González, Las Tecnologías WIFI: Aplicaciones, Modelos de

Negocio y Tendencias http://www.ceditec.etsit.upm.es/Informes_globales/ceditec_wifi.pdf

[19] Página web de Cisco, CISCO AIRONET 1200 SERIES,

http://www.cisco.com/en/US/products/hw/wireless/ps430/index.html

[20] SNMP Tutorial Part 1: An Introduction to SNMP, http://www.dpstele.com/layers/l2/snmp_l2_tut_part1.html

[21] Wesbsite de Postgis, http://postgis.refractions.net/ [22] MapServer Documentation Project, http://mapserver.gis.umn.edu/doc.html [23] Una introducción a los servicios Web: WSDL, SOAP y UDDI- Microsoft Corporation,

http://www.microsoft.com/spain/download/enterprise/vision

Page 41: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

1

Anexo 1 – Casos de uso

En este anexo describimos el flujo de los casos de uso más importantes en el sistema de localización implementado.

Caso De Uso: Ubicación de contactos Cercanos Actor: Profesor/Alumno Precondiciones: El usuario se encuentra activo en el sistema Poscondiciones: Ninguna Curso Normal de eventos: El usuario solicita al sistema ubicar uno o más contactos los cuales pueden

pertenecer o no a su lista de contactos. La solicitud se envía al sistema el cual verifica las políticas de privacidad

adoptadas por el usuario que se quiere localizar. El sistema retorna las coordenadas o referencia de ubicación de los usuarios

solicitados. Curso Alternativo De Eventos: Si las políticas de privacidad del Usuario que se desea ubicar prohíben su

ubicación el sistema envía un mensaje al usuario que solicito el servicio diciendo que el contacto no se pudo localizar.

Si el usuario no se encuentra en ningún espacio activo el sistema envía un mensaje informando el suceso.

Caso De Uso: Envió de mensajes Actor: Profesor/Alumno Precondiciones: El usuario se encuentra activo en el sistema Poscondiciones: Ninguna Curso Normal de eventos: El usuario escribe el mensaje a enviar en el dispositivo móvil que esta usando El usuario solicita al sistema enviar el mensaje a uno o varios destinatarios

según sea el caso. El Sistema localiza los contactos de la persona a los que se les debe enviar el

mensaje. El sistema envía el mensaje a los usuarios respectivos los cuales son notificados

del evento.

Page 42: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

2

Curso Alternativo De Eventos: Si alguno de los usuarios no se encuentra dentro del campus el mensaje se

guarda para ser enviado una ves el usuario ingrese al sistema. Si el usuario a quien se quiere enviar el mensaje no se encuentra registrado en el

sistema es decir el usuario no existe el sistema notifica el suceso a el usuario remitente.

Caso De Uso: Ubicación de edificios Actor: Profesor/Alumno/visitante Precondiciones: El usuario se encuentra activo en el sistema Poscondiciones: Ninguna Curso Normal de eventos: El usuario solicita la ubicación de algún edificio, facultad o dependencia la

universidad, proporcionando algún dato como Letra del bloque , nombre de la facultad etc.

El sistema realiza las consultas pertinentes de acuerdo a los datos ingresados, El sistema envía al cliente un mapa o direcciones dependiendo del tipo de

dispositivo utilizado escritas de acuerdo con la ubicación de el usuario y la ubicación del edificio.

Curso Alternativo De Eventos: Si el edificio o dependencia no se encuentra dentro del sistema este notifica el

suceso al usuario. Caso De Uso: Crear Usuario Móvil Actor: Estudiante/Profesor Precondiciones: Ninguna Poscondiciones: Ninguna Curso Normal de eventos: El administrador ingresa los datos de el usuario al sistema El sistema verifica que el usuario sea parte de la base de datos de profesores

estudiantes y/o empleados de la universidad. El sistema almacena los datos del nuevo usuario. y crea un perfil para que este lo

configure posteriormente. Curso Alternativo De Eventos: Si el usuario no se encuentra en la base de datos de profesores estudiantes y/o

empleados de la universidad el sistema no procede con el ingreso del nuevo usuario.

Page 43: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

1

Anexo 2 – Diagramas de secuencia A continuación mostraremos algunos diagramas de secuencias para algunos requerimientos funcionales, esto con el fin de dar un mejor entendimiento sobre el proceso o el curso de acciones que van a tener dichos requerimientos. 1 Requerimientos del usuario móvil

1.1 Ubicación de los contactos

1.2 Configuración del perfil móvil

Page 44: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

2

1.3 Envío de mensajes

Page 45: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

3

1.4 Ubicación de cafeterías y restaurantes

Page 46: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

4

1.5 Ubicación de edificios

Page 47: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

5

1.6 Login

Page 48: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

6

2 Requerimientos del sistema

2.1 Notificación de eventos

Page 49: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

7

2.2 Notificación de mensajes

Page 50: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

8

3 Requerimientos para el administrador

3.1 Configuración de eventos

Page 51: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

9

3.2 Ingresar información a los espacios activos

Page 52: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

10

3.3 Crear usuario móvil

Page 53: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

11

3.4 Modificar usuario móvil

Page 54: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

12

3.5 Eliminar usuario móvil

Page 55: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...

Anexo 3 – Diseño de la base de datos

La base de datos del sistema esta montada en Postgres versión 7.4 con una extensión para manejo de información georeferencial llamada “postgis”. La conexión a la base de datos por parte del modulo bd se hace por medio de jdbc. En la base de datos se guarda toda la información relacionada con el perfil del usuario móvil. También se encuentran guardados todos los mensajes de cada persona y la relación de sus contactos. Por la parte de los espacios activos se encuentran varias tablas que definen cada uno de dichos espacios con sus respectivos polígonos de ubicación. También se encuentran guardados todos los eventos de cada espacio activo. Por ultimo se tiene almacenada información sobre los puntos de acceso instalados en la universidad, esto para uso de la localización de usuarios. En el diagrama mostraremos el esquema de toda la base de datos del sistema de localización.

Page 56: UNIVERSIDAD DE LOS ANDES - BOGOTA, COLOMBIA FACULTAD DE ...