jedinintegrationipaasstackarquiteturanestjscamel-kkubernetes

JedIN Integration — Stack Tecnológica Completa do iPaaS Core

JedIN Team2026-04-229 min de leitura

O iPaaS Core do JedIN

O produto JedIN Integration é o coração da plataforma — o iPaaS (Integration Platform as a Service) que concorre diretamente com SAP CPI, Mulesoft e n8n. Este post documenta a stack tecnológica completa, camada por camada, com versões, bibliotecas e arquivos de referência.

É uma wiki técnica orientada a arquitetos, tech leads e engenheiros que precisam de visibilidade total sobre o que roda em produção.


Linguagens de Programação

CamadaLinguagemVersão
FrontendTypeScript5.3
Backend (Control Plane)TypeScript5.3
Runtime (Data Plane)Java21 LTS
Flow DSL compiladaYAML (Camel K routes)
InfraYAML (K8s manifests)
Scripts custom em flowsJavaScript / Groovy (sandbox)
MCP serversJavaScript ES2022Node 20

TypeScript é a linguagem principal do Control Plane e do Frontend. Java 21 aparece apenas no Data Plane — Apache Camel K roda sobre Quarkus com startup ~1 segundo.


Presentation Layer — Frontend

Framework e Renderização

TecnologiaVersãoUso
Next.js14.1App Router, SSR/SSG, middleware i18n
React18.2UI library
TypeScript5.3Tipagem estática

Flow Designer (Canvas Visual)

O coração do produto:

  • React Flow 11.10.2 — canvas de nodes e edges
  • Zustand 4.4.7 + Immer 10.0.3 — state management imutável em apps/web/stores/flow-designer.store.ts
  • Monaco Editor (@monaco-editor/react 4.7) — editor de código para scripts, XSLT, expressões
  • Node types registrados (13+): action, connector, trigger, transform, router, script, participant, event, container, integration-process, exception-subprocess, gateway, local-integration, annotation

Stores adicionais: auth, deployment, simulation, target-system, r2cx-project.

UI e Styling

TecnologiaVersãoUso
Tailwind CSS3.4.1Utility-first styling
shadcn/uilatestPadrão de componentes
Radix UIlatestPrimitivos (dialog, dropdown, select, slot, toast)
Lucide React0.309Ícones
next-themes0.2.1Dark/light mode

Data, Forms e Real-time

  • TanStack React Query 5.17 — server state, cache, refetch
  • Socket.io-client 4.8 — deploy status, colaboração real-time
  • react-hook-form 7.49 + Zod 3.22.4 — forms validados
  • next-intl 3.4 — i18n pt-BR / en-US / es, timezone America/Sao_Paulo

Observability Client-side

  • @sentry/nextjs 10.40 — error tracking
  • html-to-image 1.11 — screenshots de flows
  • react-markdown 10.1 + remark-gfm — documentação inline

Management Layer — Backend

Framework e Runtime

TecnologiaVersãoUso
Node.js20 LTSRuntime
NestJS10.3Framework modular
Express5.2.1HTTP adapter
TypeScript5.3Linguagem

Persistência e ORM

  • Prisma 5.8 — ORM type-safe, schema em apps/api/prisma/schema.prisma (4.364 linhas)
  • @prisma/client — cliente gerado
  • pg / pgcrypto — Postgres driver + criptografia de secrets

Async, Queue e Jobs

  • BullMQ 5.1 + @nestjs/bullmq 10 — filas de execução, webhooks, notificações, DLQ
  • @nestjs/schedule 4.x — cron jobs (flow triggers, scheduled integrations)
  • ioredis 5.3.2 — cliente Redis
  • Worker app separado: apps/worker/ (NestJS standalone)

Auth e Segurança

TecnologiaVersãoUso
@nestjs/jwt10.2Access token (15min) + Refresh token (7d)
Passport0.7Local, JWT, LDAP, OpenID
passport-jwt4.0.1JWT strategy
ldapjs3.0.7LDAP/AD corporativo
openid-client6.8.2OpenID Connect SSO
otplib13.3MFA / TOTP
bcrypt5.1.1Password hashing
Helmet8.1Security headers

Integração com Kubernetes

  • @kubernetes/client-node — cliente oficial K8s
  • Localização: apps/api/src/modules/deployment/kubernetes.client.ts
  • Gerencia CRDs Camel K (Integration, IntegrationKit, Kamelet) e KEDA ScaledObject

Utilitários Backend

LibVersãoUso
pdfkit0.15Geração de PDFs
pdf-parse2.4Parsing de PDFs
mammoth1.12DOCX → HTML/texto
xlsx0.18Excel
fast-xml-parser5.3XML/SOAP
cheerio1.0HTML parsing
node-forge1.3Crypto (X.509, RSA)
class-validator0.14DTOs validation

Observability

  • OpenTelemetry SDK + OTLP HTTP exporter
  • Jaeger — distributed tracing
  • Prometheus + Grafana — métricas
  • @sentry/nestjs 10.40 — error tracking
  • Health checks customizados

Flow Compiler (JSON → Camel YAML)

Localização: packages/flow-engine/ · 864 testes Vitest

O compilador transforma o JSON do flow designer em manifests executáveis:

ArquivoResponsabilidade
compiler/camel-generator.ts40+ conversores (EIPs, transformers, encoders, crypto, validators) → Camel YAML
compiler/k8s-manifests.tsGera CRDs camel.apache.org/v1/Integration + keda.sh/v1alpha1/ScaledObject
compiler/parser.tsParse e normalização do flow JSON
compiler/planner.tsPlanejamento de execução
compiler/validator.tsValidação schema + semântica
iflow-parser.ts / iflow-generator.tsImport/export de SAP CPI iFlow (ZIP)

Resource limits por tier:

TierCPURAMReplicas
Free100m128Mi0–1
Starter250m256Mi0–3
Professional500m512Mi0–10
Enterprise1000m1Gi0–50

Runtime Layer — Data Plane

TecnologiaVersãoUso
Apache Camel K2.9.xIntegration Engine (300+ conectores)
QuarkuslatestRuntime JVM (~1s startup)
Java21 LTSLinguagem
KEDA1.xEvent-driven auto-scaling
Kubernetes (EKS)1.35 AL2023Container orchestration

CRDs Camel K usadas

CRDDescrição
IntegrationPlatformConfiguração por namespace (registry, trait defaults)
IntegrationFlow compilado (source + traits + dependências)
IntegrationKitImagem base com deps Maven resolvidas
KameletTemplate reutilizável de conector

KEDA Auto-scaling

  • Polling interval: 30s
  • Cooldown period: 300s
  • Min replicas: 0 (scale-to-zero em tier Free)
  • Max replicas: 50 (tier Enterprise)
  • Fallback replicas: 3 (se scaler falhar)

Multi-tenancy no Runtime

  • Free/Starter — namespace compartilhado jedin
  • Professional — namespace-per-tenant (jedin-tenant-<id>)
  • Enterprise — dedicated namespace + ResourceQuota + NetworkPolicy + BYOK

Data Layer

StoreTecnologiaPorta devUso
Primary DBPostgreSQL16, porta 5433Transactional, RLS multi-tenant, partitioning
Cache / SessionsRedis7, porta 6379BullMQ backend, DLQ, cache
Object StorageMinIO (S3-compat)porta 9000Artifacts, flow definitions, execution logs
Event StreamApache KafkaopcionalDLQ para >100k msg/dia
AnalyticsClickHouseopcionalMétricas agregadas, long-term storage

Row-Level Security (RLS)

Toda tabela com tenant_id tem política RLS ativa:

CREATE POLICY tenant_isolation ON flows
  FOR ALL
  USING (tenant_id = current_setting('app.tenant_id')::uuid);

Setting injetada por Tenant Middleware do NestJS em cada request: SET app.tenant_id = '<uuid>'.

Partitioning

Tabelas de alto volume (execution logs, audit, message traces) usam particionamento por data. Scripts em apps/api/prisma/scripts/.


Connector SDK

Localização: packages/connector-sdk/ · 327 testes Vitest

Conectores built-in por categoria

CategoriaConectores
HTTPREST, Webhook, Timer
DatabasePostgreSQL, MySQL
AWSS3, SQS, SNS, DynamoDB, Lambda
AzureService Bus, Storage, Event Hubs
GCPPub/Sub, BigQuery, Storage
MessagingAMQP, Kafka (KafkaJS), IMAP, SFTP (ssh2-sftp-client 10)
EnterpriseSAP CPI, TOTVS, Vtex, C4C, S/4HANA, ABAP
Format/TransformSOAP (soap npm), XSLT (xslt-processor), OpenPGP 5.11, JSON, XML, CSV

Ecossistema MCP (Model Context Protocol)

30 servidores MCP · 307 tools totais

Core

MCPToolsFunção
mcp-jedin79Core iPaaS API + Playwright híbrido (Live View)
mcp-sharedbasePlaywright browser management compartilhado

Integração (amostra)

mcp-abap, mcp-s4hana, mcp-cpi, mcp-sac, mcp-totvs, mcp-vtex, mcp-salesforce, mcp-hubspot, mcp-jira, mcp-slack, mcp-whatsapp, mcp-postgres, mcp-mongodb, mcp-snowflake, mcp-shopify, mcp-stripe, mcp-pagseguro, mcp-mercadolivre, mcp-emarsys, mcp-powerbi, mcp-powerapps, mcp-github, mcp-sefaz.


DevOps & Deploy

Build e CI/CD

FerramentaUso
pnpm workspaceMonorepo
TurboBuild pipeline (turbo.json)
kanikoBuild in-cluster (envFrom aws-creds)
AWS ECRContainer registry (005250954903.dkr.ecr.sa-east-1)
GitHub ActionsCI/CD
Husky + lint-stagedGit hooks

Ambiente de Desenvolvimento

docker-compose.dev.yml sobe:

  • Postgres 16 (porta 5433)
  • Redis 7 (porta 6379)
  • MinIO (portas 9000/9001)
  • Camel standalone (JBang ou Camel Main, Alpine JRE 21)
  • Jaeger, Prometheus, Grafana

Produção (AWS)

RecursoDetalhe
EKS1.35 AL2023
Node groupsm7i-flex.large (dedicado), t3-spot (overflow), openclaw-spot t3a.xlarge
Auto-scheduleLambda jedin-scheduler — Mon-Fri 08:00-23:30 BRT, weekends OFF
IRSAjedin-dev-ebs-csi-role para EBS CSI
Custo total~USD 299/mês (dev env)

Quality Gates

MétricaValor
Test suites129+
Testes totais3.558+
Coverage overall80% (target 85%)
Coverage services80% (target 90%)
TypeScriptstrict mode
LintESLint + Prettier (pre-commit)

Arquivos-chave para Navegação

  • Prisma schema: apps/api/prisma/schema.prisma
  • Flow Designer store: apps/web/stores/flow-designer.store.ts
  • Canvas: apps/web/components/flow-designer/canvas.tsx
  • Camel generator: packages/flow-engine/src/compiler/camel-generator.ts
  • K8s client: apps/api/src/modules/deployment/kubernetes.client.ts
  • Módulos NestJS: apps/api/src/modules/ (171+ services)

Resumo

O JedIN Integration é uma arquitetura de 4 camadas com separação rígida:

  1. Presentation — Next.js 14 + React Flow + Zustand
  2. Management — NestJS 10 + Prisma 5 + BullMQ + JWT multi-estratégia
  3. Runtime — Camel K 2.9 + Quarkus + Java 21 + KEDA
  4. Data — PostgreSQL 16 (RLS) + Redis 7 + MinIO + Kafka/ClickHouse opcional

A stack é opinionada, madura e otimizada para multi-tenancy real com isolamento por tier (RLS → schema-per-tenant → database-per-tenant + namespace K8s dedicado).

Para os produtos satélites que rodam sobre este core, veja:

Related Articles

Fale conosco pelo WhatsApp