\chapter{Glosario de términos}

Este libro incluye un glosario donde el lector puede encontrar términos y acrónimos que han aparecido en esta memoria de este Trabajo Fin de Carrera. El glosario no pretende incluir todos los términos que aparecen en el libro pero sí pretende aclarar algunos conceptos y dudas que pudieran haber surgido a lo largo de la lectura del mismo.

\vspace{0.5cm}

{\large\textbf{A-GPS:}} El nombre ``A-GPS'' es un acrónimo para \emph{Assisted GPS}. Un sistema GPS autónomo opera únicamente mediante señales de radio provenientes de satélites. Un sistema A-GPS emplea otros recursos (además de las señales de los satélites) para realizar la geolocalización cuando las señales provenientes de los satélites llegan en pésimas condiciones. Sin A-GPS, cuando el entorno no es favorable (por ejemplo, grandes ciudades) el tiempo requerido desde la inicialización de un dispositivo GPS hasta la obtención de un dato fiable sería demasiado elevado. Los dispositivos A-GPS suelen usar conexiones de datos para contactar con servidores centralizados que proporcionan la asistencia necesaria a la hora de calcular rápida y eficazmente la posición, si la conexión de datos no está disponible solo podrá obtenerse la posición geográfica a través de los datos provenientes del sistema GPS autónomo.

\cleardoublepage

{\large\textbf{Doctrine:}} Es un conjunto de librerías escritas en PHP enfocadas primordialmente en proporcionar servicios de persistencia. Se compone de varios proyectos, entre ellos un ORM u \emph{Object Relational Mapper} que facilita el acceso a base de datos mediante objetos. Además proporciona un dialecto de SQL llamado \emph{Doctrine Query Language} o DQL que permite abstraerse de la base de datos física subyacente. En teoría, mediante un Doctrine podría usarse sin hacer ningún cambio en el código cualquier base de datos soportada por su ORM.

{\large\textbf{Eclipse:}} Es un entorno de desarrollo que puede ser extendido mediante el uso de plugins. Está escrito principalmente en Java y puede ser usado para el desarrollo de aplicaciones en Java pero también en otros lenguajes mediante el uso de varios plugins.

{\large\textbf{Framework:}} Es una palabra inglesa que define una abstracción a través de la cual cierto software proporcionando una funcionalidad genérica puede ser cambiado selectivamente por el usuario, generando de este modo y a través de ese software genérico uno específico para una determinada aplicación. Un \emph{framework} o marco de trabajo es una plataforma de software universal, usada para desarrollar aplicaciones, productos y soluciones.

{\large\textbf{GPS:}} Las siglas en Inglés del Sistema de Posicionamiento Global, el cual es un sistema basado en la recepción de señales provenientes de satélites que proporcionan la localización bajo cualquier condición meteorológica y en cualquier lugar en o cerca de la Tierra. Este sistema es mantenido por el gobierno de los Estados Unidos y es de acceso libre para cualquiera que disponga de un receptor GPS.

{\large\textbf{GSM:}} Son las siglas en Inglés para Sistema Global de Comunicaciones Móviles. GSM es un estándar desarrollado por el Instituto de Estándares de Telecomunicaciones Europeo que describe protocolos para la segunda generación (conocida como 2G) de redes celulares usadas por teléfonos móviles. El estándar GSM reemplazó la primera generación o 1G de redes celulares analógicas europeas.

\cleardoublepage

{\large\textbf{JavaScript:}} Es un lenguaje de scripting implementado como parte de un navegador web que permite crear interfaces de usuarios más atractivos y páginas Web dinámicas. A pesar de lo que su nombre pueda indicar, JavaScript no está relacionado con Java.

{\large\textbf{\LaTeX\:}} Es un lenguaje de etiquetado y preparación de documentos para el programa tipográfico \TeX. El término \LaTeX\ hace referencia únicamente al lenguaje en el cual los documentos son escritos, no al editor usado para escribir dichos documentos. Para crear un documento \LaTeX\, se debe crear un archivo .tex usando algún editor de textos, como por ejemplo Vim. \LaTeX\ esencialmente se compone de una colección de macros \TeX\ y de un programa para procesar los documentos escritos usando \LaTeX\ que facilitan la escritura de documentos para \TeX. Este documento ha sido escrito haciendo uso de \LaTeX\ y Vim.

{\large\textbf{Modelo relacional:}} El modelo relacional para la gestión de bases de datos es un modelo de base de datos basado en la lógica de predicado de primer orden y fue formulado por primera vez en 1969 por Edgar F. Codd. En el modelo relacional de una base de datos, todos los datos son representados en términos de tuplas y son agrupados dentro de relaciones. Una base de datos organizada en función de los términos marcados por el modelo relacional es una base de datos relacional. El propósito del modelo relacional es proporcionar un método declarativo para la especificación de datos y consultas, los usuarios indican directamente qué información contiene la base de datos y qué información quieren de ella. La mayoría de las implementaciones del modelo relacional usan la definición de datos y el lenguaje de consulta SQL.

{\large\textbf{PHP:}} Es un lenguaje de scripting diseñado para desarrollo Web con el objetivo de producir páginas Web dinámicas en el servidor (JavaScript por el contrario se ejecuta en el cliente) El código es interpretado por un servidor Web con un módulo de procesado PHP que genera las páginas Web finales.

\cleardoublepage

{\large\textbf{Smartphone:}} Un teléfono móvil inteligente es un teléfono que funciona gracias a un sistema operativo y que tiene capacidades de procesado, computación y conectividad más avanzadas que las de un teléfono normal. Los primeros teléfonos móviles inteligentes combinaban las funciones de un PDA (Asistente Digital Personal) con las de un teléfono móvil. Siguientes modelos añadieron funcionalidades como dispositivos de reproducción de audio y vídeo portátiles, cámaras, navegación GPS, etc. Uniendo todas estas funcionalidades en la forma de un dispositivo multiservicio. Los últimos teléfonos móviles inteligentes también incluyen pantallas táctiles de alta resolución y navegadores web que pueden mostrar páginas web como en un ordenador personal. El acceso a redes de datos de alta velocidad se realiza mediante WiFi y redes de telefonía móvil.

{\large\textbf{SOAP:}} definido originalmente como Protocolo de Acceso a Objetos Simple, es una especificación para el intercambio de información estructurada mediante servicios Web a través de redes de ordenadores. Se basa en XML para generar los mensajes y normalmente requiere de otros protocolos en la capa de aplicación como son HTTP o SMTP para la transmisión de los mensajes en XML. El protocolo XML de SOAP consiste de tres partes: un sobre, que define lo que hay en el mensaje y cómo procesarlo; un conjunto de reglas de codificación y un convenio para representar peticiones y respuestas.

{\large\textbf{SQL:}} Es un lenguaje de programación de propósito especial diseñado para la gestión de datos en bases de datos relacionales. SQL fue uno de los primeros lenguajes comerciales para el modelo relacional de bases de datos de Edgar F. Codd y en la actualidad ha llegado a ser un estándar ANSI.

{\large\textbf{SQLite:}} Es un sistema de gestión de bases de datos relacionales contenido en un pequeño programa escrito en C. En contraste con otros sistemas, SQLite no separa los procesos cliente y servidor si no que la aplicación cliente es parte integral del sistema. Implementa la mayor parte del estándar SQL y actualmente es el sistema de bases de datos más utilizado por multitud de aplicaciones y sistemas empotrados.

\cleardoublepage

{\large\textbf{UML:}} Es un lenguaje de modelado de propósito general estandarizado para la ingeniería de software orientado a objetos. El estándar es gestionado y fue creado por el \emph{Object Management Group} y es el estándar usado en la industria para el modelado de sistemas software. UML incluye un conjunto de técnicas de notación gráfica que permiten crear modelos visuales de sistemas software orientados a objetos. UML se usa para especificar, visualizar, modificar, construir y documentar el código de un sistema software.

{\large\textbf{Vim:}} Es un editor de texto basado en el editor vi el cual está muy extendido en sistemas Unix. Vim ha sido diseñado para poder ser usado tanto desde una interfaz por línea de comandos como desde un interfaz gráfico. El nombre de ``Vim'' es un acrónimo para ``Vi Improved'' o ``Vi Mejorado'' en castellano porque Vim es una versión extendida del editor vi con muchas características adicionales que ayudan en la edición del código fuente. La interfaz no está basada en menús o iconos si no en comandos dados a través de una interfaz de texto. Existen multitud de plugins que facilitan la programación y escritura de código mediante el uso de Vim.

{\large\textbf{WGS:}} Son las siglas de \emph{World Geodetic System}, el cual es un estándar para cartografía, geodesia y navegación. La última revisión es conocida como WGS 84 y esquemas anteriores incluyen WGS 72, WGS 66 y WGS 60. WGS 84 es el sistema de coordenadas usado por el Sistema de Posicionamiento global o GPS.

{\large\textbf{XML:}} Es un lenguaje de marcado que define un conjunto de reglas para la codificación de documentos en un formato que es entendible por humanos y por máquinas. Está definido en la especificación XML 1.0 creada por la W3C. Sus metas de diseño enfatizan en la simplicidad, generalidad y usabilidad a través de Internet. XML es un formato de datos textual con fuerte soporte vía Unicode para cualquier lenguaje del mundo. Aunque el diseño de XML se enfoca en documentos, ha sido ampliamente usado para la representación de estructuras de datos arbitrarias, por ejemplo en servicios web.
