Bizagi SAP Cloud Platform Dispatcher

Publicado el 25/08/26

Descripción

El Dispatcher es el punto de entrada para las aplicaciones que se ejecutan en el ambiente Cloud Foundry de SAP BTP. Enruta solicitudes hacia los servicios configurados, administra la autenticación, reescribe URL y reenvía solicitudes a otros microservicios.
 

En Bizagi, el Dispatcher enruta las solicitudes hacia los destinos configurados en SAP BTP, permitiendo la comunicación con los servicios OData expuestos por el sistema SAP.
 

Para comenzar, descargue la versión más reciente del Bizagi Dispatcher.

Las siguientes secciones describen las actualizaciones introducidas en cada versión del Bizagi SAP Cloud Platform Dispatcher.

En esta versión

Versión 1.3.1

  • Se agregaron dos nuevos encabezados de solicitud:
    • isBoundAction: Indicador que señala que una solicitud POST tiene como destino una acción enlazada de OData.
    • endpointBoundAction: Endpoint de destino codificado en URI.

Estos encabezados permiten al consumidor indicar que una solicitud POST tiene como destino una acción enlazada de OData en lugar de una operación estándar de conjunto de entidades.

  • Se actualizó el manejo de barras diagonales finales para acciones enlazadas. Cuando isBoundAction está configurado, se omite la normalización de la barra diagonal final para preservar la URL exacta de la acción requerida por los servicios SAP OData.
  • Se actualizó la obtención del token CSRF para acciones enlazadas. El token ahora se obtiene desde la raíz del servicio, ubicada dos niveles de ruta por encima del endpoint de la acción. Esto se alinea con el contrato SAP OData V4 y ayuda a prevenir errores 403 Forbidden.
  • Se agregó soporte para los requisitos de ETag de SAP en acciones enlazadas a instancias. Cuando se proporciona endpointBoundAction y este difiere de la ruta base, la solicitud se clasifica como una acción enlazada a instancia y el encabezado If-Match: * se inyecta automáticamente en la solicitud de escritura.
  • Se actualizó transformGetResponse() para recibir y evaluar el indicador isBoundAction. Cuando el indicador está activo, los datos de la respuesta GET se devuelven como un objeto estructurado en lugar de convertirse a un String JSON, preservando la estructura de payload esperada por los consumidores de acciones enlazadas.
  • Se agregó la función normalizeODataV2ServiceRootUrl(). Esta función garantiza que las solicitudes GET a la raíz del servicio OData V2 con rutas de 5 segmentos que coincidan con /sap/opu/odata/{namespace}/{service} siempre incluyan una barra diagonal final. Esto previene errores 404 Not Found durante las llamadas de detección de servicios causados por la ausencia de una barra diagonal final en el endpoint raíz.

Versión 1.1.23

  • Se corrigió el manejo del token CSRF para solicitudes POST dirigidas a SAP HANA Public Edition.
  • Se corrigió el comportamiento del encabezado If Match para evitar su uso incorrecto en operaciones POST.
  • Se centralizó la lógica del encabezado If Match para que solo se aplique a solicitudes PUT, PATCH y DELETE, evitando errores 501 durante ejecuciones POST.
  • Se mejoró el registro de errores con una anonimización más robusta de información sensible durante la ejecución del método POST.
  • Se agregó un registro de errores completo que cubre múltiples escenarios de falla, incluyendo metadatos de la respuesta, detalles de configuración de la solicitud y errores relacionados con el token CSRF.


Versión 1.1.20

  • Se ajustó la ejecución de métodos POST para servicios OData V4.
  • Se mejoró el manejo de métodos GET para procesar correctamente caracteres especiales en los valores de los parámetros.


Versión 1.1.19

Ajustes generales y mejoras de rendimiento.


Versión 1.1.18

  • Se agregó soporte para ejecuciones OData V4.
  • Se agregó soporte para ambientes SAP S 4 HANA Public Edition.


Versión 1.1.17

La versión del dispatcher ahora se muestra al acceder a la ruta raíz.

Versión 1.1.16

  • Corrección (start.js): decodificar el encabezado de filtros antes de añadirlo a la baseUrl
    • Se decodificó el encabezado ‘filtros’ codificado en URI recibido del servicio de conector.
    • Se aseguró un mecanismo de respaldo seguro en caso de que la decodificación falle.
    • Se volvió a codificar el valor decodificado al construir la baseUrl para solicitudes GET.
    • Se añadió un registro (log) de la baseUrl resolución final.

Versión 1.1.15

Se añadió el encabezado "X-Requested-With": "XMLHttpRequest" para asegurar compatibilidad con solicitudes CSRF en SAP.

Versión 1.1.14

Se ha eliminado el conjunto de entidades de la URL base para recuperar correctamente x-csrf-token en acciones POST.

Versión 1.1.13

Se inicializó el proxyConfigM para prevenir errores de referencia en peticiones GET de Axios.

Versión 1.1.12

Para evitar la contaminación de parámetros del lado del servidor se modificó la función isValidDestinationPath para mejorar la validación del parámetro destinationPath.

Versión 1.1.11

Para evitar la contaminación de parámetros del lado del servidor se añadió una función que valide el parámetro path que llega al dispatcher y evitar caracteres inseguros.

Versión 1.1.10

Se añadieron variables de entorno para obtener los nombres correctos de los servicios vinculados al dispatcher. se eliminó la propiedad de protocolo de los headers donde estaba la información del proxy, ya que no era necesaria.

Versión 1.1.9

Mejoras en las cabeceras de seguridad HTTP (falta X-Frame-Options, Content-Security-Policy, Cache-Control).

Versión 1.1.8

Se mejoraron los logs para anonimizar información sensible.

Versión 1.1.7

En el método Patch se añadió seguridad para verificar el token y se mejoraron los mensajes de registro.

Versión 1.1.6

Se eliminaron los valores con información sensible para que no se creen registros de errores con esa información en el BTP y no se devuelvan a Bizagi.

Versión 1.1.5

Se actualizó @sap/xssec a la versión 3.6.0.

Versión 1.1.4

Nueva forma de desplegar el dispatcher en SAP Cloud BTP.

Versión 1.1.3

  • La forma de obtener la autorización X-CSRF-Token antes de realizar la solicitud final ha sido modificada.
  • Devolver las cabeceras de solicitud al servicio conector.
  • Mejora en destinationPath.
  • Ahora se envía el ID de ubicación en las cabeceras cuando es necesario.
  • Los filtros se escapan para admitir caracteres especiales.
  • Se agregaron las cabeceras especiales de SAP en los métodos POST.
  • Se implementó una lógica para enviar cabeceras en el código de estado 204, ya que este código no tiene contenido para enviar un cuerpo.
  • Se implementó un manejo específico de cabeceras para los métodos CREATE, UPDATE y PATCH cuando el código de estado es 204.
  • Refactorización de código.
  • Mejoras y nuevos registros.
  • Se actualizó a la versión 18 de Node.js.

Versión 1.1.2

Añadida la cabecera location Id a la Autenticación Básica. Esto hace posible conectarse a configuraciones que utilizan un locationId diferente.

Versión 1.1.1

  • Se sustituyó la petición lybrary by axios, lo que mejora la velocidad y eficiencia de las peticiones en la aplicación.
  • Actualización de las dependencias de varias librerías utilizadas en la aplicación, lo que mejora la seguridad y estabilidad de la aplicación.
  • Se reemplazó la biblioteca request (obsoleta: https://www.npmjs.com/package/request) por axios
  • Se actualizó la dependencia de “express” a “4.18.2”.
  • Se actualizó “pug” por “Jade”.
  • Se actualizó la dependencia de “pg-promise” a “11.0.2”.
  • Se actualizó la dependencia de “body-parser” a “1.20.1”.
  • Se actualizó la dependencia de “passport” a “0.6.0”.

Versión 1.1.0

  • Actualización a SAP Cloud Connector: Bizagi se integra con sistemas SAP S/4 HANA, ECC o R/3 utilizando la plataforma SAP Cloud. Se ha mejorado con un nuevo conjunto de características de seguridad, utilizando autenticación basada en OAuth, que ayuda a asegurar el acceso al conector Bizagi Dispatcher para SAP Cloud.
  • Se añadió la funcionalidad de Autenticación y Autorización.

Versión 1.0.3

  • Actualización de varias dependencias de librerías utilizadas en la aplicación, lo que mejora la seguridad y estabilidad de la aplicación.
  • Actualización la versión de Node a ^16 en package.json.
  • Actualización la dependencia @sap/xssec a ^3.2.13.
  • Actualización la dependencia @sap/xsenv a ^3.3.2.
  • Se añadió validación para obtener el entorno y usar el componente de registro.
  • Se eliminaron los registros de JWT y otros datos de usuario.

Versión 1.0.2

  • Se han añadido registros adicionales para ver más detalles de las solicitudes entrantes en Cloud Foundry, lo que ayuda a los desarrolladores a depurar problemas con las solicitudes.
  • Se ha eliminado una opción innecesaria en el comando de inicio, lo que mejora la eficiencia de la aplicación.
  • Se agregaron registros adicionales para ver más detalles de la solicitud entrante en Cloud Foundry.
  • Se eliminaron algunos comentarios del código.
  • Se eliminó la opción “--inspect” del comando de inicio.
  • Se eliminó el punto final de datos sensibles “/destinations” de los destinos configurados.