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 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) en el PRIMAVERA ERP V10 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) de la Hashing Key de un Pipeline:
- SourceHash:
atributo usado para cálculo del hash en el sistema (calculado siempre que se
realiza una solicitud de lectura);
- TargetHash:
atributo usado para preservar el valor del hash en el sistema (actualizado
siempre que se realiza una integración con éxito);
- IsSync: atributo
usado en las listas de integración 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 (atributo obligatorio);
- LyncEntities:
identifica las entidades relacionadas, incluyendo la entidad base (cuando
ignorado, el sistema asume la BaseEntity);
- Attributes:
identificamos atributos que constituyen la clave de hashing, o sea, los
atributos usados para el cálculo del hash (cuando ignorado, el sistema asume
todos los atributos);
- 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 );
La imagen siguiente presenta la metodología conceptual del proceso
de hashing soportado por el plugin.