Developer documentation
These guides focus on implementing Chenile services and safely extending their runtime behavior. Use the Developer docs sidebar to move between guides, or the Docs menu to switch to release notes.
Services & security
- Security & the auth framework — the legacy Keycloak-integrated framework and the new Spring-Security auth-server / gateway / resource-server framework, and the responsibility split between framework and application.
-
Annotation-based Chenile services — define a service with annotations on a plain bean (no Spring REST controller) and make registry registration optional. (Lives under Concepts.)
- Runtime internals — the
ChenileExchange, thechenile-highwayinterceptor chain, body typing, argument binding, JSON service definitions and events.
Scaling & integration
- Process management — orchestrate long-running parent/child processes, map-reduce style, with in-VM, queue-based or JDBC/KEDA worker modes.
- Durable process outbox — make every consequence of a process transition survive a crash: receipts, lease fencing, retries, dead-letter and replay. (2.1.31)
- Process administration, API & dashboard — crons, manual triggers, definitions, process trees and end-to-end traces from a React console and a runnable admin server. (2.1.31)
- Process management vs. Temporal — orchestration as data in your database, or as replayed code on a cluster.
- Trigger framework architecture — the accepted design for mapping HTTP and Quartz input through CConfig into audited in-JVM events and process starts.
- Beyond HTTP — alternate entry points — trigger the same service from an event, a cron schedule (scheduler) or a dropped file (file-watch), plus caching.
- Messaging transports — configure MQTT, Kafka, Azure Event Hubs, in-JVM pub/sub and the cloud-edge switch behind the one pub/sub interface.
- MCP — services as AI tools — expose services, workflows and queries to AI agents over the Model Context Protocol.
- External API logging — capture and publish inbound/outbound third-party API traffic for audit.
Data & queries
- Numeric JPA identifiers — database- or application-generated Long/Integer IDs in ordinary JPA entities, without changing workflow APIs.
- Chenile Query & JDBC Query Catalog — metadata-driven MyBatis queries and the startup-loaded JDBC catalog for reviewed promotion of query definitions.
Workflow development
- Extending STM workflows — XML-overlay vs. configuration properties when a workflow must vary by module, tenant or deployment; plus the per-request
EntityStoreselection contract. - Workflow service internals — how
PATCH /{svc}/{id}/{event}becomes typed business logic: payload typing, convention-named actions, hooks, auto-states and event security. - Multi-tenant workflow extension sample — apply the XML-overlay pattern to a reusable vehicle workflow.
Operate & build
- Admin UI — a drop-in React console at
/chenile/adminfor inspecting services, definitions, health, workflow diagrams and the service registry. - Config Maven plugin — generate the service-registry JSON of a deployable at build time.
- JGen blueprint reference — every built-in blueprint and its prompts, including the 2.1.31 headless-service, ecosystem and process-management generators.
- Releasing Chenile — the 11-repository release train, annotated tags, and the parent-first Maven Central gate.
- Chenile by the numbers — how much code, tests and documentation make up the 11 repositories.
Releases
- Release notes — per-version notes, in the sidebar.
Start with the source
The runnable examples and framework source are the definitive implementation references: