Developer's Guide
Mercury Composable is a software development toolkit for writing composable, event-driven applications.
Tutorials
Guided, end-to-end experiences for learning the framework from scratch.
- Getting Started — Build and run the composable example app; understand flows, functions, and REST endpoints through a working project.
Guides
Task-oriented instructions for accomplishing specific goals.
- REST Automation — Declare HTTP endpoints using rest.yaml without writing controllers.
- Build, Test and Deploy — Structure your application entry point, write unit tests, and package for deployment.
- Spring Boot Integration — Run Mercury Composable as a Spring Boot application using platform-core or rest-spring-3.
- Event over HTTP — Enable cross-instance event communication using the built-in Event API endpoint.
- Minimalist Service Mesh — Set up service discovery and inter-instance routing using Kafka as a connector.
- Minimalist Property Graph — Use the built-in in-memory property graph for computation and decision-making.
Concepts
Explanation-oriented pages for understanding design decisions and how the framework works.
- Methodology — The four composable design principles: input-process-output, zero dependency, platform abstraction, event choreography.
- Architecture Overview — Complete technical mental model: layers, components, Event Script, threading, and core APIs.
- Composable Design — Essay on composable design patterns and their benefits over tightly coupled architectures.
- Function Execution Strategies — How virtual threads and kernel threads work, when to use each, and Mono/Flux support.
- Design Notes — Architecture decisions and technical rationale behind key framework choices.
Reference
Precise, exhaustive lookup material.
- Event Script Syntax — Complete DSL reference: flow structure, all task execution types, input/output data mapping namespaces and constants.
- API Overview — Full PostOffice, Platform, EventEnvelope, and configuration API documentation.
- Application Properties — Complete listing of application.properties and application.yml configuration keys.
- Reserved Names & Headers — System-reserved route names and HTTP headers that must not be overridden.
- Actuators & HTTP Client — Built-in actuator endpoints, the AsyncHttpRequest API, and utility services.
- Release Notes — Version history and notable changes by release.