WebApi - Pipeline Hashing Calculation

WebApi - Pipeline Hashing Calculation

El Valuekeep Integration adopta un control de versiones con base en un sistema de hashing. Cada pipeline tiene un control de versiones, o sea, tiene una clave de hashing que permite identificar si el subset de información (hashset) aún no ha sido objeto de integración o si eventualmente ha sufrido algunas modificaciones en sus datos, solicitando para ello una nueva integración. Esta técnica de hashing es aplicable a un segmento de información (hashset), o sea, permite identificar los atributos que componen la clave de hashing (ignorando, así, solicitudes de integración cuando la entidad sufre modificaciones en atributos que no existen en la composición de la clave).

Este método permite calcular el hash de un pipeline, o sea, calcular el hashing de los registros que deben ser considerados en un pipeline de integración. Internamente, la solución de integración después de obtener el hash compara este valor con el anterior y si son diferente, considera que el registro debe ser objeto de nueva sincronización.

El método usado para ello es: POST /api/mytenant/myorganization/integration/pipelines/calchash
Antes del uso del método, es necesario crear en cada Entidad para sincronizar, tres atributos personalizados. Ejemplificamos a continuación un ejemplo:
  1. custom_SourceHash: atributo que guarda la clave de hashing del origen de los datos, deberá ser del tipo "texto corto".
  2. custom_TargetHash: atributo que guarda la clave de hashing de destino de los datos, deberá ser del tipo "texto corto".
  3. custom_IsSync: atributo que comprueba si el registro será objeto de integración, deberá ser del tipo "booleano".

Un ejemplo (Json) de la estructura de datos para el cálculo del hashing de un pipeline.

1.      {

  "Alghoritm": "MD5",

  "BaseEntity": "BusinessCore.Brands",

  "LyncEntities": "BusinessCore.Brands JOIN BusinessCore.BrandModels ON BusinessCore.Brands.Id = BusinessCore.BrandModels.BrandId",

  "Attributes": "BusinessCore.Brands.BrandKey, BusinessCore.Brands.Description, BusinessCore.BrandModels.ModelKey, BusinessCore.BrandModels.Description as ModelDescription",

  "Filter": "",

  "FieldSourceHash": "custom_SourceHash",

  "FieldTargetHash": "custom_TargetHash",

  "FieldIsSync": "custom_IsSync"

}

 

Descripción de los atributos disponibles en la solicitud:
  1. Algorithm: identifica el algoritmo de hashing, cuando ignorado, el sistema asume: MD5;
  2. BaseEntity: identifica la entidad base (tabla principal);
  3. LyncEntities: identifica las entidades relacionadas, cuando ignorado, el sistema asume la propia entidad base;
  4. Attributes: identifica los atributos que constituyen la clave de hashing (o sea, el segmento usado para el cálculo del hash);
  5. Filter: identifica el filtro condicional para aplicar en el cálculo del hash;
  6. FieldSourceHash: identifica el atributo SourceHash, cuando ignorado, el sistema asume: custom_SourceHash. Este atributo será usado para reservar el valor calculado;
  7. FieldTargetHash: identifica el atributo TargetHash, ignorado, el sistema asume custom_TargetHash;
  8. FieldSyncHash: identifica el atributo IsSync, cuando ignorado, el sistema asume: custom_IsSync. Este atributo será usado para controlar si el registro será o no objeto de sincronización (los registros son clasificados para sincronización cuando el valor del atributo FieldSourceHash difiere del valor del atributo FieldTargetHash).
Cuando este método es ejecutado con éxito, devuelve una estructura de datos Json de los atributos de la clave de hashing introducido en "Attributes".




    • Related Articles

    • WebApi - Sincronización del Hashing de un Pipeline

      El Valuekeep Integrator adopta un control de versiones con base en un sistema de hashing. Cada pipeline tiene un control de versiones, o sea, tiene una clave de hashing que permite identificar si el subset de información (hashset) aún no ha sido ...
    • Plugin V10 – Pipelines – Hashing

      El plugin adopta un control de versiones con base en un sistema de hashing. Cada pipeline tiene un control de versiones, o sea, tiene una clave de hashing que permite identificar si el subset de información (hashset) aún no ha sido objeto de ...
    • ¿Cómo personalizar las tags de una pipeline para el URL de la solicitud?

      En Valuekeep tenemos solicitudes "POST" derivadas de claves, ejemplificadas a continuación: El método a usar para crear un registro de seguimiento en una orden de trabajo es: POST ...
    • WebAPI - Eliminación de una requisición

      Este método permite eliminar una requisición. El método a usar para eliminar una requisición es: DELETE  url/api/mytenant/myorganization/requisitions/requisitions/{{company}}/{{requisitionKey}} Los parámetros a sustituir en el método son: i.company: ...
    • WebAPI - Creación de una herramienta

      Este método permite, de forma simplificada, crear una herramienta. El método a usar para crear una herramienta es: POST url/api/mytenant/myorganization/assetmanagementcore/equipmentItems Ejemplo de Json para creación de una herramienta: 1.     { ...