An extension is a workflow integration mechanism for the Control Center (CC). It aims to facilitate integration with external systems at key pre-determined points in the Registration and Authentication lifecycle.
Example: Once the user is successfully registered we might want to update the user record in an external system. In this situation we can write an extension which receives a registration callback and calls out to the external system
An extension is not an external process. It is a Java jar which runs in process with the CC and is managed via the CC UI. This eliminates the need to manage separate processes.
Each extension is uniquely identified by a ExtensionId. The CC manages Extensions at a global level. Once an extension is deployed, it may be associated with one or more RPApplication via the CC web UI.
An extension is a container for one or more extension points. Extension point is
- where we specify the logic we want to execute
- contains a series of callbacks which are invoked by the CC
- contains configuration callback which is invoked by the CC
Upon execution, an extension method can
- Execute desired logic or calls to external systems
- Return a response indicating success or failure
- Throw an exception, which is considered an execution failure
Extension vs ExtensionPoint
- Extension is the top level container
- ExtensionPoint contains the business logic
- Extension contains one or more ExtensionPoint(s)
Updated about a year ago