Plugin Development
|
You must license all self-developed plug-ins and let them register before you can use them. Reach out to Virtimo support for the required license adjustment. |
Overview
With Java-based plug-ins you can extend the functionality of the INUBIT software. Therefore, you can, for example, integrate enterprise applications with the INUBIT software for which there are not yet any system connectors provided. The number of plug-ins is not restricted.
Requirements
For a successful usage of a plug-in within INUBIT the following steps must be completed:
|
As in introduction you can use our example repository in Bibucket. For the required access please contact Virtimo support. |
Implementation
For a complete plug-in multiple different parts must be implemented.
In the frontend the focus lies on providing a user-friendly UI which make the configuration of a module easy and intuitive. The user gets the opportunity to configure the plug-in’s execution. The configured settings are persisted and forwarded to the plug-in’s backend.
The backend contains the underlying logic of plug-in. It uses the passed on module configuration to control the execution logik.
Implement frontend
The client-side implementation must be done on the interface I_IBISClientPluginInterface or an extending class.
It is the starting point of the frontend part of a plugin.
The client-side configuration is done in a module wizard. The amount of wizard pages that can be implemented as part of a plugin is not limited. They are chained via code so that a sequence of pags is generated for the user. Also branches can be realized by selected configuration on a wizard page. The logic in the wizard pages will lead the user to other follow-up pages.
Every wizard page manages its configuration in an IBISPropertyHandler which is accessible throughout the entire wizard.
This way follow-up pages can access configuration from any previous page.
Use GUI tests to apply automated checks the wizard page functionality.
Implement backend
The server-side implementation must be done on the interface I_IBISPluginInterface.
For system connectors the specialized interface I_IBIS_SC_PluginInterface should be used.
It is the starting point of the backend part of a plugin.
The module properties will be passed on as an IBISPropertyHandler into the plugin’s execute method.
Based on this the execution logic of the plugin must be implemented.
Use unit tests to apply automated checks the plugin’s functionality.
Install plug-in
To make the plugin available in the INUBIT all required JAR files must be uploaded and the plugin must be registered into the INUBIT Process Engine.
Upload plug-in
Requirements
-
The plug-in is packaged as a JAR file
-
All libraries are available as JAR files
Process as follows
Upload all JAR files (plug-in JAR, libraries JARs) into the Process Engine using the Workbench: Burger Menu > Configuration > Library Manager.
Within the Library Manager select type "Plugin" for the plug-in JAR. For all library JARs choose type "Driver".
The Process Engine must be restarted after the upload.
Register plug-in
Requirement
All necessary JAR files are uploaded to the INUBIT Process Engine.
Proceed as follows
The registration is done through the Plug-In Manager in the Workbench: Burger Menu > Configuration > Plug-In Manager.
Add a new entry in the Plug-in Manager.
Choose the group which is the most suitable for your plug-in and click on
.
You must provide the following information in the Add dialog:
| Property | Mandatory? | Usage |
|---|---|---|
|
Yes |
|
|
Yes |
Package name + class name of the server-side implementation |
|
Yes |
Package name + class name of the client-side implementation |
|
No |
Optional icon which is shown on the module in a workflow |
|
No |
Optional information which can be used for additional description |
Save the settings. The plug-in is immediately available in the Module Editor and can directly be added and used in Technical Workflows.
Execute plug-in
|
You must license all self-developed plug-ins and let them register before you can use them. Reach out to Virtimo support for the required license adjustment. |
Place a module of your plugin type in a Technical Workflow. Set a startpoint and execute the workflow as usual. Your plugin will be executed as part of the workflow execution.