jedinintegrationipaasstackarquitecturanestjscamel-kkubernetes

JedIN Integration — Stack Tecnológica Completa del iPaaS Core

JedIN Team2026-04-229 min de lectura

El iPaaS Core de JedIN

El producto JedIN Integration es el corazón de la plataforma — el iPaaS (Integration Platform as a Service) que compite directamente con SAP CPI, Mulesoft y n8n. Este post documenta la stack tecnológica completa, capa por capa, con versiones, bibliotecas y archivos de referencia.

Es una wiki técnica orientada a arquitectos, tech leads e ingenieros que necesitan visibilidad total sobre lo que se ejecuta en producción.


Lenguajes de Programación

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

TypeScript es el lenguaje principal del Control Plane y del Frontend. Java 21 aparece solo en el Data Plane — Apache Camel K corre sobre Quarkus con arranque de ~1 segundo.


Presentation Layer — Frontend

Framework y Renderizado

TecnologíaVersiónUso
Next.js14.1App Router, SSR/SSG, middleware i18n
React18.2UI library
TypeScript5.3Tipado estático

Flow Designer (Canvas Visual)

El corazón del producto:

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

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

UI y Styling

TecnologíaVersiónUso
Tailwind CSS3.4.1Utility-first styling
shadcn/uilatestPatrón de componentes
Radix UIlatestPrimitivos (dialog, dropdown, select, slot, toast)
Lucide React0.309Íconos
next-themes0.2.1Dark/light mode

Data, Forms y Real-time

  • TanStack React Query 5.17 — server state, caché, refetch
  • Socket.io-client 4.8 — deploy status, colaboración 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 — documentación inline

Management Layer — Backend

Framework y Runtime

TecnologíaVersiónUso
Node.js20 LTSRuntime
NestJS10.3Framework modular
Express5.2.1HTTP adapter
TypeScript5.3Lenguaje

Persistencia y ORM

  • Prisma 5.8 — ORM type-safe, schema en apps/api/prisma/schema.prisma (4,364 líneas)
  • @prisma/client — cliente generado
  • pg / pgcrypto — driver Postgres + cifrado de secrets

Async, Queue y Jobs

  • BullMQ 5.1 + @nestjs/bullmq 10 — colas de ejecución, webhooks, notificaciones, 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 y Seguridad

TecnologíaVersiónUso
@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

Integración con Kubernetes

  • @kubernetes/client-node — cliente oficial K8s
  • Ubicación: apps/api/src/modules/deployment/kubernetes.client.ts
  • Gestiona CRDs Camel K (Integration, IntegrationKit, Kamelet) y KEDA ScaledObject

Utilidades Backend

LibVersiónUso
pdfkit0.15Generación 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 custom

Flow Compiler (JSON → Camel YAML)

Ubicación: packages/flow-engine/ · 864 tests Vitest

El compilador transforma el JSON del flow designer en manifests ejecutables:

ArchivoResponsabilidad
compiler/camel-generator.ts40+ conversores (EIPs, transformers, encoders, crypto, validators) → Camel YAML
compiler/k8s-manifests.tsGenera CRDs camel.apache.org/v1/Integration + keda.sh/v1alpha1/ScaledObject
compiler/parser.tsParse y normalización del flow JSON
compiler/planner.tsPlanificación de ejecución
compiler/validator.tsValidación 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

TecnologíaVersiónUso
Apache Camel K2.9.xIntegration Engine (300+ conectores)
QuarkuslatestRuntime JVM (~1s arranque)
Java21 LTSLenguaje
KEDA1.xEvent-driven auto-scaling
Kubernetes (EKS)1.35 AL2023Container orchestration

CRDs Camel K usadas

CRDDescripción
IntegrationPlatformConfiguración por namespace (registry, trait defaults)
IntegrationFlow compilado (source + traits + dependencias)
IntegrationKitImagen base con deps Maven resueltas
KameletTemplate reutilizable de conector

KEDA Auto-scaling

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

Multi-tenancy en el Runtime

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

Data Layer

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

Row-Level Security (RLS)

Toda tabla con tenant_id tiene política RLS activa:

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

Setting inyectada por Tenant Middleware de NestJS en cada request: SET app.tenant_id = '<uuid>'.

Partitioning

Tablas de alto volumen (execution logs, audit, message traces) usan particionamiento por fecha. Scripts en apps/api/prisma/scripts/.


Connector SDK

Ubicación: packages/connector-sdk/ · 327 tests Vitest

Conectores built-in por categoría

CategoríaConectores
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

Ecosistema MCP (Model Context Protocol)

30 servidores MCP · 307 herramientas totales

Core

MCPToolsFunción
mcp-jedin79Core iPaaS API + Playwright híbrido (Live View)
mcp-sharedbaseGestión compartida de navegador Playwright

Integración (muestra)

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 y CI/CD

HerramientaUso
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 Desarrollo

docker-compose.dev.yml levanta:

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

Producción (AWS)

RecursoDetalle
EKS1.35 AL2023
Node groupsm7i-flex.large (dedicado), t3-spot (overflow), openclaw-spot t3a.xlarge
Auto-scheduleLambda jedin-scheduler — Lun-Vie 08:00-23:30 BRT, fines de semana OFF
IRSAjedin-dev-ebs-csi-role para EBS CSI
Costo total~USD 299/mes (dev env)

Quality Gates

MétricaValor
Test suites129+
Tests totales3,558+
Coverage overall80% (target 85%)
Coverage services80% (target 90%)
TypeScriptstrict mode
LintESLint + Prettier (pre-commit)

Archivos Clave para Navegación

  • 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)

Resumen

JedIN Integration es una arquitectura de 4 capas con separación rígida:

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

La stack es opinada, madura y optimizada para multi-tenancy real con aislamiento por tier (RLS → schema-per-tenant → database-per-tenant + namespace K8s dedicado).

Para los productos satélite que corren sobre este core, ver:

Related Articles

Hable con nosotros por WhatsApp