Services
Services are external function calls from within your workflows — similar to web services, but specialized for different backends like databases, APIs, messaging systems, and more.
Overview
Services provide callable functions that workflows invoke during processing. Unlike Input/Output Processors which define workflow boundaries, Services are used within a workflow — typically from JavaScript or Python Processors — to call external systems, query data, or perform operations.
Key characteristics:
- Callable from scripts — Services expose functions you call from JavaScript/Python Processors using the
servicespseudo-class - Backend-specific — Each service type is specialized (JDBC for SQL databases, HTTP for REST APIs, etc.)
- Configuration in asset — Most services configure connection parameters directly (except Email and Teams, which use Connection assets)
- Reusable across workflows — Define once, call from any workflow that links the service
Service vs Connection: Connections store reusable credentials and endpoint configuration. Services define how to use those connections — the functions, queries, or operations to perform. Most Services embed their connection config directly; only Email and Teams Services reference separate Connection assets.
Available Services
Databases & Storage
| Service | Description |
|---|---|
| Aerospike Service | Read from and write to Aerospike NoSQL databases. High-performance key-value operations with batch support. |
| Cassandra Service | Query and update Apache Cassandra or AWS Keyspaces databases. Supports CQL queries and asynchronous processing. |
| DynamoDB Service | Access AWS DynamoDB tables. Supports get, put, query, scan, and batch operations with automatic retries. |
| Hazelcast Service | Access Hazelcast in-memory data grid. Use for distributed caching, shared state, or high-speed data access across workflows. |
| JDBC Service | Execute SQL queries against relational databases. Works with PostgreSQL, MySQL, Oracle, SQL Server, and any JDBC-compatible database. |
| KVS Service | Lightweight persistent key-value store shared across the cluster. Use for caching, session state, or fast local storage. |
APIs & Web Services
| Service | Description |
|---|---|
| AI Service | Call external AI/ML APIs (OpenAI, Azure ML, etc.). Expose trained models as callable functions from your scripts. |
| HTTP Service | Call REST APIs and HTTP endpoints. Supports GET, POST, PUT, DELETE, custom headers, and authentication. |
| Proxy Service | Forward service calls to another Reactive Engine cluster. Enable cross-cluster service invocation without code changes. |
| SOAP Service | Call SOAP web services. Supports WSDL parsing, SOAP headers, and legacy enterprise system integration. |
Messaging & Notifications
| Service | Description |
|---|---|
| Email Service | Send emails via configured Email Connections. Supports HTML/text templates, attachments, and multiple recipients. |
| Message Service | Send messages to topics defined in Message Sources. Use for pub/sub patterns and asynchronous communication. |
| Queue Service | Interface with file-based message queues. Reliable message delivery with persistence. |
| Teams Service | Send notifications to Microsoft Teams channels and chats. Requires MS Graph Connection. Supports adaptive cards and mentions. |
| UDP Service | Send UDP datagrams. Use for lightweight, high-performance messaging where delivery isn't guaranteed. |
Utility & Workflow
| Service | Description |
|---|---|
| Sequence Number Service | Generate unique sequential counters across the cluster. Use for order numbers, ticket IDs, or guaranteed-unique identifiers. |
| Timer Service | Schedule delayed or periodic operations. Store payloads and re-present them to workflows at specified times with retry logic. |
| Virtual File System Service | Perform file operations (read, write, copy, move, delete) against Virtual File System mounts from within scripts. |
How to Choose a Service
| If you need to... | Use this service |
|---|---|
| Query a SQL database (PostgreSQL, MySQL, Oracle, etc.) | JDBC Service |
| Use a NoSQL database (Aerospike, Cassandra, DynamoDB) | Aerospike, Cassandra, or DynamoDB Service |
| Cache data or share state across workflows | KVS Service or Hazelcast Service |
| Call a REST API | HTTP Service |
| Integrate with a legacy SOAP service | SOAP Service |
| Send an email notification | Email Service |
| Post to a Teams channel | Teams Service |
| Send a message to a topic/queue | Message Service or Queue Service |
| Generate unique sequential IDs | Sequence Number Service |
| Schedule delayed processing or retries | Timer Service |
| Access files from script code | Virtual File System Service |
| Call a service on another cluster | Proxy Service |
| Call an external AI/ML model | AI Service |
| Send lightweight UDP messages | UDP Service |
See Also
- Services Introduction — Detailed walkthrough of service concepts and usage patterns
- Connections — Reusable connection credentials for Email, Teams, and Virtual File System Services
- JavaScript Processor — Writing scripts that call services
- Python Processor — Python scripting with service integration