Custom Backends
Implement the QBackendModuleInterface SPI and register backend action implementations.
Backend extension point
The 4.0 interface is QBackendModuleInterface in com.kingsrook.qqq.backend.core.modules.backend. Implement getBackendType and the operation interfaces your backend supports, such as getQueryInterface, getInsertInterface, and getUpdateInterface. This is not an executeQuery/executeInsert method on a QBackendModule class.
The interface provides default methods that reject unsupported operations. Metadata classes describe the backend and table mapping; action interfaces implement operations. Module registration and dispatch are separate from adding a named backend to QInstance.
Start from an existing module
Review the backend SPI, QBackendModuleDispatcher, and a comparable backend module. Register the implementation using the framework's module mechanism, then add backend metadata with the matching type.
Verify behavior
Test supported operations, filtering, paging, type conversion, permission propagation, and failure handling. Advertise transactions only if the implementation provides them. For an external API integration, consider the existing API backend before implementing another backend.