Skip to content

Module catalog

The customer onboarding tutorial starts with submitting and reading an application. Use this catalog when adding a capability to that service: durable storage, reviewer access, provider calls, notifications, or coordinated work. Each addition needs its own configuration and application policy.

Each guide explains the component's role, a practical entry path, configuration, public APIs, and its implementation/tests. See getting started, installation, and the architecture guide for the wider service design.

Security and identity

Protect applicant records and reviewer actions. Follow the security journey to choose a route or method boundary before adding provider adapters.

Component Purpose Role
Security Cerbos Adapter Delegate PolicyDecisionPort decisions to the Cerbos CheckResources API. provider adapter
Security OPA Adapter Delegate policy decisions to Open Policy Agent through the security SPI. provider adapter
Security OpenFGA Adapter Check relationship authorization through an OpenFGA store. provider adapter
Security R2DBC Adapter Persist token revocation records through a relational R2DBC adapter. provider adapter
Security Vault Adapter Read a configured field from HashiCorp Vault KV v2 through SecretsPort. provider adapter
Security API Define product-neutral principals, authorization decisions, driving use cases, and the Secure annotation. shared contracts
Security Authorization Server Configure a servlet OAuth2/OIDC authorization server with JWKS backed by KeyManagementPort. security integration
Security BFF Handle browser OAuth2 login with server-side tokens, an opaque host cookie, CSRF protection, relay, and logout. security integration
Security Core Evaluate the framework security model with authority mapping, policy decisions, introspection caching, and principal projection. security integration
Identity Provider Define identity-provider contracts and common authentication/user/group management services. security integration
IDP - AWS Cognito Implementation Implement the identity-provider adapter using Amazon Cognito user pools. provider adapter
IDP - Azure AD Implementation Implement identity-provider operations for Microsoft Entra ID/Azure AD and B2C. provider adapter
IDP - Internal Database Implementation Implement identity-provider authentication and user/group persistence with an internal reactive database. provider adapter
IDP Keycloak Implement identity-provider operations against Keycloak. provider adapter
Security Method Policy Enable reactive method authorization through Secure and the core authorization evaluator. security integration
Security OAuth2 Client Provide reactive OAuth2/OIDC authorized-client support and WebClient token relay. security integration
Security Resource Server Validate signed JWT bearer tokens in a reactive resource server with hardened default security behavior. security integration
Security SPI Define driven ports for policy, relationships, revocation, keys, secrets, and other external security services. shared contracts
Security Test Create test principals and deterministic policy decisions for security tests. test fixtures
Security WebFlux Binding Bind the framework principal and authorization policy to reactive Spring Security/WebFlux. security integration

Business operations

Submit applications and query their status through typed handlers. Follow the business-operations journey from the runnable HTTP service to rule evaluation when needed.

Component Purpose Role
CQRS Separate commands and queries with reactive dispatch, execution context, validation, and authorization hooks. application library
Rule Engine Core Parse YAML rule DSL into an AST, evaluate conditions/actions, and provide rule, constant, batch, and audit services. application library
Rule Engine Interfaces Share request/response DTOs, rule definitions, validation results, and value/result enums for the rule engine. shared contracts
Rule Engine Models Persist rule definitions, constants, and audit trails with reactive repositories. persistence models
Rule Engine SDK Generate a reactive Java WebClient SDK for the rule engine HTTP API. generated API client
Rule Engine Web Expose HTTP APIs for evaluation, stored rule definitions, constants, batch operations, validation, and audit trails. runnable service
Rule Engine Group the YAML rule evaluator, public DTOs, persistence models, HTTP service, and generated SDK. component family

External services

Connect an identity check, confirmation message, or partner callback. Follow the external-services journey to choose one integration and define its failure policy.

Component Purpose Role
Agentic Bridge Autoconfigure Wire the agentic client/bridge, configured queue publishers, health indicator, and metrics into Spring Boot. Spring wiring
Agentic Bridge Core Invoke remote agents over REST, SSE, or WebSocket and publish queue invocations through a typed Java client. application library
Agentic Bridge Samples Run example HTTP endpoints for catalog lookup, agent invocation, streaming, conversation, and queue publishing. example application
Agentic Bridge Starter Bundle the agentic core, auto-configuration, WebFlux, actuator, and reactive resilience dependencies. dependency starter
Agentic Bridge Group the Java client, Spring wiring, starter, and sample for remote agent integration. component family
Callback Management Platform - Core Route subscribed events and dispatch outbound HTTP callbacks with signing, retries, circuit breaking, and execution tracking. application library
Callback Management Platform - Interfaces Share callback configuration, subscription, domain, and execution DTOs and status enums. shared contracts
Callback Management Platform - Models Persist callback configurations, authorized domains, event subscriptions, and execution records with reactive repositories. persistence models
Callback Management Platform - SDK Generate a reactive Java WebClient SDK from the callback platform OpenAPI specification. generated API client
Callback Management Platform - Web Expose the callback-management HTTP API and its Spring Boot application. runnable service
Callbacks Group the outbound callback platform: configuration, domain authorization, subscriptions, execution tracking, and dispatch. component family
Client - Complete Example Explore concrete REST, GraphQL, OAuth2, upload, and WebSocket client service examples. example application
Client Call REST, SOAP, and gRPC services through reactive client builders with shared resilience and observability facilities. application library
Notifications Core Send email, SMS, and push notifications through provider ports, with templates, preferences, and metrics. application library
Notifications Group the notification service contracts and their core implementation. component family
Notifications - Firebase Send push notifications through Firebase Cloud Messaging. provider adapter
Notifications - Resend Send email through the Resend provider adapter. provider adapter
Notifications - SendGrid Send email through SendGrid while retaining the common notification service contract. provider adapter
Notifications - Twilio Send SMS notifications through Twilio. provider adapter

Event-driven integration

Let other operations react to an accepted application. Follow the event-integration journey to separate transport delivery, webhook ingestion, and domain history.

Component Purpose Role
EDA Publish and consume events through a common envelope and transport-independent APIs. application library
EDA - Kafka Connect the EDA publishing and consuming abstractions to Apache Kafka. provider adapter
EDA - PostgreSQL Deliver EDA events through a PostgreSQL outbox with LISTEN/NOTIFY support. provider adapter
EDA - RabbitMQ Connect the EDA abstractions to RabbitMQ exchanges, queues, and routing keys. provider adapter
Webhook Management Platform - Core Validate, enrich, batch/compress, and publish incoming webhook events with retry, rate-limit, and dead-letter support. application library
Webhook Management Platform - Interfaces Share the provider-neutral inbound webhook request and response DTOs. shared contracts
Webhook Processor Framework Implement provider-specific webhook processors, listeners, signature checks, and idempotency behavior. application library
Webhook Management Platform - Java SDK Generate a reactive Java WebClient client from the incoming webhook platform OpenAPI specification. generated API client
Webhook Management Platform - Web Application Expose the reactive incoming webhook endpoint and runnable ingestion application. runnable service
Webhooks Group incoming webhook contracts, ingestion logic, HTTP service, processing extensions, and generated SDK. component family

Domain and data

Persist the application, retain its history, or store supporting documents. Follow the data journey to choose the state model before adding stores and caches.

Component Purpose Role
Cache Use a common cache API with a local Caffeine default and pluggable distributed providers. application library
Cache - Hazelcast Adapt a host-managed Hazelcast map to the common cache contract. provider adapter
Cache - JCache Adapt a host-managed JCache implementation to the common cache contract. provider adapter
Cache - Postgres Store cache entries in PostgreSQL through R2DBC, including expiry metadata. provider adapter
Cache - Redis Back the shared cache abstraction with Redis and reactive serialization. provider adapter
Enterprise Content Management Define content-management ports, adapter selection, document contracts, and resilience/observability support. application library
ECM eSignature - Adobe Sign Implement the ECM signature-envelope port with Adobe Sign. provider adapter
ECM eSignature - DocuSign Implement the ECM signature-envelope port with DocuSign. provider adapter
ECM eSignature - Logalty Implement the ECM signature-envelope port with Logalty. provider adapter
ECM Storage - AWS (S3) Implement ECM document-content storage against Amazon S3. provider adapter
ECM Storage - Azure Blob Implement ECM document-content storage against Azure Blob Storage. provider adapter
Event Sourcing Persist domain events, rehydrate aggregates, and manage snapshots through reactive event-store contracts. application library
R2DBC Build reactive repository filtering and pagination on Spring Data R2DBC. application library

Business coordination

Coordinate eligibility checks, capacity reservations, and review steps. Follow the coordination journey to choose Saga, TCC, or Workflow from the required recovery behavior.

Component Purpose Role
Orchestration Coordinate workflows, compensating sagas, and try-confirm-cancel operations in a reactive application. application library

Service operations

Make submission and review outcomes visible to operators. Follow the operations journey to connect application signals to the deployment and its telemetry backend.

Component Purpose Role
Config Server Run a Spring Cloud Config Server for centralized service configuration. runnable service
Observability Provide a common metrics, tracing, health, and context-propagation foundation for framework components. application library
Web Handle WebFlux errors, request metadata, idempotency, CORS, and sensitive-data masking consistently. application library

Team-wide architecture

Share dependencies and service conventions across teams. Follow the architecture journey before choosing parent/BOM management, starters, or extension contracts.

Component Purpose Role
Bill of Materials Align the versions of the 82 managed Jafly artifacts without inheriting the build parent. build management
Build Parent Inherit a consistent Java build, dependency platform, and plugin configuration for framework-based services. build management
Backoffice Extend application-layer contexts for internal portals, impersonation, and backoffice resource controllers. application library
Kernel Share a consistent exception vocabulary across application, domain, and infrastructure boundaries. application library
Plugin API Define plugins, extension points, extension registration, and lifecycle contracts without the host implementation. shared contracts
Plugin Core Load plugins, resolve dependencies, and manage extension registration in a host process. application library
Plugins Group the API and implementation of the framework plugin system. component family
Starter Application Build application-layer request contexts and business process coordination. dependency starter
Starter Core Assemble core infrastructure conventions for WebClient, actuator, logging, configuration, and service discovery. dependency starter
Starter Data Build data enrichment, job orchestration, quality, lineage, and provider operation services. dependency starter
Starter Domain Assemble the framework dependencies used by domain services. dependency starter
Utils Render FreeMarker templates and convert rendered content to document formats; mark filter DTO fields. application library
Validators Apply Jakarta Bean Validation constraints to financial, identity, contact, and date fields. application library

Coordinate coverage

The catalog covers 82 framework artifacts managed by the BOM, the build parent/BOM, and two example applications. The upstream Spring Security dependency also managed by the BOM is external and is not counted as a framework module. POM project groups organize child artifacts; choose the concrete child JAR for a runtime dependency.