-
Notifications
You must be signed in to change notification settings - Fork 504
Fabric8 API SPI
This is work in progress
Defining an API/SPI for Fabric is work in progress. Here we can start to collect requirements on API/SPI constructs
Many of the construct that Fabric8 uses internally depend on volatile OSGi services - they work in the context of other SCR services that have a dependency on them. Client, can however not use these constructs reliably because they can deactivate any time (and never activate again).
Http, JMX, Commands and other endpoints must be reliably accessible. Clients should not get exposed to the volatile nature of services that these endpoints may depend on.
The usage of API/SPI must allow to transition the system from one consistent state to the next. Concurrency contracts must be properly documented and implemented in line with what is documented.
Client must be able to rely on a stable API/SPI signature. Proposed changes to API/SPI must be reviewed carefully for backward compatibility
API also includes definitions of other access points and signatures. These would for example be REST URIs and data exchange format, XML schemas, command syntax, data store layout (when direct access is permitted), etc. The complete closure of stable API should be defined.