JedIN Integration — Complete iPaaS Core Technology Stack
The JedIN iPaaS Core
The JedIN Integration product is the heart of the platform — an iPaaS (Integration Platform as a Service) competing directly with SAP CPI, Mulesoft, and n8n. This post documents the complete technology stack, layer by layer, with versions, libraries, and reference files.
It is a technical wiki targeted at architects, tech leads, and engineers who need full visibility into what runs in production.
Programming Languages
| Layer | Language | Version |
|---|---|---|
| Frontend | TypeScript | 5.3 |
| Backend (Control Plane) | TypeScript | 5.3 |
| Runtime (Data Plane) | Java | 21 LTS |
| Compiled Flow DSL | YAML (Camel K routes) | — |
| Infra | YAML (K8s manifests) | — |
| Custom scripts in flows | JavaScript / Groovy (sandbox) | — |
| MCP servers | JavaScript ES2022 | Node 20 |
TypeScript is the primary language for Control Plane and Frontend. Java 21 appears only on the Data Plane — Apache Camel K runs on Quarkus with ~1 second startup.
Presentation Layer — Frontend
Framework and Rendering
| Technology | Version | Usage |
|---|---|---|
| Next.js | 14.1 | App Router, SSR/SSG, i18n middleware |
| React | 18.2 | UI library |
| TypeScript | 5.3 | Static typing |
Flow Designer (Visual Canvas)
The heart of the product:
- React Flow 11.10.2 — node and edge canvas
- Zustand 4.4.7 + Immer 10.0.3 — immutable state management in
apps/web/stores/flow-designer.store.ts - Monaco Editor (
@monaco-editor/react4.7) — code editor for scripts, XSLT, expressions - Registered node types (13+): action, connector, trigger, transform, router, script, participant, event, container, integration-process, exception-subprocess, gateway, local-integration, annotation
Additional stores: auth, deployment, simulation, target-system, r2cx-project.
UI and Styling
| Technology | Version | Usage |
|---|---|---|
| Tailwind CSS | 3.4.1 | Utility-first styling |
| shadcn/ui | latest | Component pattern |
| Radix UI | latest | Primitives (dialog, dropdown, select, slot, toast) |
| Lucide React | 0.309 | Icons |
| next-themes | 0.2.1 | Dark/light mode |
Data, Forms, and Real-time
- TanStack React Query 5.17 — server state, cache, refetch
- Socket.io-client 4.8 — deploy status, real-time collaboration
- react-hook-form 7.49 + Zod 3.22.4 — validated forms
- next-intl 3.4 — i18n pt-BR / en-US / es, timezone America/Sao_Paulo
Client-side Observability
- @sentry/nextjs 10.40 — error tracking
- html-to-image 1.11 — flow screenshots
- react-markdown 10.1 + remark-gfm — inline documentation
Management Layer — Backend
Framework and Runtime
| Technology | Version | Usage |
|---|---|---|
| Node.js | 20 LTS | Runtime |
| NestJS | 10.3 | Modular framework |
| Express | 5.2.1 | HTTP adapter |
| TypeScript | 5.3 | Language |
Persistence and ORM
- Prisma 5.8 — type-safe ORM, schema at
apps/api/prisma/schema.prisma(4,364 lines) - @prisma/client — generated client
- pg / pgcrypto — Postgres driver + secret encryption
Async, Queue, and Jobs
- BullMQ 5.1 + @nestjs/bullmq 10 — execution queues, webhooks, notifications, DLQ
- @nestjs/schedule 4.x — cron jobs (flow triggers, scheduled integrations)
- ioredis 5.3.2 — Redis client
- Separate worker app:
apps/worker/(NestJS standalone)
Auth and Security
| Technology | Version | Usage |
|---|---|---|
| @nestjs/jwt | 10.2 | Access token (15min) + Refresh token (7d) |
| Passport | 0.7 | Local, JWT, LDAP, OpenID |
| passport-jwt | 4.0.1 | JWT strategy |
| ldapjs | 3.0.7 | Corporate LDAP/AD |
| openid-client | 6.8.2 | OpenID Connect SSO |
| otplib | 13.3 | MFA / TOTP |
| bcrypt | 5.1.1 | Password hashing |
| Helmet | 8.1 | Security headers |
Kubernetes Integration
- @kubernetes/client-node — official K8s client
- Location:
apps/api/src/modules/deployment/kubernetes.client.ts - Manages Camel K CRDs (
Integration,IntegrationKit,Kamelet) and KEDAScaledObject
Backend Utilities
| Library | Version | Usage |
|---|---|---|
| pdfkit | 0.15 | PDF generation |
| pdf-parse | 2.4 | PDF parsing |
| mammoth | 1.12 | DOCX → HTML/text |
| xlsx | 0.18 | Excel |
| fast-xml-parser | 5.3 | XML/SOAP |
| cheerio | 1.0 | HTML parsing |
| node-forge | 1.3 | Crypto (X.509, RSA) |
| class-validator | 0.14 | DTO validation |
Observability
- OpenTelemetry SDK + OTLP HTTP exporter
- Jaeger — distributed tracing
- Prometheus + Grafana — metrics
- @sentry/nestjs 10.40 — error tracking
- Custom health checks
Flow Compiler (JSON → Camel YAML)
Location: packages/flow-engine/ · 864 Vitest tests
The compiler transforms flow designer JSON into executable manifests:
| File | Responsibility |
|---|---|
compiler/camel-generator.ts | 40+ converters (EIPs, transformers, encoders, crypto, validators) → Camel YAML |
compiler/k8s-manifests.ts | Generates camel.apache.org/v1/Integration + keda.sh/v1alpha1/ScaledObject CRDs |
compiler/parser.ts | Flow JSON parsing and normalization |
compiler/planner.ts | Execution planning |
compiler/validator.ts | Schema + semantic validation |
iflow-parser.ts / iflow-generator.ts | SAP CPI iFlow import/export (ZIP) |
Resource limits by tier:
| Tier | CPU | RAM | Replicas |
|---|---|---|---|
| Free | 100m | 128Mi | 0–1 |
| Starter | 250m | 256Mi | 0–3 |
| Professional | 500m | 512Mi | 0–10 |
| Enterprise | 1000m | 1Gi | 0–50 |
Runtime Layer — Data Plane
| Technology | Version | Usage |
|---|---|---|
| Apache Camel K | 2.9.x | Integration Engine (300+ connectors) |
| Quarkus | latest | JVM runtime (~1s startup) |
| Java | 21 LTS | Language |
| KEDA | 1.x | Event-driven auto-scaling |
| Kubernetes (EKS) | 1.35 AL2023 | Container orchestration |
Camel K CRDs Used
| CRD | Description |
|---|---|
| IntegrationPlatform | Per-namespace config (registry, trait defaults) |
| Integration | Compiled flow (source + traits + dependencies) |
| IntegrationKit | Base image with resolved Maven deps |
| Kamelet | Reusable connector template |
KEDA Auto-scaling
- Polling interval: 30s
- Cooldown period: 300s
- Min replicas: 0 (scale-to-zero on Free tier)
- Max replicas: 50 (Enterprise tier)
- Fallback replicas: 3 (if scaler fails)
Runtime Multi-tenancy
- Free/Starter — shared namespace
jedin - Professional — namespace-per-tenant (
jedin-tenant-<id>) - Enterprise — dedicated namespace + ResourceQuota + NetworkPolicy + BYOK
Data Layer
| Store | Technology | Dev Port | Usage |
|---|---|---|---|
| Primary DB | PostgreSQL | 16, port 5433 | Transactional, multi-tenant RLS, partitioning |
| Cache / Sessions | Redis | 7, port 6379 | BullMQ backend, DLQ, cache |
| Object Storage | MinIO (S3-compat) | port 9000 | Artifacts, flow definitions, execution logs |
| Event Stream | Apache Kafka | optional | DLQ for >100k msg/day |
| Analytics | ClickHouse | optional | Aggregated metrics, long-term storage |
Row-Level Security (RLS)
Every table with tenant_id has an active RLS policy:
CREATE POLICY tenant_isolation ON flows
FOR ALL
USING (tenant_id = current_setting('app.tenant_id')::uuid);
Setting injected by NestJS Tenant Middleware on every request: SET app.tenant_id = '<uuid>'.
Partitioning
High-volume tables (execution logs, audit, message traces) use date-based partitioning. Scripts in apps/api/prisma/scripts/.
Connector SDK
Location: packages/connector-sdk/ · 327 Vitest tests
Built-in Connectors by Category
| Category | Connectors |
|---|---|
| HTTP | REST, Webhook, Timer |
| Database | PostgreSQL, MySQL |
| AWS | S3, SQS, SNS, DynamoDB, Lambda |
| Azure | Service Bus, Storage, Event Hubs |
| GCP | Pub/Sub, BigQuery, Storage |
| Messaging | AMQP, Kafka (KafkaJS), IMAP, SFTP (ssh2-sftp-client 10) |
| Enterprise | SAP CPI, TOTVS, Vtex, C4C, S/4HANA, ABAP |
| Format/Transform | SOAP (soap npm), XSLT (xslt-processor), OpenPGP 5.11, JSON, XML, CSV |
MCP Ecosystem (Model Context Protocol)
30 MCP servers · 307 total tools
Core
| MCP | Tools | Function |
|---|---|---|
| mcp-jedin | 79 | Core iPaaS API + Playwright hybrid (Live View) |
| mcp-shared | base | Shared Playwright browser management |
Integration (sample)
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 and CI/CD
| Tool | Usage |
|---|---|
| pnpm workspace | Monorepo |
| Turbo | Build pipeline (turbo.json) |
| kaniko | In-cluster build (envFrom aws-creds) |
| AWS ECR | Container registry (005250954903.dkr.ecr.sa-east-1) |
| GitHub Actions | CI/CD |
| Husky + lint-staged | Git hooks |
Development Environment
docker-compose.dev.yml brings up:
- Postgres 16 (port 5433)
- Redis 7 (port 6379)
- MinIO (ports 9000/9001)
- Camel standalone (JBang or Camel Main, Alpine JRE 21)
- Jaeger, Prometheus, Grafana
Production (AWS)
| Resource | Detail |
|---|---|
| EKS | 1.35 AL2023 |
| Node groups | m7i-flex.large (dedicated), t3-spot (overflow), openclaw-spot t3a.xlarge |
| Auto-schedule | Lambda jedin-scheduler — Mon-Fri 08:00-23:30 BRT, weekends OFF |
| IRSA | jedin-dev-ebs-csi-role for EBS CSI |
| Total cost | ~USD 299/month (dev env) |
Quality Gates
| Metric | Value |
|---|---|
| Test suites | 129+ |
| Total tests | 3,558+ |
| Overall coverage | 80% (target 85%) |
| Services coverage | 80% (target 90%) |
| TypeScript | strict mode |
| Lint | ESLint + Prettier (pre-commit) |
Key Navigation Files
- 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 - NestJS modules:
apps/api/src/modules/(171+ services)
Summary
JedIN Integration is a 4-layer architecture with strict separation:
- Presentation — Next.js 14 + React Flow + Zustand
- Management — NestJS 10 + Prisma 5 + BullMQ + multi-strategy JWT
- Runtime — Camel K 2.9 + Quarkus + Java 21 + KEDA
- Data — PostgreSQL 16 (RLS) + Redis 7 + MinIO + optional Kafka/ClickHouse
The stack is opinionated, mature, and optimized for real multi-tenancy with tier-based isolation (RLS → schema-per-tenant → database-per-tenant + dedicated K8s namespace).
For the satellite products running on this core, see:
Related Articles
JedIN Platform Architecture — Integration, R2-CX, and MCP Ecosystem
An architectural overview of the JedIN platform — how the Integration product, R2-CX autonomous consultant, and MCP ecosystem of 152 tools work together to deliver enterprise integration and AI-driven system management.
JedIN Real-Time Monitoring — 1655 Messages, 92 Runtime Artifacts
Inside JedIN's monitoring dashboard: 1655 messages processed in 30 days, 92 runtime artifacts tracked, real-time execution visibility with sub-second refresh.
JedIN Marketplace — 15 Packages, 6 Templates, Enterprise Connectors
Exploring JedIN's integration marketplace with 15 curated packages, 6 ready-to-use templates, and highly-rated connectors for REST, JDBC, and PIX/Open Banking.