En los años transcurridos desde su nacimiento, la web ha experimentado una transformación radical dejando de ser una "web de documentos" y convirtiéndose en una "web de aplicaciones". La iniciativa para la Web Semántica trataba de impulsar una transformación diferente para la web que condujese a una web de datos abiertos. Desafortunadamente las tecnologías e ideas detrás de la web semántica han sido ignoradas en su mayoría por los programadores de aplicaciones. Sin embargo, la web está viviendo un nuevo momento que está cambiando otra vez la forma de desarrollar aplicaciones web. El origen de este cambio se encuentra en una serie de innovaciones tecnológicas como el aumento del uso de terminales móviles y el explosivo crecimiento del mercado de aplicaciones, la nueva estandarización de HTML5 y el desarrollo de nuevos y potentes motores JavaScript, laincipiente "Real Time Web" y el uso de tecnologías “push” capaces de invertir el flujo tradicional de información del servidor al cliente, abriendo nuevas posibilidades de interacción en tiempo real entre usuarios. Como consecuencia de estos cambios, la "web de aplicaciones" se está transformando en una web de APIs y servicios donde cada vez se generan e intercambian más datos a través de APIs. Es en este contexto donde las tecnologías desarrolladas en el ámbito de la Web Semántica, centradas en facilitar el procesamiento de datos en la web, pueden ofrecer atractivas alternativas para una nueva generación de aplicaciones centradas en datos.
El propósito de esta tesis es investigar como estas tecnologías semánticas pueden ser aplicadas al estado del arte del desarrollo web usando el concepto de una API semántica. Los objetivos concretos que se pretenden alcanzar son:
• Desarrollar un formalismo teórico capaz de describir la ejecución de procesos cliente y servidor consumiendo datos a través de APIs semánticas. • Investigar como tecnologías semánticas pueden ser integradas en las capas cliente y servidor de aplicaciones web consistente en sistemas distribuidos conectados a través de un único grafo de información • Desarrollar APIs capaces de exponer grafos de información semántica de forma compatible con los principios arquitecturales REST. • Investigar nuevas formas de desarrollar clientes web consumiendo APIs generadas por diferentes proveedores. • Integrar la "web en tiempo real" en el diseño de APIs añadiendo una dimensión temporal a los datos semánticos.
|