Extensibility
Introduction
The ADITO platform is built to be extensible by design. Whether you want to integrate third-party systems, customize platform behavior, or create your own business modules, ADITO provides various extension mechanisms tailored to different use cases.
This section provides an overview of these options and when to use which approach.
Overview of Extension Types
| Extension Type | Use Case Example | Technology / Tool |
|---|---|---|
| Plugins | Add new backend logic or service | Java (via Plugin SDK) |
| REST API | Connect external systems for data access | HTTPS/JSON |
| Webhooks | Push changes to external systems in real-time | REST, EventBus |
| Events | Trigger internal workflows or custom logic | Event listeners / JDito |
| JDito Scripting | Implement business logic in context of entities/forms | JavaScript (Rhino) |
| UI Extensions | Extend the ADITO frontend | React-based components |
ADITO Plugin System
The plugin framework allows the deployment of Java-based extensions to the platform. Plugins can register services, handle events, or provide additional logic that runs server-side.
Common use cases:
- Complex calculations
- Custom data providers or importers
- Backend integrations with third-party systems
REST API and Web Services
ADITO provides modern APIs to read and write data from external systems.
- RESTful endpoints: Full CRUD access to platform data
- Authentication: Token-based OAuth2 / Session token
- Use cases: Integration with portals, mobile apps, middleware
Additionally, you can call external APIs from within ADITO using:
- Webservice Connectors (SOAP or REST)
- JDito HTTP calls for lightweight interaction
Events and Webhooks
The ADITO EventBus enables internal and external event handling.
- Internal: Trigger JDito or workflows on create/update/delete events
- External: Configure Webhooks to notify third-party systems
Example:
On entity update → Trigger Webhook → Notify external service
Use system events together with the Flowable Engine to control complex workflows.
JDito and Business Logic
JDito is a JavaScript-based scripting language with ADITO extensions. It is used to:
- Automate field behavior
- Enforce validation rules
- Access related data or execute HTTP requests
JDito is Rhino-based and integrates seamlessly with the platform’s metadata structure.
UI Extensions
ADITO supports integration of custom UI components using a plugin mechanism and React-based widgets. This enables:
- Embedding dashboards
- Custom input fields or charts
- Context-sensitive UI panels
👉 INSERT HERE: Example of registering a React UI component (or link to developer guide)
Choosing the Right Extension Path
| Goal | Recommended Mechanism |
|---|---|
| Read/write data externally | REST API |
| Notify other systems | Webhooks |
| Internal automation | JDito / Workflows |
| Complex logic/backend services | Plugins (Java) |
| Custom frontend component | UI Plugin (React) |
Extensible Integration Points
In addition to configurable features, ADITO provides technical interfaces such as: • generic LDAP integration using configurable XML commands (for example search, create, replace) • REST/SOAP receiving processes (listener-based) • SQL-based external database integration • flexible file imports for JSON, CSV, and XML (via timer-based processes)
These integration points form the foundation for system extensions and custom integrations.