# Introdução

O TaakHub é um middleware poderoso e flexível projetado para facilitar a integração entre sistemas, automatizar processos empresariais e centralizar a gestão de fluxos de trabalho. Ele permite que organizações conectem diferentes sistemas de forma intuitiva, utilizando um canvas interativo no formato de fluxograma, onde integrações podem ser construídas com a simples técnica de arrastar e soltar.

# 🏗️ Estrutura

O funcionamento do TaakHub é baseado em diferentes entidades, cada uma com uma função específica dentro do ecossistema. Abaixo, apresentamos um resumo de cada entidade e sua funcionalidade:

# 🏢 Organização

Uma organização é a unidade principal dentro do TaakHub. Cada organização pode conter múltiplos projetos e usuários, garantindo a segmentação de acessos e gestão eficiente dos recursos.

# 👥 Usuário da Organização (pendente)

Um usuário da organização é um convidado que pode acessar projetos e outras entidades dentro da organização, conforme as permissões concedidas.

# 📂 Projeto

O projeto agrupa os elementos necessários para uma integração, como instruções, gatilhos e credenciais. Um exemplo de projeto seria a integração entre um CRM Salesforce e um ERP SAP.

# Gatilho (pendente)

Os gatilhos são responsáveis por iniciar uma instrução. Eles podem operar periodicamente por meio de uma expressão CRON, ou serem ativados por requisições externas para processar dados dinâmicos.

# 🔑 Credencial (pendente)

A credencial gerencia a autenticação entre sistemas. Ela fornece os parâmetros necessários para que uma instrução possa acessar serviços externos, suportando diversos tipos de autenticação, como OAuth2 e Bearer Token.

# Instrução (pendente)

Uma instrução é um conjunto de ações interconectadas que executam uma integração. Cada ação é representada visualmente no Canvas (pendente), permitindo que os usuários configurem fluxos de trabalho com facilidade.

# Ação (pendente)

As ações são os blocos de construção das instruções. Elas executam tarefas específicas, como requisição HTTP, decisão, loop, atribuição de variáveis, transformação de dados e operações de banco de dados. Também existem ações de template, que encapsulam comportamentos comuns de sistemas externos, como a criação de leads no CRM ou o cadastro de clientes no ERP.


# O Canvas (pendente)

O Canvas (pendente) é a interface visual onde as integrações são criadas no TaakHub. Ele funciona com um sistema drag-and-drop (arrastar e soltar), permitindo que os usuários conectem diferentes ações e instruções de maneira intuitiva. Cada elemento do Canvas (pendente) representa uma parte do fluxo da integração, e suas conexões determinam a ordem e lógica do processamento.

# 📌 Exemplo de Fluxo no Canvas (pendente)

A imagem abaixo ilustra um fluxo de integração construído no TaakHub:

Exemplo de Fluxo no Canvas
Exemplo de Fluxo no Canvas

# Descrição do Fluxo

  1. Buscar dados - Simula uma busca de registros alterados.
  2. Transformação inicial - Remove espaços em branco e otimiza o payload.
  3. Guardar objeto principal - Armazena os dados principais para processamento.
  4. Loop em opcionais - Percorre listas de dados opcionais.
  5. Transformação para Product2 no Salesforce - Ajusta os dados para o formato do CRM.
  6. Upsert de produtos no Salesforce - Insere ou atualiza produtos.
  7. Loop em estruturas e KitAccessoryType - Processa cada estrutura e converte os dados.
  8. Upsert de estruturas e KitAccessoryType - Envia os dados convertidos para o Salesforce.
  9. Definição de código de resposta - Configura a resposta final do fluxo.

# 🔄 Transformação de Dados com DataWeave

O TaakHub utiliza o DataWeave, uma poderosa linguagem de transformação de dados, para converter e manipular conteúdo entre sistemas. Com o DataWeave, é possível:

  • Converter formatos como JSON, XML, CSV e SQL
  • Criar mapeamentos personalizados para cada sistema
  • Aplicar regras de negócio dinâmicas durante o processamento

Teremos uma seção dedicada à transformação de dados para aprofundar esse tema.


# 🔍 Explore mais!

Cada uma dessas entidades possui sua própria página com mais detalhes e exemplos práticos. Utilize os links ao longo deste documento para navegar entre as seções e aprender mais sobre o funcionamento do TaakHub.

💡 Agora que você conhece a estrutura do TaakHub, que tal explorar os detalhes de cada entidade? Comece pela Organização ou veja como Criar um Projeto (pendente). 🚀