Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2000 n146
Bases de Datos
Resumen: en este proyecto pretendemos ejemplificar el uso este mundo de la informtica-- o se trata realmente de un
de la reciente tecnologa de agentes mviles para el acceso nuevo y til modelo de procesamiento distribuido?
a bases de datos distribuidas a travs de Internet. Para
llevar a cabo este objetivo hemos tomado como dominio de A menudo se habla de agente software para referirse a ms
aplicacin el de los Sistemas de Informacin Geogrfica cosas que simplemente los agentes mviles. En este sentido,
(SIG), y se ha desarrollado una aplicacin que recupera puede hablarse tambin de agentes inteligentes y represen-
informacin de bases de datos relacionales que soportan la tantes.
especificacin OpenGIS [1].
En el primer caso, los agentes son piezas de software a las que
Para la implementacin se ha utilizado el sistema de se ha dotado con algn grado de inteligencia artificial. En el
agentes mviles Aglets [2], basado en Java, que ha sido segundo, pueden actuar como representantes para la realizacin
desarrollado por IBM Japn. La aplicacin se ha progra- de determinadas tareas sin nuestra presencia. Dependiendo de
mado enteramente en Java y el acceso a las bases de datos las instrucciones que les hayamos dado, podran incluso tomar
remotas se consigue mediante la tecnologa JDBC que decisiones por cuenta propia en nuestro nombre, como realizar
proporciona el propio lenguaje. compras, reservar billetes, etctera.
Palabras clave: Agentes mviles, aglets, Java, JDBC, SQL, Estos dos trminos pueden combinarse entre s y con el de
Sistemas de Informacin Geogrfica, SIG, OpenGIS, obje- mviles, de manera que un agente puede ser inteligente pero
tos distribuidos. no mvil, o ser ambas cosas a la vez, o ser tambin represen-
tante... y as sucesivamente.
1. Introduccin
Ahora bien, qu entendemos realmente por agente mvil? De
Con el advenimiento de la era Internet y la globalizacin una manera sencilla podemos definir agente mvil como [4]:
econmica cada vez son ms las empresas que experimentan un programa capaz de detener su ejecucin, viajar a travs de
la necesidad de compartir recursos geogrficamente muy una red (manteniendo intactos tanto el cdigo como los datos)
distantes unos de otros. De estos recursos, la informacin y reanudar la ejecucin en un ordenador remoto.
almacenada en bases de datos empresariales ocupa un lugar
esencial [3]. La red Internet ofrece la infraestructura ade- 2.1. Por qu usar agentes mviles?
cuada para conectar estos recursos a travs de una amalgama
de mquinas, sistemas operativos y redes de ordenadores de La tecnologa de agentes mviles soluciona (o pretende
diferentes tipos. solucionar) diversos problemas en diversos frentes. Por un
lado, proporciona una solucin al derroche de ancho de
En este contexto, la saturacin del ancho de banda de la red banda que se produce en la red en una arquitectura cliente/
se convierte en el problema clave a solucionar y aqu es servidor. Este ancho de banda en una aplicacin distribuida
donde aparece la tecnologa de agentes mviles, al permitir es un bien escaso y, por tanto, valioso. Una transaccin o
interactuar localmente con esas bases de datos remotas. consulta realizada entre un cliente y el servidor puede
requerir bastantes viajes por la red para completarse, cada
Este artculo ilustra un posible uso de la tecnologa para el uno de los cuales provoca un cierto trfico de datos y
acceso a bases de datos geoespaciales, segn propone el consume ancho de banda. En un sistema en el que tengamos
OpenGIS Consortium, pero en la prctica permite conectar- muchos clientes o mucho volumen de transacciones (o
se y recuperar informacin de cualquier base de datos ambas cosas a la vez) posiblemente se sobrepase el ancho de
relacional, gracias a las facilidades ofrecidas por la tecnolo- banda disponible, lo que se traducir en una disminucin del
ga JDBC de Java y el diseo abierto que se ha seguido en rendimiento de la aplicacin completa. Aplicando a este
el desarrollo del proyecto. problema la tecnologa de agentes mviles podramos crear
un agente que, dada la consulta o transaccin a realizar, se
2. Agentes mviles trasladase desde el cliente al servidor, completase en l la
operacin y regresase con los resultados de la misma,
Pero, en qu consiste la tecnologa de agentes mviles? Es necesitando de esta manera slo dos viajes por la red al
simplemente la nueva palabra de moda de la que pronto eliminar todo el trfico intermedio de datos y resultados. En
empezar a hablar todo el mundo --sin saber bien a qu se la figura 1 podemos ver grficamente este ahorro de ancho
est haciendo referencia, como tantas veces ha sucedido en de banda.
NOVATICA jul./ago. 2000 n146 Edicin digital / ATI 2000 49
Desgraciadamente, una vez que el sistema ha sido construi- La figura 2 representa la ventana desde la que el usuario
do suele ser difcil, si no imposible, cambiar el diseo para puede especificar los parmetros necesarios para que el
solucionar estos problemas. Sin embargo, las arquitecturas aglet se pueda conectar mediante JDBC a la base de datos
basadas en agentes mviles son potencialmente mucho remota. Esto permite sustituir las bases de datos de los
menos sensibles a este problema. En tiempo de diseo son servidores remotos sin ms que modificar aqu los parmetros
necesarias menos decisiones y, sobre todo, el sistema es necesarios. Asimismo, otro concepto fundamental en los
mucho ms fcil de modificar despus de construido. agentes mviles es el de itinerario. As, nuestro agente no
tiene por qu limitarse a consultar una sola base de datos,
Las arquitecturas de agentes tambin resuelven los proble- sino que se le puede indicar que recorra tantos servidores
mas creados por conexiones de red intermitentes o poco remotos como sea preciso, realizando la consulta en todos
fiables. En la mayora de las aplicaciones de red de hoy da ellos (tambin podramos indicarle, por ejemplo, que con-
es necesario que la conexin est activa todo el tiempo que sultase primero los metadatos disponibles para ejecutar en
dura la transaccin o consulta. Si esta conexin deja de funcin de ellos consultas diferentes en cada uno).
funcionar, el cliente a menudo vuelve a comenzar la transac- 3.2. Ejemplo de consulta SQL interactiva
50 Edicin digital / ATI 2000 NOVATICA jul./ago. 2000 n146
Figura 3. Ejemplo de consulta SQL interactiva tilidad del sistema, se muestra (figura 3) la ventana desde la
que se puede introducir una sentencia SQL interactiva, junto
Una vez que se han seleccionado los servidores remotos a los con los resultados de la misma en la parte inferior.
que viajar el aglet y los parmetros de conexin a la base
de datos, el usuario est en condiciones de ejecutar cualquie- 3.3. Arquitectura del sistema
ra de las consultas disponibles. Como ejemplo de la versa-
Un patrn de diseo usual en las escasas aplicaciones que
hacen uso de la tecnologa de agentes mviles hoy da con-
siste en emplear un aglet estacionario en la propia mquina
cliente, es decir, un aglet que no puede ser despachado a
otros servidores y cuya misin es la de proporcionar una
interfaz de comunicacin entre la aplicacin cliente y otros
aglets creados por ste (a los que llamaremos por este motivo
aglets hijo --y padre al estacionario). Estos aglets hijo son
los que s se despachan al host o hosts remotos especificados
a realizar la labor para la que hayan sido programados. Esta
arquitectura ha sido la que hemos empleado en nuestro
proyecto, la cual se muestra grficamente en la figura 4.
Este diseo puede observarse tambin en el esbozo del
diagrama de clases principales utilizadas en la ejecucin de
una consulta (figura 5).
4. Conclusiones
En este artculo hemos querido ofrecer una somera introduc-
cin a lo que son los agentes mviles, as como a uno de sus
posibles y ms claros usos: la consulta de bases de datos
remotas con un impacto mnimo en la carga de la red, al
eliminar todo el trfico de resultados intermedios que se
produce con las arquitecturas tradicionales de objetos distri-
buidos.
Figura 4
NOVATICA jul./ago. 2000 n146 Edicin digital / ATI 2000 51
Figura 5. Esbozo del diagrama de clases principales que intervienen en una consulta
Para ello se presenta una aplicacin real que hace uso de [4] Bill Venners; Solve real problems with aglets, a type of mobile agent.
dicha tecnologa [6]. En el desarrollo de esta aplicacin Javaworld, mayo 1997. www.javaworld.com
[5] Jess Arturo Prez Daz, Juan Manuel Cueva Lovelle y Benjamn
creemos conseguir un patrn de diseo para futuras aplica-
Lpez Prez; Different plataforms for mobile agents development. Is Java
ciones que requieran esta misma funcionalidad, esto es, la the dominant trend?, International Workshop on Intelligent Agents on the
recuperacin de informacin de bases de datos distribuidas. Internet and Web, World Congress on Expert Systems. Mexico City,
Este diseo ha sido facilitado gracias a la eleccin de Java Mexico, marzo 1998.
como lenguaje de programacin, que nos permite una fcil [6] Csar F. Acebal; Agentes mviles aplicados a los Sistemas de Informa-
cin Geogrfica. Proyecto Fin de Carrera, E.U. Ingeniera Tcnica en
conexin a dichas bases de datos desde el propio lenguaje
Informtica de Oviedo (Universidad de Oviedo), septiembre de 1998.
gracias a la tecnologa JDBC.