INUBIT IS Configuration
Usage
With the INUBIT IS Configuration Utility you can access functionalities offered by the INUBIT Workbench during the execution of workflows.
Amongst others, you can call up the following operations:
-
Share JVM memory or check available memory
-
Verify the validity of the plug-in licenses
-
Generate and delete entries in the Connection Manager
-
Delete processes from the Queue Manager
-
Create and edit users (change password, etc.)
-
Copy, delete, export, import, activate, or edit Technical Workflows (activate/deactivate, change metadata)
-
Read out Technical Workflow properties (such as name, comment, status active/inactive, module types used, owner, version number, date, and creator of the last modifications, workflow group)
-
Read and modify module properties
-
Identifying Repository Objects for a User and a Tag
-
Read organization diagrams
-
Check the process user server configuration
-
Check all visible process user server users
-
Read user task list
-
Read a list of all users visible to a selected user
-
Read a list of all workflows visible for the current user or user group
-
Debugging purposes for server traces status and changing level
-
Read out logs
-
Read and edit Technical Workflow or module properties
For a detailed overview about all operations provided by the INUBIT IS Configuration Utility, refer to the configuration mapping template file in the repository. |
Functional Principle of the INUBIT IS Configuration
The IS Configuration Utility expects an XML request as input message. The Utility will then use the XML request for read or write access to the INUBIT Process Engine’s configuration, and it generates an output message as result.
Creating a request
You can create the XML request with an XSLT Converter into which you load the configuration mapping template. The mapping template contains all operations of the INUBIT IS Configuration Utility. From the template, select the desired operations and adapt them. Each XML request can be used to execute multiple and different operations.
Behavior in case of error
If one of the operations defined in the request cannot be processed, the execution is continued with the next operation.
Content of the response
As output message the IS Configuration module emits an XML response, which not only contains the XML request, but also status information about the executed operation.
The XML response may be processed in an XSLT Converter.
Creating Input Message for Calling-up Operations
Prerequisites
Ensure that you are authenticated with a username and password on the Process Engine.
If you call up the local Process Engine in the context of one user, then the operation will be executed with the permissions of this user.
If you want to execute the operation with the permissions of another user or in the context of a user group or on an external Process Engine, then send the elements |
Proceed as follows
-
In the XSLT converter, open the burger menu in the XML target file area.
-
Select Open from > Repository. A repository explorer is displayed.
-
Go to Global System > Mapping Templates > IS Configuration.
-
Select the
configuration.xml
template. -
Click OK. The explorer closes. The template is displayed. The template contains commented XML structures for all operations in the following form:
-
To use an operation in an XSLT script, drag the
ISConfiguration
element belonging to the operation to thexsl:template
element in the XSLT converter script area. -
To add additional operations, insert the appropriate
operation
elements below theISConfiguration
element. -
For some operations you must enter values for the elements; for instance, when creating a user you must specify the name, password, and user group:
Get Version History of Diagrams and Modules
The getVersionHistory
operation retrieves previous versions of diagrams and modules.
The Other users are allowed to fetch only the version history of diagrams and modules belonging to the user currently logged in, to the user group, the higher-level group. |
Proceed as follows
-
Insert an
Operation
element below theISConfiguration
element in XSLT stylesheet. -
Assign an attribute with the value
name='getVersionHistory'
to theOperation
element.
Identifying Repository Objects for a User and a Tag
Proceed as follows
-
Create an XSLT Converter to generate an input message.
-
Select the
getRepositoryObjectList
operation.-
getRepositoryObjectList
Operation name
-
UserName
(optional)Name of the user whose data are to be read
-
UserGroupName
(optional)Name of the user group whose data are to be read
If both parameters (
UserName
andUserGroupName
) are set, the username is used. If neither theUserName
parameter nor theUserGroupName
parameter is set, the name of the user currently logged in is used. -
TagName
(optional)Name of the tag the objects of which are to be identified. By default, the
getRepositoryObjectList
operation identifies the current version of all Repository objects. If you have set the TagName, the version of all objects tagged with this TagName is returned. For objects that are not tagged with this TagName the current version is returned. If you have not set a tag, the current versions of all Repository objects of the user/user group are returned.
-
Using Encrypted Login Data
You can use encrypted login data by adding two module properties of variables type: is:maskedString
to the INUBIT IS Configuration module and by setting these properties using the variables mapping.
Proceed as follows
-
Add the module properties
Password
andLogin
using theText (single line)
data type, refer to Adding Module Properties.→ In the properties table the names
Password
andLogin
are displayed. -
Save your changes.
-
Open the Workflow containing the INUBIT IS Configuration module for editing.
-
Open the variables mapping of the INUBIT IS Configuration module, refer to Workflow Variables and Mappings.
-
Create the variables
Password
andLogin
of variables type:is:maskedString
. -
In the variables mapping, create mapping rules for the variables
Password
andLogin
.-
As source, choose the variables
Password
undLogin
. -
As target, choose the module properties
Password
undLogin
.
-
-
Click OK to save your changes.
-
Publish the workflow.
Executing Operations Remotely/as a Different User
By default, all operations are executed locally and with the permission of the workflow owner. Alternatively, you can execute these operations from a different remote INUBIT Process Engine, using another user’s rights.
Proceed as follows
Insert the User
, Password
, and ServerURL
elements to your XSLT style sheet below the ISConfiguration
element.
Enter the information of the user whose rights will be used to execute the operations, and specify the URL of the INUBIT Process Engine on which the module will be executed.
You can drag and drop elements from the configuration template to your XSLT stylesheet.
Reading Log Entries from Monitoring Components
Using an IS Configuration module, you can read out log files displayed in the following monitoring components:
-
System Log
-
Connection Manager
-
Queue Manager
-
Scheduler Manager
-
Audit Log
-
Process Log
Proceed as follows
-
For monitoring component requests, you always need a Technical Workflow with several modules, such as:
-
Using the first XSLT converter, you will generate an XML request to query a particular monitoring component’s table structure, such as:
Enter the internal name of the component as the value of the
LogName
element; you will find the name in the configuration template.The IS Configuration module outputs an XML response with information about the table structure, such as:
The XML response always has the following structure:
-
Response
element with number of table columns (size
attribute), and a unique identifier generated for this response (ID
attribute). -
Column
elements with column names (name
attribute), type (type
attribute), and indication whether a text search can be performed in the column (like
attribute). -
Status
element with information about the response’s success. -
Request
element with the operation element information contained in the original request.
-
-
Using the next XSLT converter, you can generate the actual request on the data in the response. This example shows a request to read the first 10 records in the Queue Manager.
The attributes are defined as follows:
-
type
: Reads all table values (getData
) or all values in a specified table column indicated as a value of therestrict
attribute (getAvailable
). -
restrict
: The name of the column, if values will be read from one column only. -
id
: The response’s unique identifier the request is referencing. -
start
: The first record to be read in the table.Only numeric values are valid.
-
amount
: The number of records to be read, beginning with the record specified by thestart
attribute.Only numeric values are valid.
-
-
The last IS Configuration module then generates the response containing the queried data:
The
Result
element contains the queried records, whereR
(row) represents a record, andC
(column) contains the value.
Searching, Filtering, and Sorting Log Entries
The workflow example (refer to Reading Log Entries from Monitoring Components) can be extended by additional requests:
-
Hide duplicate values in a column
Use
getAvailable
to hide duplicate records in a selected column (same as select distinct). This is a detached request, but its resulting values can be used for further requests.<Request id="3" type="getAvailable" restrict="is_moduleName"/>
The result will contain only unique values in the specified column, as shown in the following example:
<Response size="3" id="4"> <Column name="is_moduleName" like=""> <Available>CIM-CSV-Parser(8677)</Available> <Available>backupAll(2399098)</Available> <Available>retryFtp(2398355)</Available> </Column> </Response>
-
Fetching data from columns and user-defined columns (for System Log only)
When fetching matching rows with the operation
getLogList
for filtering criteria while usinggetData
, you have to usetype="setColumns"
attribute with the required columns and the conditions in the request, for example as follows:<Operation name="getLogList"> <LogName>systemLog</LogName> <LogMessage> <Request id="{/ISConfiguration/Response/Response/@id}" type="setColumns"> <Column name="is_globalPId"/> <Column name="is_workflowName"/> <Column name="is_workflowId"/> <Column name="is_success" like="0"/> </Request> </LogMessage> </Operation>
To fetch rows containing errors/no errors, use one of the following entry:
-
Error:
<Column name="is_success" like="0"/>
-
OK:
<Column name="is_success" like="1"/>
-
Hiding a table column
Use
setColumns
to define a table view, which is a restriction for a followinggetData
request.<Request id="1" type="setColumns"> <Column name="is_workflowId"/> <Column name="is_status"/> <Column name="is_priority"/> </Request>
Table columns will only be output if they are listed in the
Request
element.
The following getData
type elements can be used in addition to the requests from the example workflow.
They also can be combined among each other.
-
Searching strings
If your log table contains columns with the
like
attribute, you can search these columns for (partial) strings:<Request id="3" type="getData"> <Column name="is_moduleType" like="IS Conf"/> </Request>
Wildcards are not needed to search for partial strings. If you were searching for an IS module, the system would find the module named
IS Config
as well. -
Filtering data
You can use the resulting values from the
getAvailable
request as a filter in another query. Filters can also contain the keywordlike
:<Request type="getData"> <Column name="is_moduleName" like="CIM" /> </Request>
The result shows the records in the table, whose values in the
is_moduleName
column contain the string CIM. -
Min and max filter
For columns with a numeric data type (such as long, int, float) and dates (such as
java.util.Date
),min
andmax
filters can be set as shown in the following example:<Request id="3" type="getData"> <Column name="is_workflowId" min="30" max="245"/> </Request>
All records with a workflow ID greater than or equal to 30 and less than or equal to 245 are displayed.
-
Sorting records
To sort records, use the
sort
andsortLevel
attributes as follows: -
sort="[asc|desc]"
specifies whether the values should be sorted in ascending or descending order -
sortLevel
sets the sorting priority.<Request type="getData"> <!-- sortLevel=0: sort by name first--> <Column name="is_workflowName" sort="asc" sortLevel="0"/> <!-- sortLevel=1: then by ID--> <Column name="is_workflowID" sort="desc" sortLevel="1"/> </Request>
Calculating the Size of Input Messages
You can determine the size of input messages by adding a property to the INUBIT IS Configuration Utility.
The size is written out as value of the variable DataStreamSize
.
Proceed as follows
-
To the module properties of the INUBIT IS Configuration Utility add the property
Operation
having the data typeText
(single-line)
.Refer to Adding Module Properties
In the properties table the label
Operation
and an entry field are displayed. -
Enter
getDataStreamSize
. -
Save your changes.
Read and Edit Technical Workflow or Module Properties
Using the INUBIT IS Configuration utility, you can read and edit Technical Workflow or module properties (such as status - active/inactive).
The following IS Configuration operations are available for this purpose:
-
getModuleList
-
getWorkflowList
-
getWorkflowProperties
-
modifyModuleProperties
-
modifyWorkflowProperties
Usage and other available operations can be found in the configuration.xml
under Repository > Global > System > Mapping Templates > IS Configuration.
The user root or a user with the role Administrator can fetch the properties of all modules and workflows.
If you call up the local Process Engine in the context of one user, then the operation will be executed with the permissions of this user.
If you want to execute the operation with the permissions of another user or in the context of a user group or on an external Process Engine, you have to send the elements |
A list of all modules or workflows can be fetched with the IS Configuration operations getModuleList
and getWorkflowList
.
These two operations have an additional element <Complete>
, which can be used only by user root
or a user with the Administrator role.
By default, the element With the If the element
To retrieve another user’s module data or workflow data, you have to set the element |
Get Diagram and Module Properties of specific Version
You can get the properties of diagrams and modules of a specific version as XML.
Proceed as follows
-
Add an attribute with the value
name='getWorkflowProperties'
orname='getModuleProperties'
below theOperation
element in XSLT stylesheet. -
Assign a
Version
element with the value of a corresponding version number to theOperation
element.
Get Diagram and Module Properties of specific Tag
You can get the properties of diagrams and modules of a specific tag as XML.
Proceed as follows
-
Add an attribute with the value
name='getWorkflowProperties'
orname='getModuleProperties'
below theOperation
element in XSLT stylesheet. -
Assign a
Tag
element with the value of a corresponding tag name to theOperation
element.
Refer to:
Reading and Editing Cache Data
Usage
With the get
and put
operation type, you can retrieve and write data from or to the cache database.
ATTENTION: The wrong usage of the |
Using the |
Prerequisites
You have to enter root credentials to use this operation.
Proceed as follows
-
Create an XSLT Converter to generate an input message.
-
Configure the following elements, for example like this:
<Cache_Operation_Type> <!--skeleton example for calling Cache get and put operation--> <ISConfiguration> <User>root</User> <Password>inubit</Password> <Operation name="cacheOperation"> <!--Based on the user requirement user can use get or put operation type--> <OperationType>put</OperationType> <CacheName>USER_GROUP</CacheName> <CacheKeyName>User150</CacheKeyName> <!--This will be used only for put operation --> <Data><?xml version="1.0" encoding="UTF-8"?> <IBISUser version="3.2"> <Attrib> <Name>ProcessRole</Name> </Attrib> <Attrib> <Name>Password</Name> </Attrib> <Attrib> <Name>Role</Name> </Attrib> <Attrib> <Name>UserName</Name> <Value>admin</Value> </Attrib> <Attrib> <Name>Email</Name> </Attrib> <Attrib> <Name>UserType</Name> <Value>group</Value> </Attrib> <Attrib> <Name>UserGroup</Name> <Value>admin</Value> </Attrib> </IBISUser> </Data> </Operation> </ISConfiguration> </Cache_Operation_Type>
-
User
Name of the
root
user -
Password
Password of the
root
user -
OperationType
-
get
Retrieve data from the cache database
-
put
Write data to the cache database
-
-
CacheName
Name of the cache database table where the data shall be retrieved from/written to
-
CacheKeyName
Name of the cache key whose data shall be retrieved/written
-
Data
(forput
operation type only)XML structure of the data to be written to the cache database
As the XML structure of the
CacheKeyName
depends on theCacheName
, you can use theget
operation type to retrieve the data and its structure of an existingCacheKeyName
.
-
-
Save and publish the module.
Viewing and Resetting XSLT Style Sheet Cache Data
With the INUBIT IS Configuration utility, you can view or remove the XSLT style sheet cache for XSLT modules that have caching activated.
The following IS Configuration operations are available for this purpose:
-
listAllXsltStylesheetCacheKeys
-
deleteXSLTStylesheetCache
-
deleteAllXSLTStylesheetCache
List All XSLT Style Sheet Cache Keys
You can list the keys of all available XSLT style sheets that have cache entries.
Proceed as follows
-
Insert an
Operation
element below theISConfiguration
element in XSLT style sheet. -
Assign an attribute with the value
name='listAllXsltStylesheetCacheKeys'
to theOperation
element.
Delete XSLT Style Sheet Cache
You can select and delete specific keys from the XSLT style sheet cache.
Proceed as follows
-
Add an attribute with the value
name='deleteXSLTStylesheetCache'
below theOperation
element in XSLT style sheet. -
Set the cache keys whose data you want to delete, for example like this:
<Xslt_Stylesheet_Delete_Cache>
<!--Delete the xslt stylesheet cache with the keys passed in CacheKey-->
<!--To get the CacheKey, perform the operation listAllXsltStylesheetCacheKeys.
To delete the cache with keys id123 and id456 from the response, set CacheKey as below.
<CacheKey>id123</CacheKey>
<CacheKey>id456</CacheKey>
-->
<ISConfiguration>
<Operation name="deleteXSLTStylesheetCache">
<CacheKey>id123</CacheKey>
<CacheKey>id456</CacheKey>
</Operation>
</ISConfiguration>
</Xslt_Stylesheet_Delete_Cache>
Refer to List All XSLT Style Sheet Cache Keys to get the cache key list.