Ir para o conteúdo

Fluxo de processos

O FieldTwin Collaborate é um aplicativo opcional que faz parte do FieldTwin Enterprise Suite, que permite verdadeiros fluxos de trabalho visuais colaborativos entre diversas partes interessadas. Isso significa que operadores e EPCs trabalham no mesmo modelo de dados compartilhado, o que garante o acesso granular seguro e o controle de usuários e de dados em todas as partes.

Colaboração bidirecional em tempo real

Fluxo de dados

Estabelecer uma conexão bidirecional segura entre proprietários de ambientes do FieldTwin permite que você tenha uma colaboração em tempo real no mesmo modelo de dados compartilhado. O módulo Collaborate permite que você se conecte a usuários FieldTwin externos e compartilhe com segurança os dados do seu projeto armazenados localmente, eliminando a perda de dados e a duplicação de trabalho. Os usuários externos podem usar os dados compartilhados com os direitos que você escolher conceder a eles. A parte externa pode optar por iniciar uma colaboração de volta, e você alcançará a colaboração bidirecional em tempo real.

Arquitetura de token e handshake

Quando falamos de segurança e controle de dados, o FieldTwin garante que todos os dados sejam armazenados localmente, no banco de dados de locatários do respectivo cliente, para os colaboradores. Além disso, todos os dados são criptografados em REPOUSO e em TRÂNSITO, o que significa que os dados são sempre criptografados quando armazenados (banco de dados) e quando enviados a outros locatários (HTTPS).

Para garantir uma comunicação confiável entre as partes da colaboração, o FieldTwin depende, primeiramente, de estabelecer um handshake mútuo, para reconhecer que uma colaboração deve ser estabelecida entre dois (2) ou mais locatários.

Depois disso, tokens seguros (JWT) são gerados para verificar a confiança entre o locatário da colaboração em toda e em qualquer comunicação.

Definições

Definições usadas ao longo deste documento para descrever a arquitetura e o fluxo de processos:

HOST – é a conta no ambiente que hospedará o backdrop do projeto/subprojeto

CLIENT (CLIENTE) – é a conta no ambiente que hospedará o projeto/subprojeto, na qual o backdrop compartilhado será exibido

JWT TOKEN (TOKEN JWT) – JWT, ou JSON Web Token, é um padrão aberto usado para compartilhar informações de segurança entre duas partes: um cliente e um servidor. Cada JWT contém objetos JSON codificados, incluindo um conjunto de declarações. Para assinar os JWTs são usados um algoritmo criptográfico, para garantir que as declarações não possam ser alteradas após a emissão do token.

HANDSHAKE - handshake é a conexão entre o computador e um dispositivo. O handshake é necessário para permitir que o computador e o dispositivo enviem protocolos mutuamente. Durante um handshake, os dois dispositivos garantem que conhecem determinados requisitos mútuos de conexão.

Estabelecer uma colaboração

Esta seção descreve o processo e o fluxo para estabelecer uma colaboração entre dois (2) ou mais ambientes.

  1. Para iniciar uma colaboração com outra empresa, você, como "HOST", deve entrar em contato com o Customer Success Representative da FutureOn para registrar o ambiente do "CLIENTE" como "colaborador" na sua conta "HOST" (veja a ilustração COLLABORATION abaixo como referência):

O colaborador criado terá dois (2) atributos de informações essenciais, são eles:

O Account ID (ID da conta) do CLIENT locatário e o URL exclusivo do backend do ambiente do "CLIENTE".

  1. Em seguida, no aplicativo FT Collaborate, o "HOST" deve preencher as informações necessárias e clicar no botão Generate and share token (Gerar e compartilhar token).

A ação enviará uma solicitação ao BACKEND do "HOST" com as seguintes informações criptografadas:

  • O NOME da conta para o ambiente do HOST
  • O ID da conta do ambiente do HOST
  • O ID do projeto do subprojeto de "backdrop" que o "HOST" deseja compartilhar
  • O NOME do projeto do subprojeto de "backdrop" que o "HOST" deseja compartilhar
  • O ID do subprojeto (backdrop) que o "HOST" deseja compartilhar
  • O NOME do subprojeto (backdrop) que o "HOST" deseja compartilhar
  • O projeto SRC (Sistema de Referência de Coordenadas)
  • O nome do "CLIENTE"
  • A URL do backend do "CLIENTE"
  • O ID da conta "CLIENTE"
  • A função/direitos de usuário que o "CLIENTE" receberá quando acessar o subprojeto de backdrop do "HOST"
  • O e-mail de contato do "CLIENTE" a quem o link de ativação/instruções para estabelecer a colaboração será enviado

  • Com os dados fornecidos na etapa 2, o BACKEND do "HOST" vai:

a) Criar um token JWT ASSINADO (HANDSHAKE_TOKEN) composto pelas seguintes informações:

ID - O ID novo e exclusivo para o
conteúdo do token - Uma cadeia de caracteres de desafio de resposta nova e exclusiva para o AccountID (IDConta) do token - O ID da conta do backend do ambiente do HOST - O URL do hostAccountID (IDContahost) do backend do ambiente do CLIENTE - O ID da conta do ambiente do CLIENTE

b) Isso gera um URL de handshake para o ambiente do CLIENTE

Para criar o URL, é usado o seguinte padrão:

https://<[baseURL do backend do CLIENTE]>/hand-shake/start-redirect/[ID da conta CLIENTE]/[HAND_SHAKE_TOKEN]

c) O URL é enviado ao endereço de e-mail fornecido como contato na etapa 2

d) Quando o "CLIENTE" clicar no link do e-mail, ele será redirecionado ao seu próprio aplicativo FT Collaborate, e será solicitado que ele faça login, se ainda não tiver feito

e) Depois feito o login, o aplicativo FT Collaborate do "CLIENTE" fará a solicitação ao seu próprio backend, enviando o "HAND_SHAKE_TOKEN" exclusivo

f) O backend do "CLIENTE" registrará o par de IDs de conteúdo exclusivo do HAND_SHAKE_TOKEN

g) O backend do "CLIENTE" enviará uma solicitação ao backend do "HOST" que terá apenas o ID do HAND_SHAKE_TOKEN

h) O backend do "HOST" verificará se a origem da solicitação corresponde ao "URL do backend" registrado na etapa 2

i) O backend do "HOST" fará uma solicitação ao URL de backend do "CLIENTE" (como registrado na etapa 2) com o ID do HAND_SHAKE_TOKEN

j) O backend do "CLIENTE" responderá com o conteúdo do HAND_SHAKE_TOKEN

k) O backend do "HOST" verifica se a resposta de volta é a esperada

l) Em seguida , um novo token JWT assinado é criado (COLLAB_GENERATOR) com período de sessão ativa mais longo e o envia de volta com as informações necessárias para acessar o backdrop do "HOST" no backend do "CLIENTE"

Colaboração: estabelecer fluxo de processos

O diagrama a seguir descreve a configuração da colaboração, incluindo a geração de handshake e o fluxo de processos/dados entre os ambientes de colaboração:

Texto alternativo

O último token criado (COLLAB_GENERATOR) só será usado na comunicação do ambiente de backend do "CLIENTE" com o ambiente de backend do "HOST". E, então, apenas para gerar tokens com vida útil curta (< 2 horas) que permitirão que os usuários do ambiente do "CLIENTE" acessem o backdrop do ambiente do "HOST".

Acesso a dados e fluxo de permissões

O diagrama descreve o direito de acesso a dados de colaboração e o fluxo de permissões entre os ambientes:

Texto alternativo