Skip to Content
AdaptersAdapters

Adapters

Platform adapters implement the ports defined by the Cascade kernel, following the Hexagonal Architecture pattern.

UI Rendering Adapters

Appsmith Renderer

Low-code UI builder integration for rapid application development.

  • Schema-driven UI generation
  • Drag-and-drop interface building
  • Real-time data binding

React JSON Schema Form (RJSF)

Dynamic form generation from JSON Schema definitions.

  • Automatic form validation
  • Custom widget support
  • Theme customization

ECharts

Advanced data visualization and charting library integration.

  • Interactive charts and graphs
  • Real-time data updates
  • Extensive chart types

Orchestration Adapters

Temporal

Durable workflow execution engine with state persistence and fault tolerance.

  • Workflow versioning
  • Activity retries
  • Event-driven execution
  • State snapshots

Storage Adapters

PostgreSQL

Relational database adapter for persistent storage with full ACID compliance.

  • Transaction support
  • Query optimization
  • Connection pooling

Redis

In-memory cache and pub/sub adapter for high-performance data access.

  • Key-value storage
  • Pub/Sub messaging
  • Session management

Policy Adapters

OPA (Open Policy Agent)

Rego-based policy evaluation engine for flexible business rules.

  • Declarative policy language
  • Policy testing framework
  • Integration with external data

Camunda DMN

Decision Model and Notation engine for complex decision logic.

  • Visual decision modeling
  • Decision tables
  • Expression language (FEEL)

Implementation Guide

Each adapter is a pluggable implementation of one or more port interfaces. This design ensures:

  • Swappability - Change implementations without code changes
  • Testability - Mock adapters for unit testing
  • Extensibility - Add new adapters easily
  • Isolation - Adapters don’t depend on each other

Architecture Pattern

┌─────────────────┐ │ Application │ (Your CDL) └────────┬────────┘ ┌────────▼────────┐ │ Kernel/Core │ (Business Logic) └────────┬────────┘ ┌────────▼────────┐ │ Ports │ (Interfaces) └────────┬────────┘ ┌────────▼────────┐ │ Adapters │ (Implementations) └─────────────────┘

Adding Custom Adapters

To create a custom adapter:

  1. Implement the Port Interface - Follow the port specification
  2. Register the Adapter - Add to the adapter registry
  3. Configure - Add configuration to your application
  4. Test - Unit test with mocks, integration test with real adapter

See the Ports documentation for detailed interface definitions.

Next Steps

Last updated on