Está en la página 1de 4

48 Edicin digital / ATI 2000 SECCIONES TCNICAS NOVATICA jul./ago.

2000 n146

Bases de Datos

Csar F. Acebal, Juan M. Cueva Lovelle Acceso a bases de datos


Universidad de Oviedo
distribuidas mediante el
<uov01490@correo.uniovi.es>
<cueva@pinon.ccu.uniovi.es>
uso de agentes mviles

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

Figura 2. Configuracin de la conexin a la base de datos

cin o consulta desde el principio, si es que es capaz de


reiniciarla. Por el contrario, la tecnologa de agentes mvi-
les permite a un cliente despachar un agente hasta su destino
cuando existe la conexin de red y luego desconectarse. El
agente realizar la consulta o transaccin por s mismo y
devolver los resultados al cliente cuando restablezca la
conexin.

2.2. Aglets: un sistema de agentes mviles

El proyecto que se presenta en este artculo ha utilizado el


sistema de agentes mviles Aglets, basado en Java, que ha
sido desarrollado por IBM Japn [2]. Dicho sistema de
Figura 1 agentes consiste en una API con una serie de clases e
interfaces Java que proporcionan la movilidad y comunica-
Mientras que los sistemas distribuidos tradicionales propor- cin entre agentes. Asimismo, ofrece un contexto en el que
cionan transparencia de localizacin y datos mviles para los aglets pueden ejecutarse de forma segura. Por otro lado,
permitir la comunicacin entre objetos distribuidos, los al estar desarrollado en Java ofrece la necesaria portabilidad
sistemas basados en agentes mviles difieren de aqullos en entre plataformas. De hecho, Java se est convirtiendo en el
que proporcionan interaccin local entre los objetos y tanto estndar de facto como lenguaje para la implementacin de
los datos como el cdigo son mviles, es decir: es la los distintos sistemas de agentes mviles [5].
computacin misma la que se traslada hasta el sistema
remoto a travs de la red, mientras que en los modelos 3. Una aplicacin de los agentes mviles:
anteriores de objetos distribuidos lo que realmente se trans- recopilacin de informacin de lugares dispersos
mite son las llamadas a mtodos remotos.
Nuestro proyecto, como ya se ha dicho, ejemplifica el uso de
Otra cuestin es que en el diseo de una arquitectura la tecnologa de agentes mviles para la consulta y recupe-
tradicional cliente/servidor, el arquitecto de sistemas espe- racin de informacin de bases de datos remotas. Aunque
cifica los papeles del cliente y servidor de modo muy preciso para el desarrollo de la aplicacin de ejemplo se ha escogido
en tiempo de diseo. El arquitecto toma estas decisiones como dominio de aplicacin el de los Sistemas de Informa-
sobre dnde residir una funcionalidad concreta basndose cin Geogrfica, ofreciendo una serie de consultas estads-
en las restricciones del ancho de banda, trfico en la red, ticas sobre concejos (ayuntamientos), lo cierto es que la
volumen de transacciones, nmero de clientes y servidores, aplicacin permite conectarse a cualquier base de datos
y muchas otras cuestiones por el estilo. Si estas estimaciones relacional y realizar consultas SQL de modo interactivo,
fueran incorrectas, o aun siendo vlidas, el arquitecto toma- mostrando los resultados de las mismas en formato tabular.
se decisiones errneas, el rendimiento de la aplicacin se
vera seriamente afectado. 3.1. Configuracin de la consulta

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.

Por ltimo, aunque esta tecnologa emergente no ha logrado Nota


an consolidarse, creemos oportuna contemplarla como una
opcin ms a tener en cuenta entre la ya abundante oferta Csar F. Acebal es Ingeniero Tcnico en Informtica de Gestin; actualmen-
te estudia 2 ciclo de Ingeniera en Informtica en la Escuela Tcnica Superior
existente de lo que se ha dado en llamar middleware. Con de Ingenieros Industriales e Ingenieros Informticos de Gijn (Universidad
este objetivo hemos querido introducirla en este artculo al de Oviedo).
lector desconocedor de la misma, junto con una aplicacin
de sta en un mbito para el que nos parece adecuada. Juan Manuel Cueva Lovelle es Catedrtico de E. U. de Lenguajes y
Sistemas Informticos de la Universidad de Oviedo y Director de la Escuela
Universitaria de Ingeniera Tcnica en Informtica de Oviedo (Universidad
Referencias de Oviedo).

[1] Open GIS Consortium, Inc. (OGC); www.opengis.org


[2] Aglets Software Development Kit (ASDK) ; www.trl.ibm.co.jp/aglets
[3] Todd Papaioannou and John Edwards; Mobile Agent Technology
Enabling The Virtual Enterprise: A Pattern for Database Query;
luckyspc.lboro.ac.uk/Docs/Papers/

También podría gustarte