WebApi - Cálculo do Hashing de um Pipeline

WebApi - Cálculo do Hashing de um Pipeline

Valuekeep Integration adopta um controlo de versionamento baseado num sistema de hashing. Cada pipeline, possui um controlo de versionamento, ou seja, possui uma chave de hashing que permite identificar se o subset de informação (hashset) ainda não foi objeto de integração ou se eventualmente sofreu alguma alteração nos seus dados, requerendo para o efeito nova integração. Esta técnica de hashing aplica-se a um segmento de informação (hashset), isto é, permite identificar quais os atributos que compõem a chave de hashing (ignorando, deste modo, pedidos de integração quando a entidade sofre alteração em atributos que não constam na composição da chave).

Este método permite calcular o hash de um pipeline, isto é, calcular o hashing dos registos que devem ser considerados num pipeline de integração. Internamente, a solução de integração após obter o hash, confronta este valor com o anterior e no caso de diferirem considera que o registo deve ser objeto de nova sincronização.

O método utilizado para o efeito é: POST /api/mytenant/myorganization/integration/pipelines/calchash

Antes da utilização do método, é necessário criar em cada Entidades a sincronizar, três atributos personalizados. Exemplificamos a seguir um exemplo:

  1. custom_SourceHash: atributo que guarda a chave de hashing da origem dos dados, deverá ser do tipo "texto curto".
  2. custom_TargetHash: atributo que guarda a chave de hashing do destino dos dados, deverá ser do tipo "texto curto".
  3. custom_IsSync: atributo que valida se o registo será objeto de integração, deverá ser do tipo "booleano".
Um exemplo (Json), da estrutura dos dados para o cálculo do hashing de um 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"
    }

Descrição dos atributos disponíveis no pedido:
  • Algorithm: identifica o algoritmo de hashing, quando ignorado o sistema assume: MD5;
  • BaseEntity: identifica a entidade base (tabela principal);
  • LyncEntities: identifica as entidades relacionadas, quando ignorado o sistema assume a própria entidade base;
  • Attributes: identifica os atributos que constituem a chave de hashing (ou seja, o segmento usado para o cálculo da hash);
  • Filter: identifica o filtro condicional aplicar no cálculo da hash;
  • FieldSourceHash: identifica o atributo SourceHash, quando  ignorado, o sistema assume: custom_SourceHash. Este atributo será usado para reservar o valor calculado;
  • FieldTargetHash: identifica o atributo TargetHash, quando ignorado, o sistema assume: custom_TargetHash;
  • FieldSyncHash: identifica o atributo IsSync, quando ignorado, o sistema assume: custom_IsSync. Este atributo será usado para controlar se o registo será ou não objeto de sincronização (os registos são classificados para sincronização quando o valor do atributo FieldSourceHash difere do valor do atributo FieldTargetHash).

Quando este método é executado com sucesso devolve uma estrutura de dados Json dos atributos da chave de hashing inserido em "Attributes".



    • Related Articles

    • WebApi - Sincronização do Hashing de um Pipeline

      O Valuekeep Integrator adopta um controlo de versionamento baseado num sistema de hashing. Cada pipeline, possui um controlo de versionamento, ou seja, possui uma chave de hashing que permite identificar se o subset de informação (hashset) ainda não ...
    • WebApi - Monitorização da Pipeline

      O Valuekeep Integrator, conceptualmente, possibilita a monitorização da execução de todos os pipelines. Esta funcionalidade, permite ao implementador / integrador controlar a execução dos fluxos de integração e inclusive identificar situações ...
    • WebAPI - Como obter o registo da webapi?

      No momento em que é realizada a subscrição no Valuekeep CMMS o subscriber recebe um email com as credenciais da subscrição, compostas por client_Id e um Cliente_Secret. Estas credencias devem ser guardadas, caso contrário não será possível utilizar a ...
    • Como customizar as Tags de uma Pipeline para o Url do pedido

      No Valuekeep temos pedidos "POST" devivados de chaves, exemplificando a seguir: O método a utilizar para a criação de um registo de follow-up numa Ordem de Trabalho é: POST ...
    • Plugin V10 - Pipelines - Hashing

      O plugin adota um controlo de versionamento baseado num sistema de hashing. Cada pipeline, possui um controlo de versionamento, ou seja, possui uma chave de hashing que permite identificar se o subset de informação (hashset) ainda não foi objeto de ...