Integración de Sistemas de Información Mediante Agentes SOAP Distribuidos

Lectura Proyecto Fin de Carrera

Alcalá de Henares
16 de septiembre

2004

David Fernández Barrero

UNIVERSIDAD DE ALCALÁ

ESCUELA POLITÉCNICA SUPERIOR

Ingeniería en Telecomunicación

Un vistazo a lo que nos espera

Contexto tecnológico

Servicios web

Web semántica

Planteamiento general

Problemática

Objetivos

Descripción del Sistema

Descripción de un agente

Varios agentes

Conclusiones

Bibliografía y publicaciones

Preguntas

La Web que se aproxima (I)

El crecimiento de la Web ha ocasionado algunos problemas

Dificultad para la gestión eficiente de sus contenidos

Demanda creciente de servicios

La Web fue diseñada para ser utilizada por humanos

Nueva generación de tecnologías construidas sobre XML: web semántica y servicios web

Servicios web

Componentes software reutilizables a través de Internet

Tecnología base: SOAP (Simple Object Access Protocol)

Encapsula RPCs dentro de documentos XML

Independencia de la arquitectura y del lenguaje

La Web que se aproxima (II)

Web semántica

Extensión a la Web tradicional que automatiza el manejo de la información

Tecnología base: RDF (Resource Description Framework)

Define redes semánticas que contienen bases de conocimiento

Expresa tuplas sujeto, propiedad y valor

RDF puede usarse con distintos vocabularios

Un ejemplo de vocabulario: Dublin Core

Define 15 términos para la descripción de recursos

Ejemplos: título, autor, descripción, formato...

Situación de partida: ¿Qué sucede con la información de una organización?

Cualquier organización necesita información

La información se almacena en distintos formatos:

Ficheros locales: texto, hojas de cálculo, ...

Gestores de bases de datos

Páginas web

etc

Los interfaces de los sistemas de información son diferentes:

Dificultad de localizar recursos

Dificultad en la integración de la información

Necesidad de desarrollar middlewares complejos (y caros)

etc

Podría utilizarse una capa de búsqueda abstracta

Situación de llegada: Integración de recursos de información

Algunas dificultades tecnológicas que superar

Integración de servicios en entorno heterogéneo

Solución: Servicios web con SOAP

Integración de información arbitraria

Solución: Tecnologías de la web semántica: RDF y Dublin Core

Algunas decisiones de diseño:

Alta escalabilidad

Solución: Arquitectura distribuida

Facilidad de extensión

Solución: Diseño modular

Manejo sencillo para los administradores del sistema

Solución: Aplicación autónoma

Searchy: un motor de búsqueda de recursos distribuido

La implementación de estos conceptos se denomina Searchy

Realizado dentro del programa PYTOC de RedIRIS

Licenciado a través de la GPL

Todo eso suena estupendo, pero... ¿Qué es Searchy en pocas palabras?

Un motor de búsqueda de metainformación distribuido

Una aplicación de tres capas (o n-capas) genérica

Un mecanismo de integración de sistemas de búsqueda

Searchy es un servicio web que facilita la localización de recursos

Estructura de un agente Searchy

La unidad de funcionamiento básica es el agente

Cada agente está compuesto de:

Un núcleo, común a todos los agentes

Uno o más proveedores que median con la interfaz local

Fuentes de datos (el backend)

Los agentes son cooperativos

Un agente puede acceder a los servicios de búsqueda de un tercero

Funcionamiento de un agente con tres proveedores

Tres fases en la atención de una consulta

Recepción del mensaje

Consulta local

Devolución de resultados

Ejemplo de consulta a Google

Veamos lo que pasa en el cable...

El agente recibe una consulta (1)

El proveedor envía una consulta a Google

Google devuelve los resultados (2)

<item>

<URL xsi:type="xsd:string">

http://www.thesimpsons.com

</URL>

<summary xsi:type="xsd:string">

Offers news, contests, ...

</summary>

<title xsi:type="xsd:string">

TheSimpsons.com

</title>

.......

</item>

<rdf:description about=

"http://www.thesimpsons.com/">

<dc:subject>

Offers news, contests, ...

</dc:subject>

<dc:title>

TheSimpsons.com

</dc:title>

</rdf:description>

<rdf:description about="foo">

<dc:title>simpsons</dc:title>

</rdf:description>

Se traduce a RDF (3)

Clientes Searchy

Searchy es middleware -> No está orientado al usuario final

El cliente puede utilizar cualquier lenguaje que soporte SOAP: Java, PHP, Python, C, C++, ...

Han sido desarrollados clientes en servlets, JSP's y aplicaciones pesadas de escritorio

Hay clases en Java y Python que facilitan la implementación de nuevos clientes

La visión de conjunto

Un poco más sobre Searchy

Existen actualmente cuatro tipos de proveedores

SQL, LDAP, Google y Searchy

Se pueden desarrollar nuevos proveedores fácilmente

De hecho, Searchy puede ser visto como un contenedor de proveedores

Alta portabilidad

Utilización intensiva de XML: Protocolos, información y configuración

Implementación realizada en Java

Conclusiones

La filosofía de Searchy ha demostrado ser una aproximación satisfactoria

Cumple ampliamente los objetivos planteados

Adaptable a una pequeña empresa o a grandes organizaciones

Gran flexibilidad gracias a los proveedores

Es razonablemente sencillo de usar para el administrador

Searchy tiene una gran flexibilidad operativa

Adaptación a distintas políticas organizativas

Searchy no define políticas, implementa mecanismos

Líneas de trabajo abiertas

Núcleo de la Aplicación

Soporte completo para RDF/OWL

Soporte para consultas complejas usando RDQL

Implementación de nuevos proveedores

Proveedor Harvest

Proveedor WSDL/UDDI

Proveedor OWL-S

Proveedor Jython

Proveedor Lucen

Características complementarias

Soporte para control de accesos basado en SAML

Soporte para WS-Security

Integración dentro de arquitecturas Grid

Más información ...

Sobre Searchy:

Web del proyecto: http://jsearchy.sourceforge.net/

Sobre servicios web:

Grupo W3C sobre SW: http://www.w3c.org/2002/ws/

SOAP 1.2 Primer: http://www.w3.org/TR/soap12-part0/

Sobre web semántica:

Grupo W3C sobre WS: http://www.w3.org/2001/sw/

RDF Primer: http://www.w3.org/TR/rdf-primer/

Dublin Core: http://www.dublincore.org/

Publicaciones

David F. Barrero, Diego R. López y Óscar García Población, “Distributed Metainformation Searching: an Approach to Information Retrieval in the Age of the Semantic Web”. TERENA Networking Conference, Rodas, Grecia, junio 2004.

David F. Barrero y J. Ignacio Criado, “Integrando la Información de las Administraciones Públicas en la Gestión del Conocimiento. Una Solución desde la Web Semántica y los Servicios Web”. VIII Jornadas TECNIMAP, Murcia, septiembre-octubre 2004.

David F. Barrero y Óscar García Población, “Federación de Servicios de Búsqueda Mediante un Sistema Multiagente Semántico”. XV Jornadas Técnicas de RedIRIS. Toledo, octubre 2004. Pendiente de aceptación.

¡Gracias por su atención!

Es el turno de sus preguntas...

Idea rarita

Visión muy general casi mentirosa

hablar mucho descripción del sistema

Cada 20 meses se duplica la cantidad de información mundial

Ejemplo: API de Google

Proveedor como plug-in

Diego Lopez

2004-05-14T00:55:12