Exec, Plugin and Hook
In addition to any SQL procedures in your dataset, Jarvis also supports several different ways to integrate additional Perl or command line functionality into your application. These are configured in the main application XML file. The different mechanisms are:
- Exec – An
exec
configuration defines a special dataset which is fetched by spawning a custom sub-process. Use this when you wish to use Jarvis security and pre-processing, but the actually response content is to be provided by an external program, e.g. running reports. - Plugin – A
plugin
configuration also defines a special dataset which is fetched by loading a custom Perl module written as a.pm
file. Use this when you wish to use the Jarvis interface but the dataset content or insert/update is too complex to easily express in SQL, and you wish to implement it in Perl code. - Hook – A
hook
is a custom Perl module containing specially named methods which are invoked at key points in then processing of all datasets. Use this when you wish to perform additional security checking, custom logging or auditing for all datasets.
The dataset names configured for exec
and plugin
commands should each have a unique dataset name which do not conflict with any other plugin
, exec
or dataset, does not conflict with any regular dataset, and which does not conflict with any of the predefined built-in special dataset names (e.g. __status
, __habitat
and __logout
).
See the separate chapters on Exec Dataset , Plugin Datasets requests and on Hook Modules for further details.