Diseño e implantación de una arquitectura RESTful para una infraestructura de middleware social

  1. SAUGAR GARCÍA, SERGIO
Dirigida por:
  1. Juan Manuel Serrano Hidalgo Director/a
  2. Ana Pradera Codirector/a

Universidad de defensa: Universidad Rey Juan Carlos

Fecha de defensa: 09 de septiembre de 2013

Tribunal:
  1. Antonio Fernández Anta Presidente/a
  2. César Cáceres Taladriz Secretario/a
  3. David Pearce Vocal
  4. Juan A. Rodríguez Aguilar Vocal
  5. Juan Luis Pavón Mestras Vocal

Tipo: Tesis

Teseo: 365635 DIALNET lock_openTESEO editor

Resumen

MOTIVACIÓN En los últimos años, han surgido multitud de aplicaciones destinadas a facilitar las interacciones entre individuos que comparten determinados interese comunes. Una de las claves del éxito y proliferación se encuentra en su nexo de unión: un destacado carácter social y disposición para cubrir las necesidades de comunicación dentro del contexto concreto en el que son definidas, de manera que hacen más eficientes y efectivas las actividades de sus participantes. Sin embargo, este aspecto social también está presente en otras muchas herramientas también orientadas a administrar interacciones entre grupos de individuos determinados, como por ejemplo: herramientas de gestión de procesos de negocio, administración electrónica o incluso juegos. En definitiva, todo este conjunto de aplicaciones, destinadas a gestionar las interacciones entre individuos que comparten un determinado contexto social, se les denomina aplicaciones sociales. Por lo tanto, nos encontramos ante un giro hacia un nuevo tipo de software donde priman los individuos y cuyo éxito radica en administrar las diferentes acciones que realizan los participantes dentro de un contexto, actividad o tarea, en la que cumplen con un determinado cometido. Sin embargo, la diversidad de subdominios dentro del campo de las aplicaciones sociales, dificulta la manera en la que se programa este tipo de software ya que, aunque todas ellas poseen muchas similitudes, no existen abstracciones comunes ni herramientas homogéneas que faciliten su desarrollo. DESARROLLO Partiendo de este déficit detectado en el dominio de las aplicaciones sociales y buscando soluciones similares en otros dominios de investigación recientes, la línea de investigación en la que se engloba esta tesis tiene como objetivo el desarrollo de SPEECH, un lenguaje de programación para sociedades computacionales que integra conceptos sociales que han demostrado su valor en el campo de los Sistemas Multiagente y cuyo objetivo es centrar el esfuerzo del desarrollador de aplicaciones sociales en la programación de las interacciones del sistema. Así, el trabajo que presentamos en esta tesis se centrará, dentro de la línea de investigación que hemos señalado anteriormente, en una de las tareas necesarias para la construcción de un lenguaje de programación organizativo: la definición de una máquina virtual que facilite la programación y ejecución de aplicaciones sociales en base a nuevas abstracciones organizativas. En nuestro caso, dada la naturaleza distribuida y abierta de las aplicaciones sociales, esta máquina virtual se desarrollará como una infraestructura de middleware que, siguiendo las tendencias tecnológicas actuales y con el objeto de soportar requisitos no funcionales básicos de las aplicaciones sociales (tales como escalabilidad, visibilidad, heterogeneidad de componentes, etc) se construirá utilizando el estilo arquitectónico REST (es estilo que subyace a la Web).ç Para conseguir esa meta, este trabajo define, en primer lugar, la semántica operacional de un middleware social 8que incluye su estructura y dinámica) estableciendo así sus requisitos funcionales. Semántica que será formalizada mediante Structural Operational Semantics y lenguajes de programación lógica. Posteriormente, se propone una arquitectura basada en el etilo arquitectónico REST que cubrirá éstos requisitos funcionales e inducirá las cualidades no funcionales necesarias para abordar el desempeño de aplicaciones sociales. Arquitectura que es verificada mediante la construcción de un prototipo totalmente funcional. Por último, se comprueba la viabilidad de la arquitectura mediante la programación y ejecución de una aplicación social, en este caso centrada en el dominio de los juegos sociales: un casino on-line especializado en el juego del póker (presentado como caso de estudio). Además, se analiza la propuesta y se compara con distintos middleware que podrían ser utilizados para el mismo fin. CONCLUSIONES Este trabajo, por una parte, contribuye al desarrollo de un nuevo lenguaje de programación social denominado SPEECH, mediante la descripción de la semántica operacional del mismo en términos de una infraestructura de middleware. Además, aporta luz acerca de este nuevo tipo de lenguajes. Por otra parte, demuestra la adecuación del estilo arquitectónico REST para la instrumentación de nuevas infraestructuras de middleware, induciendo requisitos no funcionales aptos para la gestión de las interacciones de sistemas heterogéneos abiertos, facilitando el aprovechamiento de la Web como plataforma subyacente (adoptando la tecnología, herramientas e infraestructura asociadas). Para ello, este trabajo define el proceso de diseño de la arquitectura de un middleware para Speech, ajustada a dicho estilo arquitectónico, facilitando patrones de diseño que pueden ser reutilizados en la construcción de middleware similares. Por último, esta plataforma ha sido validada mediante la construcción de un prototipo completamente funcional, por lo que esta tesis cubre el proceso íntegro de desarrollo de una infraestructura de middleware: desde la descripción y formalización de su semántica operacional hasta la programación de aplicaciones sobre el mismo.