Five Patterns in QQQ 4.0

Understand metadata, backend interfaces, typed actions, extension points, and explicit deployment.

Five Patterns in QQQ 4.0

Updated for the QQQ 4.0 release review on September 10, 2026.

Metadata describes the application

QInstance assembles tables, fields, processes, backends, and navigation. The same metadata informs data actions and the admin UI. Keep schema mapping, permissions, and lifecycle settings explicit; metadata alone is not a complete production application.

Backends implement operations

The framework dispatches operations through backend interfaces. RDBMS, files, documents, and APIs have different capabilities. Shared inputs make application code more consistent, but do not make joins or transaction semantics identical across storage systems.

Actions use typed inputs and outputs

Query, insert, update, and process actions accept operation-specific inputs and return outputs containing results and errors. QContext carries the current instance and session. Custom code should preserve that context, permission checks, and error handling.

Extension points remain Java

Use BackendStep for process logic, table customizers for CRUD behavior, and the backend SPI for storage integrations. Read the actual 4.0 interfaces before overriding them. The migration guide lists the changed packages and signatures.

Deployment belongs to the application

Package a Java artifact, configure authentication and storage, and test the running system. The sample demonstrates the framework; backups, scaling, service objectives, and component licenses remain explicit choices.

Read next

Ready to build faster?