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 através dos serviços REST disponibilizados pelo mesmo.

 

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 disponibilizados por ambas as ferramentas ambos e podem ocorrer de duas formas:

  1. Sincronização inicial (fluxo ERP → Identity): sincroniza os dados do ERP enviando-os para o aplicativo do Fluig Identity configurado. Estes dados são enviados através de um serviço REST para o contexto do Fluig Identity que se encontra na nuvem. Esta é a primeira sincronização que deve ser realizada na integração e, geralmente, executada uma única vez apenas para a carga dos dados iniciais.

  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 de usuários e permissões) serão bloqueadas no ERP, permitindo apenas a manutenção destas informações através do Fluig Identity. Para isto é necessário que o ERP disponibilize serviços REST para que o Fluig Identity consiga enviar os dados criados e alterados 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. Apenas desta forma a integração será concluída e o Fluig Identity conseguirá se comunicar com o ERP, porém a exposição destes serviços acaba causando desconforto e insegurança nos clientes, além de exigir apoio de equipes de infraestrutura. Foi pensando nestes empecilhos que foi criado o método de sincronização no modelo "Pull".

Método "Pull" de sincronização

O modelo "Pull" disponibilizado pelo Fluig Identity funciona de forma muito simples: toda e qualquer alteração efetuada no aplicativo (manutenção de usuários, grupos e permissões) é guardada em filas com as informações da operação realizada. As informações destas filas serão posteriormente requisitadas, lidas e executadas pelo ERP efetivando estas operações no produto, mantendo assim os dados sincronizados. O Fluig Identity possui duas filas distintas para armazenamento das operações, sendo:

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

  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 grupos.

Para recuperar as informas destas filas, o Fluig Identity disponibiliza alguns serviços REST:

  • Pending App Operations
    GET /rest/v2/companies/{companyId}/users/{userId}/applications/{appId}/pending-app-operations 
    Retorna as informações das operações realizadas no aplicativo 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"
        }
    ]
  • Pending App Users
    GET /rest/v2/companies/{companyId}/users/{userId}/applications/{appId}/pending-app-users
    Retorna os usuários que tiveram operações realizadas no aplicativo no formato JSON com a estrutura abaixo: 

    Bloco de código
    [
        "tvusbzfo6k3dlzkn1410390388116",
        "tqjsi3pr44yfiop91410393173742"
    ]
  • Pending User Operations
    GET /rest/v2/companies/{companyId}/users/{userId}/applications/{appId}/pending-user-operations
    Retorna as informações das operações realizadas para um determinado usuário no formato JSON com a estrutura abaixo: 

    Bloco de código
    [
        {
            "operationName": "REMOVE_ENTITLEMENTS",
            "operationId": "5e44db39-3d23-4a05-a00c-8e1260fb9f9f",
            "dataType": "RAC_RESOURCES_DTO_LIST",
            "data": [...],
            "companyId": "oaq3ssk03fl6sxvi1410390042739"
        }
    ]

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"
    }
]


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

...