Páginas filhas
  • ER_PCREQ-6062_Suporte_a_Tecnica_Pulling_de_Sincronizacao_com_Fluig_Identity

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.

Informações Gerais

Especificação

Produto

Logix

Módulo

Framework

Segmento Executor

Tecnologia

Projeto

LD_FRW_FRW001

IRM

PCREQ-3617

Requisito

PCREQ-6062

Subtarefa

PDR_LD_FRW001-81

Release de Entrega Planejada

12.1.7

País

(X) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

 

 

 

Objetivo

Adicionar ao ERP Logix o suporte ao método "Pull" de sincronização de dados do Fluig Identity.

 

Definição da Regra de Negócio

Atualmente a sincronização dos dados entre o Fluig Identity e o ERP é realizada através de serviços REST e ocorrem de duas formas:

  1. Sincronização inicial (fluxo ERP → Identity): sincroniza os dados do ERP enviando-os para o aplicativo do Fluig Identity configurado. Esta é a primeira sincronização que deve ser realizada na integração e, geralmente, executada uma única vez apenas para a carga inicial dos dados.

  2. Sincronização parcial e contínua (fluxo Identity → ERP): após a configuração da integração e sincronização inicial dos dados, a manutenção das informações básicas (usuários, grupos e permissões) serão bloqueadas no ERP, permitindo apenas a manutenção destas através do Fluig Identity. Com isto, é necessário que o ERP disponibilize serviços REST para que o Fluig Identity consiga enviar os dados mantidos no aplicativo.

Devido ao fato do Fluig Identity ser uma ferramenta na nuvem, os serviços REST existentes no ERP devem ser expostos para acesso externo para que a a integração seja concluída e para que seja possível a comunicação do Fluig Identity com o ERP. Todavia, a exposição destes serviços acaba causando desconforto e insegurança nos clientes, além de exigir apoio de equipes de infraestrutura, tendo em vista estes empecilhos que foi criado o método de sincronização no modelo "Pull".

Modelo "Pull" de sincronização

Com o modelo "Pull" ligado no aplicativo do Fluig Identity, toda e qualquer alteração efetuada é armazenada em filas com as informações da operação realizada. Estas informações são posteriormente requisitadas, lidas e executadas pelo ERP efetivando as operações no produto, mantendo assim os dados sincronizados. Atualmente existem duas filas para armazenamento das operações (diagrama #1):

  1. Fila de operações do aplicativo:
    Possuem informações das operações realizadas no aplicativo como: manutenção das informações dos grupos recursos1 e suas permissões.2

  2. Fila de operações dos usuários do aplicativo:
    Possuem informações das operações realizadas em um determinado usuário como: manutenção das informações do usuário, suas permissões e associações com recursos.

1 O Fluig Identity considera como recursos informações do ERP como: empresas, grupos de usuários, itens de menu e consultas rápidas.

2 A manutenção de recursos, bem como a manutenção das permissões de um determinado recurso, atualmente estão disponíveis apenas para recursos do tipo Role (grupos de usuários).

Para recuperar as informações destas filas, o Fluig Identity disponibiliza os serviços REST abaixo:

  • Pending App Operations
    GET /rest/v2/companies/{companyId}/users/{userId}/applications/{appId}/pending-app-operations

  • Pending App Users
    GET /rest/v2/companies/{companyId}/users/{userId}/applications/{appId}/pending-app-users 

  • Pending User Operations
    GET /rest/v2/companies/{companyId}/users/{userId}/applications/{appId}/pending-user-operations

Pending App Operations

Este serviço retorna as informações das operações realizadas no aplicativo como a manutenção de recursos e suas permissões.As informações de retorno virão no formato JSON com a estrutura abaixo:

Bloco de código
[
    {
        "operationName": "DELETE_RESOURCE",
        "operationId": "7eac46ac-bef5-4634-8e01-2bcfed1295d8",
        "dataType": "RESOURCES_LIST",
        "data": [...],
        "companyId": "oaq3ssk03fl6sxvi1410390042739"
    }
]

 

Bloco de código
[
    {
        "operationName": "DELETE_RESOURCE",
        "operationId": "7eac46ac-bef5-4634-8e01-2bcfed1295d8",
        "dataType": "RESOURCES_LIST",
        "data": [...],
        "companyId": "oaq3ssk03fl6sxvi1410390042739"
    }
]

 

Bloco de código
[
    "tvusbzfo6k3dlzkn1410390388116",
    "tqjsi3pr44yfiop91410393173742"
]


Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.

...