\chapter{Servidores remotos y clientes}\label{Servidores_y_clientes_remotos}

\chapterauthor{Olaya, Víctor; Turton, Ian}

\begin{keypoints}
¿Cómo se puede hacer que la información de un SIG se utilice en una red local o en Internet? $\bullet$ ¿Cómo se puede acceder a esa información?$\bullet$¿Qué entendemos por servicio?$\bullet$¿Cómo aprovechan los SIG las capacidades de la red?$\bullet$¿Por qué la cartografía Web supone una gran revolución en el ámbito SIG?$\bullet$¿Qué tipos de mapas podemos encontrar en red?$\bullet$
\end{keypoints}

\bigskip

\begin{intro}
El avance de las redes locales y de Internet ha permitido que se acceda a la información geográfica contenida en un SIG utilizando el paradigma cliente--servidor. Para ello es necesario contar con componentes en el lado servidor que distribuyan la información y componentes en el lado del cliente para acceder a la información. En este capítulo veremos las características de ambos elementos y como estos responden a las necesidades que el trabajo con datos remotos plantea en el ámbito SIG.
\end{intro}

\section{Introducción}

Del mismo modo que podemos acceder a otros tipos de información a través de Internet o de una red local, también podemos emplear éstas para acceder a información geográfica y trabajar con ella dentro de un SIG. En el contexto actual, no puede dependerse en un SIG únicamente de datos locales en forma de archivos en el mismo ordenador en el que se trabaja, sino que es necesario poder operar con datos remotos. Las redes son la vía para la difusión de todo tipo de información, entre ella la información geográfica.

Los datos espaciales pueden ofrecerse a través de una red de la misma manera que se ofrecen otro tipo de datos como imágenes o texto en una pagina Web. Para que en este proceso se maximicen las posibilidades que esos datos ofrecen, es necesario disponer de tecnologías adaptadas basadas en las tecnologías fundamentales de las redes, pero adaptadas al tipo de datos particular que se maneja y los posibles usos que pueden darse.

Estas tecnologías son variadas y, como cabe esperar, han evolucionado paralelamente a otras basadas en la Web, añadiendo progresivamente elementos tales como una mayor interactividad o flexibilidad Web. Las páginas estáticas que formaban Internet hace unos años, muy limitadas en cuanto a sus posibilidades, han dado paso a lo que hoy se conoce como Web 2.0, donde encontramos \emph{blogs}, \emph{wikis} y otros tipos de páginas Web con capacidades mucho mayores y que permiten al usuario un trabajo muy distinto.

Una evolución similar han seguido las aplicaciones de la Web relacionadas con la información geográfica, habiendo ganado día tras día en riqueza hasta el estado actual donde pueden llegar a ofrecer casi tantas funcionalidades como un SIG de escritorio. Los mapas estáticos que constituían los primeros elementos con componente geográfica en la Web han evolucionado hasta verdaderas aplicaciones que pueden convertir un navegador Web en una plataforma SIG completa. En su avance, las tecnologías Web van tomando elementos que ya conocemos de los SIG de escritorio, con objeto de trasladar toda su potencia al entorno de Internet, y uniéndola así con las capacidades que la red tiene como espacio común de actividad y conocimiento.

Aunque el objetivo final sea trasladar los SIG de escritorio a la red, las tecnologías necesarias distan bastante de las tecnologías SIG en sentido clásico, de la misma forma que, aun trabajando con un tipo de datos similar, un procesador de textos se diferencia mucho de un navegador Web. 

Fundamentalmente, estas tecnologías Web han de responder a dos necesidades principales: servir un elemento a través de la red y tomar éste para emplearlo. Es decir, tomar y recibir el elemento que es objeto de interés. Distinguimos así los conceptos de \emph{servidor} y \emph{cliente}, que debemos ver con algo más detalle antes de continuar.

\section{¿Cómo funciona Internet?}

Estamos acostumbrados a utilizar Internet a través de aplicaciones tales como navegadores Web, y en muchos casos desconocemos cómo se realiza ese proceso tan cotidiano hoy en día. Los fundamentos que residen detrás de la consulta de una simple página Web son esencialmente los mismos que vamos a encontrar para el caso de las tecnologías SIG en la red, por lo que es necesario conocerlos al menos someramente para poder el proceso que tiene lugar cuando empleamos una tecnología SIG en Internet.

Cuando consultamos una página Web existen tres elementos fundamentales que entran en juego: la propia red que hace de nexo entre sus elementos, nuestro ordenador que es el que realiza la petición de consulta, y la máquina donde se encuentra almacenada esa página que queremos consultar.

Conocemos como \emph{servidor} al elemento encargado de \emph{servir} algún tipo de contenido. En el ámbito SIG, se trata fundamentalmente (aunque no con carácter exclusivo) de datos geográficos, que constituyen el principal producto que se distribuye a través de la red dentro de nuestro campo. En el ejemplo anterior, la máquina que contiene la página de interés es el servidor. También se conoce como servidor el programa que, residiendo en esa maquina, interpreta la petición y la procesa, sirviendo así la página.

El cliente es responsable de \emph{pedir} ese dato al servidor, tomarlo y trabajar con él. Nuestro navegador web es el cliente en este caso, ya que es el que realiza la petición. Para ello, basta con introducir la dirección Web\footnote{Técnicamente, una dirección Web como ésta se conoce como URL (Uniform Resource Locater)} correspondiente en la barra de direcciones del navegador. Al hacer esto, proporcionamos una serie de datos que son los que se emplean para realizar el proceso, y que vamos a ver a continuación en detalle.

Supongamos la dirección Web \texttt{http://www.sextantegis.com/libro.htm}, en la cual puedes encontrar información relacionada con este libro e incluso descargarlo. Si visitas esa página estás efectuando una petición a través de esa URL, la cual se compone de las siguientes partes:

\begin{itemize}
	\item \texttt{http:}. El protocolo a usar, que define la forma en que se van a comunicar cliente y servidor. Aunque éste es el más habitual, existen muchos otros tales como \texttt{ftp} o \texttt{mailto}. Puede encontrarse más acerca de estos protocolos en \cite{protocolosWeb}.
	\item \texttt{www.sextantegis.com}. Esta cadena identifica la máquina donde reside la página que buscamos. Es en realidad una versión más legible para el ojo humano de un código numérico que indica la dirección concreta. El navegador lo convierte en realidad en un algo como 128.118.54.228.
	\item \texttt{libro.htm}. La página que buscamos dentro de todas las que hay en esa máquina. Se expresa como una ruta a partir del directorio raíz del servidor, que no es necesariamente el directorio raíz de la maquina servidora.
\end{itemize}

El proceso mediante el que podemos ver esa página en un navegador Web comprende los cuatro pasos siguientes:

\begin{enumerate}
	\item El servidor realiza la petición.
	\item La petición se conduce a través de la red hasta el servidor
	\item El servidor busca la página y la devuelve a través de la red en caso de encontrarla, o devuelve una pagina de error en caso de no tenerla.
	\item El servidor recibe la página y la representa.
\end{enumerate}


La figura \ref{Fig:Asi_funciona_internet} muestra un esquema de este proceso.

\begin{figure}[!hbt]   
\centering
\includegraphics[width=.95\columnwidth]{Servidores_y_clientes_remotos/Asi_funciona_internet.pdf}
\caption{\small Esquema del proceso de consulta de una página web desde un navegador.}
\label{Fig:Asi_funciona_internet} 
\end{figure}

\section{El valor de las tecnologías SIG Web}

Antes de abordar la parte más técnica de las tecnologías Web SIG, veamos el significado de éstas y la función que cumplen. Entederemos en este contexto como tecnologías web SIG a todos aquellos elementos que permiten la representación de cartografía como un contenido más de una página Web. Esto es lo que se engloba bajo la denominación genérica de \emph{Web Mapping}.

Aunque este capítulo está dedicado a las tecnologías Web dentro del ámbito SIG, y éstas incluyen tanto servidores como clientes, las formas en las que se presentan los elementos de \extr{Web Mapping} dependen fundamentalmente del cliente, el cual es en general un simple navegador. 

Como vimos en el capítulo dedicado a los SIG de escritorio, éstos pueden acceder a datos remotos, y para ello necesitan realizar una petición a un servidor siguiendo el esquema que hemos visto en el apartado anterior. Una vez que los datos están en el SIG (es decir, el servidor ha devuelto a éste los datos que había pedido), podemos operar con ellos usando las herramientas que ya conocemos.

En un entorno Web \emph{sensu stricto} tal como el de un navegador, las posibilidades son, no obstante, distintas, pues se trata de combinar los elementos cartográficos con los restantes elementos que forman parte habitual de una página Web. Las tecnologías Web de corte SIG se han desarrollado principalmente para su trabajo en la Web, es decir, como una alternativa a los SIG de escritorio o para alcanzar áreas nuevas en el trabajo con información geográfica digital. Su incorporación en los SIG de escritorio aumenta las capacidades de éstos, pero la principal potencia de estas tecnologías surge cuando se unen a otras funcionalidades de tipo Web.

En resumen, el objetivo básico que pretenden cumplir las tecnologías que vamos a ver, especialmente las del lado del cliente, es llevar las funcionalidades de un SIG a la Web, para así compartir la potencia de ambos componentes.  Las ventajas de llevar el SIG a la Web en lugar de incorporar los elementos de está ultima en un SIG de escritorio tradicional son notables, y existen grandes diferencias entre las soluciones que se obtienen en ambos casos. Estas diferencias tienen que ver sobre todo con los usuarios y su perfil, así como con el diseño mismo de las aplicaciones. 

Mientras que un SIG de escritorio se orienta principalmente a usuarios más especializados, poder dotar a un sencillo navegador Web de capacidades de visualización o edición de información geográfica hace que éstos lleguen a un público distinto y abre nuevas posibilidades. Los usuarios avanzados encuentran igualmente utilidad en el \extr{Web Mapping}, que se complementa en muchos terrenos con los SIG de escritorio. Por su parte, los usuario no especializados, desconocedores de otras tecnologías SIG, pueden incorporarse al ámbito SIG a través de las tecnologías Web.

Algunas de las ideas fundamentales que caracterizan a las tecnologías de \extr{Web Mapping} y su papel actual son las siguientes:

\begin{itemize}
	\item No es necesario un software SIG específico. Al menos, no es necesario desde el punto de vista del usuario, que no ha de instalar nada adicional en su ordenador. Acceder a cartografía remota e incluso a funcionalidades avanzadas basadas en esos datos no requieren mas que un simple navegador Web, algo presente en cualquier ordenador hoy en día. La barrera que puede suponer el trabajar con una aplicación específica se diluye cuando incorporamos las capacidades de ésta en algo tan habitual como un navegador.
	\item Perfil menos técnico. No sólo las aplicaciones están pensadas para su utilización por parte de usuarios no especializados, sino que la incorporación de éstos al ámbito SIG hace que la cartografía deje de ser un elemento propio de esos usuarios más técnicos. Poniendo al alcance de todos las capacidades de edición y creación de cartografía hace que cualquiera pueda generar su propia información geográfica no especializada y además ponerla a disposición de otros usuarios.
	\item Potenciamiento del trabajo colaborativo. La red es un un punto de encuentro que favorece de forma natural la colaboración. Proyectos como la Wikipedia, posibles gracias a esta capacidad de  Internet para facilitar el trabajo común de múltiples personas, tiene sus equivalentes en el ámbito de la información geográfica. Los SIG dejan de ser algo personal reducido al ámbito de un ordenador o una pequeña red, para ser algo global en una red de muchos SIG interconectados. Y más importante que esto, los datos también se hacen globales, pudiendo ser empleados e incluso editados por todos.
	\item Información más actualizada, incluso en tiempo real. La Web es el canal ideal para transmitir la información de forma inmediata y flexible. A las ventajas de los datos digitales sobre los analógicos en este sentido, que ya vimos en el capítulo \ref{Introduccion_datos}, hay que sumar que la sencillez de acceso que aporta una interfaz Web hace todavía más accesible la información geográfica más reciente.
	\item Independencia del sistema. Un mapa Web puede verse y usarse del mismo modo en cualquier ordenador, con independencia del sistema operativo, el navegador e incluso el dispositivo empleado (PC, PDA, etc.). Si este mapa se basa en estándares abiertos, la solución es todavía más interoperable, como veremos en el capítulo \ref{Servicios}.
	\item Personalización de aplicaciones. Una de las tendencias más importante en el ámbito del \extr{Web Mapping} es la creación de aplicaciones que personalizan una base común para un determinado uso. Sobre una base compuesta por una juego de datos genéricos (generalmente imágenes de satélite y mapas de carreteras) y una aplicación SIG, se crean pequeñas aplicaciones de forma sencilla, a las cuales se pueden añadir de modo también simple nuevos datos. Estas aplicaciones se conocen como \extr{mashups}, y una vez creadas puede incorporarse a una pagina Web distinta. Dedicaremos una sección completa de este capítulo a desarrollarlas en detalle.
	
	Mediante uno de tales \extr{mashups}, un usuario puede crear, sin excesivos conocimientos sobre SIG, una aplicación particular que ponga sobre ese juego de datos general los emplazamientos de, por ejemplo, todos aquellos que visitan su página Web. Las posibilidades en este sentido son prácticamente infinitas, y proliferan de forma exponencial en Internet.
	\item Combinación de cartografía y otros elementos. Si llevamos las capacidades SIG a un navegador, además de éstas dispondremos en ese navegador de muchas otras posibilidades, tales como la representación de elementos multimedia (vídeos, sonido, etc.) o el uso de hiperenlaces. El navegador es hoy en día la aplicación versátil por excelencia, y ello hace que podamos añadir a las capacidades SIG una larga serie de otras funcionalidades no relacionadas directamente con la información geográfica, y no presentes en su mayoría en los SIG de escritorio.
\end{itemize}

La importancia de las tecnologías Web se debe, por tanto, principalmente a un razón social y no a una tecnológica, aunque es innegable que las tecnologías novedosas que se desarrollan en este campo aportan al ámbito SIG posibilidades antes desconocidas. Estas nuevas posibilidades enriquecen notablemente los SIG de escritorio si estos implementan las capacidades de acceso a datos, ampliando el alcance de ese tipo de aplicaciones. Cuando se implementan, sin embargo, en un entorno puramente Web tal como en el seno de un navegador y se crea una página Web con elementos SIG, se consigue ampliar el abanico de usuarios potenciales y así también crecen las posibilidades y las formas en que el propio SIG puede presentarse.


\section{Formas de cartografía en la Web}

Las formas en las que pueden presentarse las tecnologías SIG dentro de un entorno Web varían en cuanto a su similitud con los SIG de escritorio, incorporando más o menos elementos de los que son habituales en este tipo de aplicaciones. Como parece lógico pensar, ha existido una evolución progresiva, de tal modo que en la actualidad existen más elementos propios de los SIG de escritorio dentro de las tecnologías Web SIG, y la cartografía Web hoy en día permite realizar un trabajo más similar al que se desarrolla en un SIG clásico.

Una primera y sencilla clasificación de los tipos de cartografía Web es la que divide ésta en mapas \emph{estáticos} y \emph{dinámicos}\cite{Kraak2001Francis}. 


Un mapa estático es simplemente una imagen con información cartográfica, la cual no permite ningún tipo adicional de trabajo con ella que no sea la mera observación. En este sentido, se asemeja a un mapa clásico, donde el usuario no puede interactuar directamente con el contenido del mapa. A efectos de trabajo real, las posibilidades son aún menores ya que acciones tales como mediciones tampoco pueden realizarse, ni siquiera con medios mecánicos como el caso de un mapa en papel. Junto a esto, la resolución de una pantalla común es mucho menor que la que presenta un mapa impreso, con lo que la calidad del mapa no es comparable.

Este tipo de mapas, por tanto, no responden a las funcionalidades que un SIG ha de tener para poder prestar utilidad en el manejo y uso de información geográfica, y difieren notablemente de un SIG de escritorio, incluso en la versión más básica y primitiva de éstos últimos.

Incorporar este tipo de mapas en una página Web no requiere ninguna tecnología particular, y puede llevarse a cabo con elementos genéricos tanto del lado del cliente como del servidor, pues el dato realmente no es un dato geográfico como tal, sino una mera imagen (y esa imagen no va acompañada de información tal y como su sistema de referencia), algo para lo cual cualquier servidor o cliente actual ofrece soporte.

Un mapa dinámico es aquel que no se compone de una imagen inmóvil, sino que ésta varía y se adapta en función de los requerimientos del usuario o según alguna serie de parámetros prefijados. Según esto, los mapas dinámicos pueden ser interactivos o no, dependiendo de si es el usuario quien directamente modifica la representación del mapa.

Como ejemplo de mapa dinámico no interactivo podemos citar mapas animados que encuadran una determinada zona y muestran la variación de una variable a lo largo del tiempo. Mapas de variables climatológicas o una serie animada de mapas que reflejan el avance de un incendio son ejemplos habituales de este grupo.

Tampoco en este tipo de mapas aparecen las funciones esperables en una aplicación SIG, y una vez más no se requieren tecnologías específicas para poder incorporar este tipo de elementos en una página Web.

La interactividad es la que aporta las posibilidades necesarias para comenzar a incorporar funciones SIG a la cartografía Web, y sin ella no podemos hablar en realidad de tecnologías SIG puramente dichas.

La forma de interactividad más básica que se implementa en una página Web en el trabajo con cartografía es la que permite la modificación de forma en que los datos geográficos se visualizan. Las herramientas que permiten modificar la escala de visualización (acercarse o alejarse) y desplazar el mapa, las cuales ya nombramos como capacidades básicas en los SIG de escritorio, aportan a la cartografía Web muchas posibilidades nuevas. Entre ellas, es de destacar que mediante estas herramientas la extensión de los datos no se encuentra limitada por la propia extensión de la pantalla o la dimensión del navegador. 

Si se trabaja con imágenes estáticas, trabajar con datos que cubran toda la extensión del globo implica hacerlo a una escala de muy poco detalle, pues ha de representarse toda la imagen de forma simultanea. Permitiendo que el usuario elija la escala de representación y ajuste la extensión con la que se desea trabajar, un navegador Web se convierte en una ventana hacia datos que pueden tener cualquier extensión y volumen, y hacia el trabajo con ellos de forma dinámica e interactiva.

Esto es de especial importancia si pensamos que las máquinas que se encuentran al otro lado (en el servidor) son ordenadores potentes con gran capacidad, que pueden almacenar enormes juegos de datos. Un juego de datos con imágenes de todo el mundo a gran resolución ocupa un tamaño que probablemente lo haga inutilizable en un ordenador personal (además de que ese juego probablemente quede fuera del alcance del usuario de ese ordenador en lo que a su adquisición respecta), pero puede perfectamente ser servido desde un potente servidor, sirviendo en cada caso la <<porción>> de él que cada usuario requiere según utiliza el cliente correspondiente. En esto se basan gran parte de servicios y de aplicaciones desarrolladas sobre ellos, como veremos más adelante.

De especial importancia para el desarrollo de estas capacidades ha sido la popularización y mejora de las tecnologias que permiten el desarrollo de las denominadas \emph{Aplicaciones Ricas de Internet} (RIA)\footnote{Rich Internet Applications}. Este tipo de aplicaciones llevan a la Web algunos elementos de las tecnologías de escritorio, y en general permiten optimizar el volumen de datos necesarios para operar con la aplicación dentro del entorno del navegador.

Si no se emplean estas tecnologías, un cambio mínimo en la configuración de la pagina por parte del usuario (por ejemplo, modificar el encuadre del mapa en una aplicacion SIG), requiere la recarga total de la página, de la misma forma que sucede cuando hacemos clic en un hiperenlace. En realidad, estamos pasando a una página Web distinta. 

En un entorno RIA, sin embargo, se cargan al inicio (en el primer acceso a la página) los elementos que constituyen la aplicación en sí, y posteriormente se transmiten únicamente los datos que vayan siendo necesarios a medida que el usuario opere con la aplicación. Esto mejora notablemente la sensación del usuario, ya que este nunca tiene ante sí una pantalla sin contenido mientras se carga la página, ya que esta ya no ha de cargarse de nuevo, y la carga de datos puede ademas realizarse de mientras el propio usuario opera.

AJAX \footnote{Asynchronous JavaScript And XML} \cite{garrett2005ajax} es una técnica de desarrollo muy popular en este sentido, y de la que los SIG Web hacen uso habitualmente. La figura \ref{Fig:AJAX} muestra una comparación entre el esquema de una aplicacion Web tradicional y una basada en AJAX. 

\begin{figure}[!hbt]   
\centering
\includegraphics[width=.85\columnwidth]{Servidores_y_clientes_remotos/ajax.png}
\caption{\small comparación entre el esquema de una aplicacion Web tradicional y una basada en AJAX.(adaptado de \cite{garrett2005ajax}.}
\label{Fig:AJAX} 
\end{figure}

Profundizar más en estos aspectos es, no obstante, demasiado técnico para el enfoque de este libro, no siendo necesario además para la comprensión de las tecnologías Web desde el punto de vista del usuario.

Además de modificar la zona representada, un usuario debe poder modificar la forma en que los datos dentro de esa zona se muestran. Es decir, debe poder cambiar el estilo de los elementos representados, variando colores o formas de la misma forma que esto puede hacerse en un SIG de escritorio. Asimismo, muchas aplicaciones web permiten la consulta de varias capas de datos, incluso de datos provenientes de varios servidores distintos, datos que no necesariamente han de mostrarse todos simultáneamente. Igual que en un SIG de escritorio seleccionamos unas u otras capas para su visualización y podemos alterar el orden de representación de éstas, también podemos realizar estas operaciones en una aplicación SIG Web.

Esto hace que una aplicación SIG dentro de un navegador se convierta en una herramienta completa para el acceso a uno o varios juegos de datos remotos cuyo contenido es abundante (no sólo en extensión sino también en tipo de datos suministrados), ya que permite una gran configurabilidad y deja en manos del cliente (esto es, del usuario), la forma de tomar esos datos y mostrarlos.

Las capacidades de edición también tiene lugar en los SIG Web, ampliando las posibilidades que la interactividad más básica ofrece. Un usuario puede añadir su propia información a un SIG Web o bien modificar una capa existente empleando su navegador. Las tecnologías SIG siguen en este sentido a las tecnologías Web más generales, adoptando los conceptos de la Web 2.0 y ampliando las posibilidades de los usuarios de colaborar directamente en los contenidos de la red. Por ejemplo, \emph{Wikimapia} \cite{webWikimapia} es un sitio equivalente a la bien conocida Wikipedia, en el cual los usuarios pueden añadir sus propias descripciones de elementos geográficos que ellos mismos definen.

A estas mismas tecnologías se les puede dar usos más restringidos sin que necesariamente sea dentro de un proyecto colaborativa abierto. Por ejemplo, una administración local puede dar acceso a los propietarios de suelo para que puedan consultar su catastro, mediante un sistema de autenticación conveniente, incluso editar información de sus parcelas. Está información puede ser de tipo no espacial (es decir, los límites de las parcelas serían fijos), ya que las capacidades de edición no han de limitarse a la componente espacial.

Por último, y aunque en la actualidad son pocos los servicios de este tipo que existen, y no pueden compararse las prestaciones con las que ofrecen los SIG de escritorio, la cartografía Web puede ofrecer herramientas de análisis. Además de representar un conjunto de datos geográficos y permitir al usuario navegar en ellos e incluso editarlos, pueden extraerse resultados a partir de esos datos. 

Un tipo de aplicación bastante extendida de este tipo es el cálculo de rutas óptimas. A partir de una capa con vías de comunicación un usuario establece un punto de salida y otro de destino y la aplicación Web calcula la ruta que optimiza el tiempo empleado o la distancia total recorrida, según lo explicado en el capítulo \ref{Costes}. \cite{webGuiaCampsa} es un ejemplo de este tipo de aplicaciones en el cual la interfaz no es la de un SIG de escritorio habitual, sino que se introducen los lugares de origen y destino tecleando sus nombre y después la ruta calculada se muestra sobre un mapa y también como un conjunto de indicaciones a seguir. Es decir, que sobre una base de cálculo SIG se crea una aplicación más completa que la que es habitual encontrar en un SIG, aprovechando la mayor riqueza de elementos que pueden utilizarse dentro de un navegador Web.

La figura \ref{Fig:Tipos_Cartografia_Web} muestra un esquema de la evolución de la cartografía Web a través de los tipos anteriormente descritos.

\begin{figure*}[!hbt]   
\centering
%\includegraphics[width=.85\textwidth]{Servidores_y_clientes_remotos/Tipos_cartografia_web.pdf}
\caption{\small Evolución de los tipos de cartografía en la Web.}
\label{Fig:Tipos_Cartografia_Web} 
\end{figure*}

\subsection{Geoportales}

**********

\subsection{ \extr{Mashups}}

Se conoce como \emph{mashup} o \emph{aplicación web híbrida} a una aplicación que basa sus contenidos en los de otras páginas web, integrándolos y creando una nueva página que ofrece un servicio distinto. Un mashup accede a los servicios que otras páginas proporcionan de forma pública dando un uso distinto a éstos en un nuevo contexto.

Por lo general, la creación de un nuevo mashup resulta sencilla, mucho más que lo que sería el desarrollo desde cero de esa misma aplicación. Los \emph{mashups} suponen

Los mashups existen en todos los ámbitos de las aplicaciones Web, pero es en el ámbito SIG donde han adquirido una mayor importancia y en el que proliferan en mayor medida. Es por esto que resulta de interés tratarlos con algo más de profundidad, pues el impacto que están teniendo en la popularización de las tecnologías SIG es muy elevado.

Dos son las razones princiaples por las que los \emph{mashups} con componente SIG son tan populares:

\begin{itemize}
 \item La mayoría de la información que encontramos en la Web puede georreferenciarse
\end{itemize}


*************

\section{Clientes y servidores}

Ahora que conocemos algunas ideas generales sobre cartografia Web, veamos algo más en detalle los elementos tecnológicos que hacen posible su funcionamiento: los servidores y los clientes. Veremos en este apartado las funcionalidades que presentan y algo más de los fundamentos tecnológicos en los que se basan, que se apoyan sobre las ideas básicas de funcionamiento de Internet que ya vimos anteriormente.

\section{Clientes}

\section{Servidores}



********

\section{Limitaciones y problemas de la cartografía Web}

Trasladar las ideas de los SIG de escritorio a la Web no es sencillo, por cuanto el entorno en el que nos movemos es muy distinto en uno y otro caso. La Web tiene sus propias limitaciones e inconvenientes, que en muchos casos no existen en el caso de una aplicación de escritorio, y este hecho presenta dificultades complejas de salvar, obligando a desarrollar soluciones alternativas.

Una limitación básica es la impuesta por el propio navegador como marco de trabajo. Las propias ventajas que éste aporta son también responsables de ciertas limitaciones, ya que en el desarrollo de una aplicación SIG Web no se tiene las misma libertad que al desarrollar una aplicación de escritorio. Este no es un problema exclusivo del \emph{Web Mapping}, sino en general de todas las aplicaciones Web. En \cite{***} puede encontrarse información genérica sobre este tipo de cuestiones.

A lo anterior debemos sumar el hecho de que las tecnologías Web en general son recientes y en cierto modo inmaduras, y aunque se emplea gran cantidad de medios y esfuerzo en el ámbito Web debido a su vital importancia en la actualidad, una buena parte de los elementos tecnológicos sobre los que se fundamenta el \emph{Web Mapping} actual no están todavía completamente desarrollados y necesitan aún evolucionar.

El aspecto más problemático es, no obstante, la propia red, especialmente en lo que respecta a su fiabilidad y rendimiento. Todos los datos que el cliente emplea en una aplicación de cartografía Web provienen de red, y por tanto existe una fuerte dependencia entre la aplicación y el funcionamiento tanto de la red como del servidor que a través de ella nos proporciona esos datos.

Si abrimos un archivo con datos espaciales en nuestro ordenador desde un SIG de escritorio, podemos casi garantizar que esa misma operación funcionará de igual modo si la repetimos en otro momento. Tener esa misma seguridad cuando se trabaja con datos remotos no es tan sencillo, ya que la red puede no funcionar o el servidor puede estar recibiendo en este momento gran cantidad de peticiones de otros clientes y no ser capaz de gestionarlas eficientemente y ofrecernos al instante respuesta a nuestra petición. En definitiva, las mismas circunstancias que afectan a todas las aplicaciones Web y que son conocidas por todos.

El rendimiento de la red es más importante aún si cabe en el caso de trabajar con información geográfica, ya que los datos suelen ser voluminosos. Visualizar un mapa y que éste pueda desplazarse y modificarse de forma igual de fluida que al trabajar con una aplicación de escritorio requiere por un lado un ancho de banda suficiente para transmitir la gran cantidad de datos necesarios, y por otro la implementación de algunas técnicas particulares que facilitan este proceso. Por su importancia, veremos en detalle las técnicas de \emph{tiling} (división horizontal de los datos geográficos en teselas) y \emph{cacheo} (almacenamiento temporal de datos en la maquina del cliente), utilizadas habitualmente en la actualidad.

\subsection{\emph{Tiling} y \emph{cacheo}}

Dos técnicas básicas que se emplean actualmente en los clientes Web que manejan información geográfica son el \emph{tiling} y el \emph{cacheo}. Estas técnicas permiten que la experiencia de trabajar con información geográfica dentro de una aplicación SIG Web sea más agradable, logrando una mayor fluidez y superando en cierta medida las limitaciones de la Red. Aunque es cierto que cada vez disfrutamos de mayores anchos de banda y velocidades de transmisión más altas, también aumentan de igual modo los volúmenes de datos manejados, con lo que las dificultades siguen existiendo de manera similar.

Ambas técnicas se utilizan en servicios en los que el servidor provee imágenes, ya que es en éstos en los que resultan aplicables, y también donde es más necesario recurrir a este tipo de técnicas.

El \emph{tiling} es una técnica consistente en dividir las imágenes con las que se trabaja en imágenes menores que formen un mosaico. Esto permite un trabajo mas rápido, al utilizar unidades mínimas de menor tamaño y poder reducir la necesidad de transmitir datos a través de la red si se realiza una gestión correcta del conjunto de elementos de ese mosaico.

Esta división es similar en forma a la propia que se da en los datos originales, ya que, como sabemos, éstos también se encuentran divididos horizontalmente. No obstante, se trata de una estrategia propia del sistema cliente--servidor, que divide las propias imágenes que luego se representarán en este último, de forma que la en lugar de transmitir una única imagen se transmiten varias de menor tamaño y la información correspondiente a la posición relativa de éstas.

El \emph{cacheo}, por su parte, es una técnica no exclusiva del ámbito SIG, sino de la Web en general, y consiste en almacenar de forma temporal los datos obtenidos de un servidor en la máquina local. De este modo, si volviera a resultar necesario acceder a esos datos, no han de pedirse al servidor, sino que pueden recuperarse de la copia local, con las ventajas que ello tiene en cuando a la velocidad de acceso y la fiabilidad del proceso.

El uso conjunto de \emph{tiling} y \emph{cacheo} puede disminuir sensiblemente el volumen de datos a transmitir para, por ejemplo, modificar el encuadre de un mapa en una aplicación SIG Web. La figura \ref{Fig:Tiling} muestra un ejemplo sencillo que servirá para comprender el ahorro de datos que puede conseguirse con el uso conjunto de estas técnicas.

\begin{figure*}[!hbt]   
\centering
%\includegraphics[width=.85\textwidth]{Servidores_y_clientes_remotos/Tiling.pdf}
\caption{\small Esquema del uso de \emph{tiling} y \emph{cacheo} para optimizar la transmisión de datos en una aplicación SIG Web}
\label{Fig:Tiling} 
\end{figure*}

En la parte izquierda de la figura está representado un esquema del dato al que se accede, dividido en nueve unidades. Ello no quiere decir que el dato tenga ese número de divisiones o que existan nueve ficheros. Puede tratarse de un único fichero, o de un número muy elevado de ellos. Las divisiones se realizan a efectos de crear el mosaico de imágenes a la hora de transmitir éstas.

Inicialmente, en el caso a), la aplicación Web encuadra la región superior, que cubre los primeros seis elementos. Si el usuario desplaza el encuadre para que cubra la parte inferior, como en el caso b), el cliente realizará una nueva petición y obtendrá una nueva imagen, que tendrá exactamente el tamaño con que esa imagen va a representarse. Éste es exactamente el mismo tamaño que la imagen que encontramos inicialmente en el encuadre original, y por tanto la representación de este encuadre original y posteriormente el encuadre modificado requiere transmitir dos imágenes de cubren cada una de ellas seis elementos.

Si, por el contrario, aplicamos conjuntamente las técnicas anteriores de \temph{tiling} y \emph{cacheo}, al variar el encuadre no es necesario obtener del servidor una imagen que cubra todo el área a representar, sino tan solo los tres elementos superiores, ya que los tres restantes ya habrán sido obtenidos con anterioridad y se encontrarán almacenados (\emph{cacheados}) en nuestro ordenador. Es decir, el cliente crea la imagen a representar con tres subimagenes pedidas al servidor y otras tres ya descargadas previamente, reduciendo a la mitad el volumen de datos pedidos al servidor.

Cuando este esquema de funcionamiento se combina con tecnologías como AJAX, citada anteriormente, y que añade a su vez mayor fluidez y una mejor respuesta de la aplicación Web, el resultado es una aplicación SIG altamente funcional y cuyo comportamiento se asemeja en cuanto a rendimiento al de un SIG de escritorio trabajando con datos locales.

Este tipo de técnicas no son exclusivas de los SIG en Internet, sino que también se aplican por igual al caso de SIG de escritorio cuando éstos actúan como clientes y acceden a datos remotos. Particularmente, son de especial relevancia en el caso de los globos tridimensionales, en los cuales estas mismas técnicas se aplican no sólo para las imágenes a visualizar, sino también para los datos de elevación empleados para dar forma al relieve.


\section{Resumen}

******

\bibliographystyle{unsrt}
\bibliography{../../Libro_SIG}
