El
plugin VALUEKEEP V3 – 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
objeto de integración o si eventualmente ha sufrido alguna modificación 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).
Todos
los pipelines tienen una clave de hashing (definida con
recurso a campos del usuario - custom atributes) en el sistema de origen y un
archivo de hashing (definido en formato JSON), para control
de versiones. Si una entidad física (tabla) tiene diversos pipelines,
deberán ser creadas tantas claves de hashing cuanto el número de pipelines derivados
de la tabla (podrán eventualmente compartir el archivo de hashing).
Composición
(Campos del Usuario - Custom Attributes) de la Hashing Key de
un Pipeline:
- SourceHash:
atributo usado para cálculo del hash en el sistema de origen (calculado siempre
que se realiza una solicitud de lectura);
- TargetHash:
atributo usado para preservar el valor del hash en el sistema de origen
(actualizado siempre que se realiza una integración con éxito);
- IsSync: atributo
usado como filtro condicional (este atributo indica si el registro ya se ha
integrado, es controlado por la comparación de los valores de los atributos
“SourceHash” y “TargetHash”);
Composición
del Hashing File de un Pipeline:
- Algorithm:
identifica el algoritmo de hashing (cuando ignorado, el sistema asume
MD5);
- BaseEntity:
identifica la entidad base, o sea, la tabla principal (obligatorio);
- LyncEntities:
identifica las entidades relacionadas, incluyendo la entidad principal (cuando
ignorado, el sistema asume la BaseEntity);
- Attributes:
identificamos atributos que constituyen la clave de hashing (cuando ignorado,
el sistema asume todos los atributos de la entidad base y relacionadas, si
aplicable);
- Filter:
identifica el filtro condicional para aplicar en el cálculo del hash (cuando
ignorado, el sistema no aplica ninguna condición);
- FieldSourceHash:
identifica el atributo SourceHash (cuando ignorado, el sistema asume
SourceHash);
- FieldTargetHash:
identifica el atributo TargetHash (cuando ignorado, el sistema asume
TargetHash );
- FieldSyncHash:
identifica el atributo IsSync (cuando ignorado, el sistema asume IsSync );