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.

module guide 1251 1

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 <User> and <Password> within each request.

Proceed as follows

  1. In the XSLT converter, open the burger menu in the XML target file area.

  2. Select Open from > Repository. A repository explorer is displayed.

  3. Go to Global System > Mapping Templates > IS Configuration.

  4. Select the configuration.xml template.

  5. Click OK. The explorer closes. The template is displayed. The template contains commented XML structures for all operations in the following form:

    module guide 1252 0
  6. To use an operation in an XSLT script, drag the ISConfiguration element belonging to the operation to the xsl:template element in the XSLT converter script area.

  7. To add additional operations, insert the appropriate operation elements below the ISConfiguration element.

    module guide 1253 1
  8. 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:

    module guide 1253 2

Get Version History of Diagrams and Modules

The getVersionHistory operation retrieves previous versions of diagrams and modules.

The root user and users assigned to the System Administrator role are allowed to fetch the version history of all diagrams and modules.

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

  1. Insert an Operation element below the ISConfiguration element in XSLT stylesheet.

  2. Assign an attribute with the value name='getVersionHistory' to the Operation element.

module guide 1253 3

Identifying Repository Objects for a User and a Tag

Proceed as follows

  1. Create an XSLT Converter to generate an input message.

  2. 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 and UserGroupName) are set, the username is used. If neither the UserName parameter nor the UserGroupName 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

  1. Add the module properties Password and Login using the Text (single line) data type, refer to Adding Module Properties.

    → In the properties table the names Password and Login are displayed.

  2. Save your changes.

  3. Open the Workflow containing the INUBIT IS Configuration module for editing.

  4. Open the variables mapping of the INUBIT IS Configuration module, refer to Workflow Variables and Mappings.

  5. Create the variables Password and Login of variables type: is:maskedString.

  6. In the variables mapping, create mapping rules for the variables Password and Login.

    1. As source, choose the variables Password und Login.

    2. As target, choose the module properties Password und Login.

  7. Click OK to save your changes.

  8. 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

  1. For monitoring component requests, you always need a Technical Workflow with several modules, such as:

    module guide 1255 0
  2. Using the first XSLT converter, you will generate an XML request to query a particular monitoring component’s table structure, such as:

    module guide 1255 1

    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:

    module guide 1256 0

    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.

  3. 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.

    module guide 1256 1

    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 the restrict 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 the start attribute.

      Only numeric values are valid.

  4. The last IS Configuration module then generates the response containing the queried data:

    module guide 1257 1

    The Result element contains the queried records, where R (row) represents a record, and C (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 using getData, you have to use type="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 following getData 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 keyword like:

    <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 and max 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 and sortLevel 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

  1. To the module properties of the INUBIT IS Configuration Utility add the property Operation having the data type Text (single-line).

    In the properties table the label Operation and an entry field are displayed.

  2. Enter getDataStreamSize.

  3. 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 <User> and <Password> within each request.

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 <Complete> is set to false. If the element <Complete> is set to true, then the values for the elements <UserGroupName> and <TagName> will be ignored for the respective operation. The operation then will return a complete list of either all modules or all workflows of an INUBIT instance, depending on the chosen operation type.

With the getWorkflowList operation and the <UserGroupName> element, diagram data for additional user groups can also be fetched.

If the element <Complete> is set to true, by default, all modules or all workflows of the user-directory of root user are returned. If the workflow containing the INUBIT IS Configuration module belongs to any other user or user group, you have to use the following request to fetch the details of all workflows or module of all users:

<ISConfiguration>
  <Operation name="getWorkflowList">
    <Complete>true</Complete>
  </Operation>
  <User>root</User>
  <Password>inubit</Password>
</ISConfiguration>

To retrieve another user’s module data or workflow data, you have to set the element <Complete> to false and additionally, you have to configure both elements <User> and <Password> with the name and the password of the user whose data you want to fetch.

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

  1. Add an attribute with the value name='getWorkflowProperties' or name='getModuleProperties' below the Operation element in XSLT stylesheet.

  2. Assign a Version element with the value of a corresponding version number to the Operation element.

module guide 1260 1

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

  1. Add an attribute with the value name='getWorkflowProperties' or name='getModuleProperties' below the Operation element in XSLT stylesheet.

  2. Assign a Tag element with the value of a corresponding tag name to the Operation element.

module guide 1261 1

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 put operation type can destroy the complete server configuration and can cause that the Process Engine’s data are no longer reachable.

Using the put operation type can void the guarantee.

Prerequisites

You have to enter root credentials to use this operation.

Proceed as follows

  1. Create an XSLT Converter to generate an input message.

  2. 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 (for put operation type only)

      XML structure of the data to be written to the cache database

      As the XML structure of the CacheKeyName depends on the CacheName, you can use the get operation type to retrieve the data and its structure of an existing CacheKeyName.

  3. 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

  1. Insert an Operation element below the ISConfiguration element in XSLT style sheet.

  2. Assign an attribute with the value name='listAllXsltStylesheetCacheKeys' to the Operation element.

Delete XSLT Style Sheet Cache

You can select and delete specific keys from the XSLT style sheet cache.

Proceed as follows

  1. Add an attribute with the value name='deleteXSLTStylesheetCache' below the Operation element in XSLT style sheet.

  2. 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.

Delete All XSLT Style Sheet Cache

You can delete all cached entries of XSLT style sheets.

Proceed as follows

  1. Insert an Operation element below the ISConfiguration element in XSLT style sheet.

  2. Assign an attribute with the value name='deleteAllXSLTStylesheetCache' to the Operation element.