Chapter 20. Extensibility (Embedded OSGi framework)

Since 3.0

CloverETL Server includes embedded OSGi framework which allows implementation of "plugin" (OSGi bundle) which works as new API (or even GUI) of the server and it is independent of released clover.war.

Plugin possibilities

Basically the plugin may work as new server API similarly as Launch Services, HTTP API, WebServices API. It may be just simple JSP, HttpServlet or complex SOAP Web Services. So if the plugin contains some HTTP service, it is registered to listen on specified URL during the startup and incoming HTTP requests are "bridged" from the web container to the plugin. Plugin itself has access to the internal CloverETL Server interface called "ServerFacade". ServerFacade offers methods for execution graphs, obtaining of graph status and executions history, manipulation with scheduling, listeners, configuration and many more. So the API may be customized according to the needs of specific deployment.

Deploying an OSGi bundle

There are 2 CloverETL Server configuration properties related to the OSGi framework.

So do deploy your plugin: set two config properties, copy plugin to the directory specified by "plugins.path" and restart the server.