Aletyx Playground Components¶
Introduction¶
Aletyx Playground is built on a modular architecture that enables a powerful, browser-based development experience. This document details the key components that make up the Aletyx Playground platform, how they interact, and how they can be customized to meet your organization's needs.
Core Components¶
Aletyx Playground consists of three primary components that work together to provide a comprehensive development environment:
graph TD
subgraph "Aletyx Playgound Architecture"
A[Playground Environment] -- Validates models --> B[Extended Services]
A -- Git communications --> C[CORS Proxy]
C -- Secure connections --> D[Git Providers]
B -- Runtime for DMN/BPMN --> E[Dev Deployments]
A -- Deploys to --> E
end
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#bbf,stroke:#333,stroke-width:2px
style C fill:#fb9,stroke:#333,stroke-width:2px
1. Studio Environment¶
The Studio Environment is the primary user interface component of Aletyx Playground that users interact with directly in their browser.
Key Features¶
- Web-based Editors: Sophisticated editors for DMN and BPMN with real-time validation
- Project Management: Facilities for creating, importing, and organizing projects
- Git Integration: Interface for synchronizing with remote Git repositories
- Deployment Tools: Controls for deploying models to development environments
- In-browser Storage: Local storage of projects and preferences within the browser
Technical Details¶
- Implemented as a modern web application that runs entirely in the browser
- Stores all project data and preferences in browser local storage
- Communicates with Extended Services for validation and execution
- Connects to Git providers through the CORS Proxy
- Can be customized with organization-specific branding and accelerators
2. CORS Proxy Service¶
The CORS Proxy Service enables secure communication between the browser-based Studio Environment and external Git providers, overcoming cross-origin restrictions that would otherwise prevent direct communication. This is because Git providers such as GitHub and BitBucket do not typically allow web page access into their systems and this is the means to use a proxy to handle the desired communication to push/pull/etc with Git. This can also be true for utilizing Dev Deployments as well since some OpenShift distributions or local Kubernetes environments (the only supported Kubernetes Dev Deploy in 10.1.0-aletyx) to handle the deployment.
Key Features¶
- Secure Git Communication: Proxies requests to Git providers (GitHub, BitBucket, etc.)
- Authentication Handling: Manages tokens and authentication with Git providers
- Cross-Origin Support: Solves CORS (Cross-Origin Resource Sharing) restrictions
- Request Filtering: Only allows approved operations and endpoints
- Development Deployment Support: Facilitates deployment to Kubernetes/OpenShift
Technical Details¶
- Lightweight service that runs in its own container
- Default port is 7081 in standard deployments
- Can be configured via the
KIE_SANDBOX_CORS_PROXY_URLenvironment variable - Essential for enabling Git operations (clone, pull, push) from the browser
Configuration Options¶
# Example configuration for CORS Proxy in a Docker Compose file
cors-proxy:
image: quay.io/aletyx/cors:latest
ports:
- "7081:7081"
environment:
- CORS_PROXY_ORIGIN=*
- CORS_PROXY_VERBOSE=false
CORS_PROXY_ORIGIN: Sets the value of the 'Access-Control-Allow-Origin' header, defaults to * to allow all origins
CORS_PROXY_VERBOSE: Allows the proxy to run in verbose mode for more logging, which can be useful to trace requests on development environments. Defaults to false
3. Extended Services¶
The Extended Services component provides runtime validation, execution, and deployment capabilities that extend beyond what can be performed directly in the browser.
Key Features¶
- DMN Validation: Advanced validation of DMN models against the specification
- BPMN Validation: Validation of BPMN models for correctness and best practices
- Runtime Execution: Ability to execute DMN models for testing
- Model Transformation: Processes models for execution in target environments
Technical Details¶
- Quarkus Java-based service running in its own container
- Default port is 21345 in standard deployments from
docker compose - Can be configured via the
KIE_SANDBOX_EXTENDED_SERVICES_URLenvironment variable - Uses the KIE API to validate and execute models
- Provides runtime feedback to the Studio Environment
Configuration Options¶
# Example configuration for Extended Services in a Docker Compose file
extended-services:
image: quay.io/aletyx/extended-services:latest
ports:
- "21345:21345"
environment:
- LOG_LEVEL=info
Aletyx Playground - The Lightweight, but Powerful Way to Work With Your Intelligent Process Orchestrations Projects¶
Aletyx Playground provides a light weight environment that does not require extra installations on your workstation to get working with BPMN and DMN models right away. By being a distributed-browser based environment, you have a near limitless scalability of how many unique editors to DMN and BPMN files to build your Intelligent Process Orchestrations. There are several important features of Aletyx Playground that we will cover in this section including:
DMN Modeler¶
DMN Runner¶
BPMN Modeler¶
Working with Git Providers¶
Dev Deployment Service¶
While not a core component of Aletyx Playground itself, the Dev Deployment Service is a critical part of the development workflow that enables testing of models in a runtime environment.
Key Features¶
- Upload Service: Receives and processes project files from Aletyx Playground
- Deployment Management: Creates and manages deployments in Kubernetes/OpenShift
- Runtime Environment: Provides execution environment for DMN and BPMN models
- Testing Interface: Exposes APIs and web interfaces for testing models
Technical Details¶
- Runs within deployed containers in Kubernetes/OpenShift
- {Extracts files to configured locations
- Triggers application startup after extraction
- Provides health check endpoints for status monitoring}
- Provides a Development-only deployment of a DMN service
- Deploys unique services with each deployment (e.g. can run two different versions of the same decision at different endpoints)
Configuration Options¶
The Dev Deployment service can be configured through environment variables:
| Environment Variable | Required | Description | Default Value |
|---|---|---|---|
DEV_DEPLOYMENT__UPLOAD_SERVICE_EXTRACT_TO_DIR |
Yes | Directory where uploaded files will be extracted | empty |
DEV_DEPLOYMENT__UPLOAD_SERVICE_PORT |
Yes | Port for the HTTP server | empty (8080 on base image) |
DEV_DEPLOYMENT__UPLOAD_SERVICE_API_KEY |
Yes | API key for upload authentication | empty |
DEV_DEPLOYMENT__UPLOAD_SERVICE_ROOT_PATH |
No | Subpath for API endpoints | / |
Deployment Considerations¶
When deploying Aletyx Playground in your environment, consider:
- Network Configuration: Ensure proper network connectivity between components
- Resource Requirements: Allocate appropriate CPU and memory resources
- Storage Requirements: Provide sufficient storage for container images
- Security Considerations: Configure authentication and secure connections
- High Availability: Consider redundancy for production environments
Conclusion¶
The modular architecture of Aletyx Playground provides a flexible, powerful environment for developing business automation solutions. By understanding the roles and capabilities of each component, organizations can effectively deploy, customize, and maintain their Aletyx Playground installations.