Sincronização de Dados Genéricos

O produto é compatível com um método de sincronização de dados genérico pelo qual cada alteração em uma entidade qualificada aciona um fluxo de sincronização que comunica detalhes sobre a entidade a um ou mais sistemas externos.

Os pontos a seguir descrevem a funcionalidade em um nível superior.
  • A integração de uma entidade específica (objeto de manutenção) e de um sistema externo é ativada e configurada usando um registro de busca extensível de Controle de Sincronização de Dados (F1-DataSyncControl).

  • As regras que possibilitam a integração residem em um script de sincronização indicado no registro de controle.

  • Quando uma entidade é adicionada, alterada ou excluída, uma solicitação de sincronização pode ser iniciada para cada integração de acordo com as regras de negócios definidas pelo script de sincronização correspondente.

  • As solicitações de sincronização são processadas pelo próximo processo de monitoramento em batch.

  • Quando a solicitação de sincronização é processada, os dados são sincronizados com o sistema externo de acordo com as regras de negócios definidas pelo script de sincronização correspondente.

Essa funcionalidade é compatível com a lógica fornecida no objeto de negócios base Solicitação de Sincronização de Dados Genéricos (F1-GenericDataSync). Esse objeto de negócios não precisa ser estendido para ser compatível com as regras de integração específicas, pois essas regras residem no script de sincronização associado ao registro de controle de sincronização de dados de cada integração.

As seções a seguir descrevem os principais aspectos dessa abordagem de sincronização de dados.

Controle de Sincronização de Dados

A busca extensível Controle de Sincronização de Dados (F1-DataSyncControl) define a configuração necessária para possibilitar uma sincronização contínua de dados de uma entidade para um sistema externo. A configuração define o objeto de manutenção da entidade, o sistema externo com o qual ele está sincronizado e faz referência a um script de sincronização que gerencia as regras de sincronização específicas para essa integração. Uma integração é considerada ativada quando seu registro de controle correspondente está com o status ativo.

O script de sincronização de dados é chamado nos seguintes modos:

  • Quando a entidade é adicionada, alterada ou excluída, o script é chamado no modo Verificar para determinar se uma solicitação de sincronização deve ser criada para a entidade alterada e um sistema externo específico.

  • Quando a solicitação de sincronização é processada, o script é chamado no modo Processo para preparar e enviar a mensagem de saída para o sistema externo. Como alternativa, o script pode solicitar o descarte da solicitação ou indicar que ela deve ser processada mais tarde. Essa última pode ser usada quando houver necessidade de aguardar até que determinadas condições sejam atendidas antes de enviar a mensagem ao sistema externo.

Observe que a configuração de um objeto de manutenção e de um sistema externo específico pode ser substituída por outra configuração definida com um número de sequência maior. 

Confirmando a Necessidade de Sincronização

O produto base fornece um algoritmo de captura de dados de alteração (Auditoria de Objeto de Manutenção) F1ONGDATASYN que pode ser usado por objetos de manutenção que precisam ser sincronizados por esse método. O algoritmo consulta o script de sincronização associado a cada registro de controle de integração ativo configurado para a entidade em relação a se o sistema externo precisa ser notificado para essa alteração. Depois de confirmado, o algoritmo cria um registro de Solicitação de Sincronização para o registro alterado, capturando seu código de objeto de manutenção e a chave primária, junto com o sistema externo correspondente.

Observe que a decisão quanto à criação ou não de uma solicitação de sincronização é controlada pelo script de sincronização específico da integração, ao passo que a criação da solicitação de sincronização é responsabilidade do algoritmo de auditoria. Dessa maneira, o mesmo objeto de negócios de solicitação de sincronização é usado para todas as integrações, sem provisionamento para capturar detalhes específicos de integração.

É recomendável projetar o script de sincronização para aprovar apenas a criação de uma solicitação de sincronização quando necessário. Isso impede a criação desnecessária de solicitações de sincronização que, de outra forma, seriam descartadas quando eventualmente processadas.

Gerenciando o Processo de Sincronização

Depois que uma solicitação de sincronização é capturada, há várias etapas que ainda precisam ser realizadas antes de enviar informações ao sistema externo.

Observação:
Esta seção só destaca as etapas mais importantes. Para obter uma visão completa da funcionalidade inteira, consulte a configuração do objeto de negócios, bem como o ciclo de vida e os algoritmos dele.
  • Quando é criado um registro de Solicitação de Sincronização, o status inicial dele (Pendente) é configurado para ser processado por um monitoramento em batch. Dessa forma, as alterações que acionaram a solicitação são totalmente confirmadas antes de serem comunicadas a um sistema externo.

  • Quando o registro de solicitação de sincronização é processado, um algoritmo de monitoramento chama o script de sincronização associado ao registro de controle da integração correspondente para gerenciar o processo de sincronização. O script de sincronização pode indicar uma das seguintes situações:

    • A solicitação ainda não está pronta para ser processada, ou seja, ela deve permanecer no status atual e ser processada novamente pela próxima execução em batch.

    • A solicitação deve ser cancelada. Essa indicação resulta na transição do registro para o status Cancelada.

    • A solicitação foi processada com êxito. O script de sincronização preparou a mensagem de saída e roteou as informações para o sistema externo apropriadamente. Essa indicação resulta na transição do registro para o status Enviada.

  • Se ocorrer um erro durante o processamento da solicitação, uma Entrada de Atividade será gerada para capturar os detalhes do erro e o status do registro será definido como Erro. O processamento de nova tentativa da solicitação de sincronização continua com cada processo em batch até que a solicitação seja enviada ou cancelada.

Comunicando a Decisão ao Sistema Externo

Normalmente, a comunicação com um sistema externo é finalizada quando a mensagem é enviada com êxito e processada com êxito pelo sistema externo. Dependendo da integração específica, a mensagem pode não ser processada imediatamente pelo sistema externo, mas sim colocada na fila e processada posteriormente. Nessa situação, talvez seja necessário confirmar novamente a solicitação de sincronização como processada com êxito (com o status Confirmada definido) em um mecanismo de resposta explícita do sistema externo. O produto oferece o serviço Web F1-UpdateAndTransitionSyncRequest que pode ser usado para processar essas confirmações.