Three-Tier Architecture
AI Builder follows a classic three-tier architecture pattern, modernized for cloud-native, event-driven applications:- Presentation Tier
- Application Tier
- Data Tier
The UI layer that users interact with, built using:
- Next.js: For server-side rendering and optimal performance
- React: For component-based UI development
- BlockProtocol.org Components: For standardized UI building blocks
- Tailwind CSS: For styling and responsive design
Event-Driven Architecture (EDA)
AI Builder’s core interaction model is built around events, enabling loose coupling and asynchronous communication between components:Key Components of the EDA
Event Types
Event Types
System Events
Description: Platform-generated events for key operations
Examples: page load, block mount, automation start/end, error occurrence
Examples: page load, block mount, automation start/end, error occurrence
Custom Events
Description: User-defined events for application-specific logic
Examples: form submission, data request, process completion
Examples: form submission, data request, process completion
UI Events
Description: User interaction events from blocks and pages
Examples: button click, selection change, data input
Examples: button click, selection change, data input
External Events
Description: Webhooks and API calls from outside systems
Examples: third-party notifications, scheduled triggers, external system callbacks
Examples: third-party notifications, scheduled triggers, external system callbacks
Event Communication Channels
Event Communication Channels
WebSocket
Description: Real-time communication between frontend and backend
Used for: UI updates, event streaming, long-running processes
Used for: UI updates, event streaming, long-running processes
HTTP
Description: Request-response communication for APIs
Used for: External system integration, data fetching, authentication
Used for: External system integration, data fetching, authentication
Event Broker
Description: Internal communication between automations
Default implementation: Redis Streams for reliable, ordered event delivery
Default implementation: Redis Streams for reliable, ordered event delivery
Event Processing
Event Processing
Synchronous Processing
Description: Immediate handling with response
Used for: Direct API calls, user-facing operations requiring immediate feedback
Used for: Direct API calls, user-facing operations requiring immediate feedback
Asynchronous Processing
Description: Queued handling without waiting
Used for: Background tasks, long-running operations, scheduled processes
Used for: Background tasks, long-running operations, scheduled processes
Event Correlation
Description: Tracking related events across the system
Implementation: Correlation IDs to trace event chains through the system
Implementation: Correlation IDs to trace event chains through the system
Event Flow in AI Builder
1
Event Emission
Events can originate from multiple sources:
- UI components (blocks) emitting user interaction events
- Pages emitting lifecycle and navigation events
- Automations emitting custom process events
- External systems emitting webhook events
2
Event Routing
The event router determines where events should be delivered:
- UI events are routed to relevant automations
- Automation events may be routed to other automations
- System events are routed to appropriate handlers
- Events can be filtered and transformed during routing
3
Event Handling
Recipients process events according to their type:
- Blocks may update their display based on received events
- Pages may navigate or modify their structure
- Automations execute logic sequences in response to events
- System components update state or perform operations
4
Event Logging
All events are recorded in the Activity log:
- Event metadata (timestamp, source, type)
- Event payload (data content)
- Correlation information (related events)
- Processing results and any errors
Microservices Architecture
AI Builder is built on a microservices foundation, providing scalability and resilience:Service Isolation
Description: Each functional area operates as an independent service
- UI rendering service
- Automation execution service
- Event processing service
- Storage and persistence services
- Integration services
API-First Design
Description: All services communicate through well-defined APIs
- RESTful HTTP interfaces
- Event-based messaging
- Versioned API contracts
- Standardized error handling
Containerization
Description: Services are packaged as containers for consistent deployment
- Docker containers for all services
- Kubernetes orchestration
- Horizontal scaling capabilities
- Resource isolation
- Deployment consistency
Service Discovery
Description: Dynamic service location and communication
- Automatic service registration
- Load balancing between instances
- Health monitoring
- Circuit breaking for fault tolerance
- Failover mechanisms
Cloud-Native Architecture
AI Builder is designed as a cloud-native application with key characteristics:- Infrastructure as Code
- Multi-Cloud Support
- Scalability
All infrastructure components are defined as code:
- Terraform: For provisioning cloud resources
- Helm Charts: For Kubernetes deployments
- GitOps: For configuration management
- Declarative Specifications: For resource definitions
Security Architecture
Security is built into every layer of the AI Builder framework:Authentication & Authorization
Authentication & Authorization
Data Protection
Data Protection
Encryption
Description:
Data protection at rest and in transit
Methods:
TLS 1.3, AES-256, envelope encryption for secrets
Secrets Management
Description:Secure storage of sensitive information
Implementation:Vault integration, key rotation, least privilege access
Data Residency
Description:
Control over data location
Features:
Region selection, data sovereignty compliance
Privacy by Design
Description:
Built-in privacy controls
Implementation:
Data minimization, purpose limitation, consent management
Security Monitoring
Security Monitoring
Audit Logging
Description:
Comprehensive activity tracking
Captures:
User actions, system changes, authentication events
Threat Detection
Description:Identifying potential security issues
Methods:Anomaly detection, pattern recognition, behavior analysis
Compliance Reporting
Description:
Documentation for regulatory requirements
Features:
Pre-built reports, evidence collection, control mapping
Vulnerability Management
Description:
Identifying and addressing weaknesses
Approach:
Regular scanning, dependency analysis, patch management
Memory Architecture
AI Builder implements a multi-tiered memory system for state management:Variable Scopes
Description: Different persistence levels for different needs
- Global Scope: Workspace-wide variables available to all users and sessions
- User Scope: User-specific variables persisted across sessions
- Session Scope: Variables tied to the current user session
- Run Scope: Temporary variables for the current automation execution
Storage Implementations
Description: Appropriate data storage based on scope
- In-memory Cache: For temporary, high-speed access
- Redis: For distributed, persistent session data
- Database: For long-term user and global variables
- Specialized Storage: Vector databases, document stores via apps
Access Patterns
Description: How variables are referenced and used
- Variable Syntax:
{{scope.variable}}
notation - Expression Evaluation: Dynamic evaluation in automations and blocks
- CRUD Operations: Set, get, update, delete operations
- Reactive Updates: Real-time UI updates on variable changes
Integration Architecture
AI Builder’s integration capabilities connect with external systems through multiple approaches:- HTTP/REST
- Webhooks
- Marketplace Apps
Direct HTTP communication with external APIs:
- HTTP Methods: GET, POST, PUT, DELETE, PATCH
- Authentication: Basic, Bearer Token, OAuth, API Key
- Content Types: JSON, XML, Form-data, Binary
- Response Handling: Status codes, body parsing, error management
Development Approach
AI Builder supports a range of development approaches to accommodate different skill levels and requirements:Visual Builder
Description: Graphical interface for configuration-based developmentKey Features:
- Drag-and-drop interfaces
- Visual workflow design
- Property editors
- WYSIWYG previews
YAML Definition
Description: Declarative definition of components using YAMLKey Features:
- Text-based configuration
- Version control friendly
- Templating and inheritance
- Bulk editing capabilities
Code Customization
Description: Direct code implementation for advanced scenariosKey Features:
- JavaScript/TypeScript for UI
- Node.js for backend logic
- CSS for styling
- Python for data processing