Vistas

Diseño e implementación de una Arquitectura RESTFul sobre la plataforma SmartFlow

De MorfeoWiki

Introducción

La plataforma de negocio SMARTFlow, debido su visión orientada a recursos que se le pretende dar, necesita exportar todos sus componentes bajo una filosofía REST (REpresntation State Transfer) de manera que sean accesibles mediante invocaciones HTTP. Surge de este modo la necesita de disponer de un sistema software capaz de almacenar y gestionar los recursos exportados.

ResourceContainer

El componente ResourceContainer (desde ahora contenedor) es el encargado de almacenar y gestionar los recursos dentro de la plataforma SMARTFlow. El funcionamiento del contenedor es el siguiente:

  • Cada recurso se identifica por su URI. Su comportamiento viene definido por una aplicación Web denominada manejador
  • El contenedor recibe todas las invocaciones HTTP (GET, POST, PUT o DELETE) dirigidas a los recursos.
  • Identifica el recurso hacia el que va dirigida la petición analizando la URI, y la redirige hacia el correspondiente manejador.
  • El analisis de las URIs se efectua de la más específica (prefijo común más largo) a la menos específicas (prefijo común más corto), y de la más concreta (URI totalmente definida) a la más genérica (URI con campos genéricos, se permite el uso del caracter asterisco como comodín).
  • Cuando la petición llega al manejador éste puede satisfacerla total o parcialmente (procesamiento intermedio) y/o volver a redirigirla hacia otro manejador (no se obliga a que el procesamiento de las URIs se centralice en el contenedor si no se desea). Una vez que un manejador redirige la petición a otro, el primero pierde toda relación con la petición.
  • Cada manejador incluirá toda la lógica necesaria para comunicarse con las capas de back-end y ejecutar la petición.
  • El resultado del un manejador final devolverá un XML con la información resultado de la ejecución de la capa de back-end.