Adaptadores Worklight y el patrón Worklight: manejador de recursos

Los adaptadores Worklight son el código del lado del servidor de las aplicaciones desplegadas en la plataforma de aplicaciones móviles de Worklight y a las que ésta da servicio. Los adaptadores conectan Worklight Server con las aplicaciones empresariales, tales como las que se ejecutan en WebSphere Message Broker. El adaptador expone un conjunto de servicios, denominados procedimientos. El adaptador y la aplicación móvil se despliegan en Worklight Server.

Diagrama que muestra el comportamiento del patrón.

La secuencia siguiente describe un flujo típico de datos para una solicitud HTTP/JSON emitida por una aplicación móvil:

Dispositivo móvil a Worklight

  1. La aplicación móvil invoca los procedimientos emitiendo solicitudes Ajax (WL.Client.invokeProcedure).
  2. Los parámetros para el procedimiento se pasan como datos con formato JSON. Los parámetros pueden incluir una representación JSON del recurso al que se está accediendo y, si la seguridad esta habilitada, una representación de la serie base64 del ID de usuario y la contraseña.

Worklight

  1. El procedimiento aumenta el objeto JSON con información adicional, tal como el nombre de la acción que se debe realizar en dicho objeto.

Worklight a Message Broker

  1. El procedimiento invoca un mandato HTTP e incluye el ID de usuario y la contraseña en la cabecera de autenticación básica HTTP.

Message Broker

  1. El flujo de mensajes del manejador de solicitudes en Message Broker maneja la solicitud HTTP.
  2. El flujo de mensajes de manejador de solicitudes autentica el ID de usuario y la contraseña en un servidor LDAP.
  3. El flujo del manejador de solicitudes elimina la información adicional del objeto JSON y utiliza esta información para determinar qué acción que se está realizando en qué instancia del recurso.
  4. El manejador de solicitudes autoriza la solicitud en un servidor LDAP. De esta manera se valida que el ID de usuario esté en el grupo LDAP correcto para realizar esta acción en este recurso.
  5. Si se trata de una solicitud de lectura de un recurso, el flujo de manejador de solicitudes utiliza el identificador de la instancia de recurso para comprobar si la instancia del recurso está en la memoria caché.
  6. El flujo de manejador de solicitudes llena el entorno local ($LocalEnvironmentVariables/Worklight/ID) con el identificador exclusivo de la instancia de recurso a la que se está accediendo.
  7. Se propaga un mensaje de dominio JSON al subflujo del manejador procedimiento correcto. La estructura de dicho mensaje coincide con el objeto JavaScript pasado a la API WL.Client.invokeProcedure mediante la aplicación móvil.
  8. Se ejecuta la lógica del subflujo. Generalmente esto implica transformar el objeto JSON en una solicitud a un servicio o una base de datos subordinada.
  9. El subflujo propaga el mensaje JSON de respuesta a su terminal de salida.
  10. Si la acción es una lectura y está habilitada la memoria caché, el flujo de mensajes de manejador de solicitudes escribe el objeto JSON en la memoria caché.
  11. Si la acción es una actualización o supresión, el flujo de mensajes de manejador de solicitudes suprime dicha instancia del recurso de la memoria caché.

Message Broker a Worklight

  1. La respuesta de JSON se devuelve al adaptador Worklight como una respuesta HTTP de Message Broker.

Worklight a dispositivos móviles

  1. La respuesta de JSON se devuelve a la aplicación móvil de origen como una respuesta HTTP de Worklight Server.

Volver a la especificación del patrón Worklight: manejador de recursos