INUBIT IS Configuration
Verwendung
Mit dem INUBIT IS Configuration Utility können Sie während einer Workflow-Ausführung auf Funktionalitäten der INUBIT Workbench zugreifen.
Sie können u.a. folgende Operationen aufrufen:
-
Speicher der JVM freigeben bzw. Größe des freien Speicherplatzes auslesen
-
Gültigkeit von Plug-in-Lizenzen überprüfen
-
Einträge im Connection Manager erzeugen und löschen
-
Prozesse aus dem Queue Manager löschen
-
Benutzer erzeugen und bearbeiten (z.B. Passwort ändern)
-
Technical Workflows kopieren, löschen, exportieren, importieren, aktivieren, bearbeiten (aktivieren/deaktivieren, Metadaten ändern)
-
Eigenschaften eines Technical Workflows auslesen (u.a. Name, Kommentar, Status aktiv/inaktiv, verwendete Modultypen, Besitzer, Versionsnummer, Datum und Urheber der letzten Änderungen, Workflowgruppe)
-
Eigenschaften von Modulen lesen und ändern
-
Repository-Objekte eines Benutzers, einer Benutzergruppe und optional für ein Tag ermitteln
-
Organigramme lesen
-
Konfiguration des Prozessbenutzer-Servers lesen
-
Alle sichtbaren Benutzer des Prozessbenutzer-Servers auslesen
-
Taskliste von Benutzern lesen
-
Liste aller Benutzer lesen, die für einen ausgewählten Benutzer sichtbar sind
-
Liste aller Workflows lesen, die für den aktuellen Benutzer bzw. die aktuelle Benutzergruppe sichtbar sind
-
Zum Debuggen den Status und das Level in Server-Traces ändern
-
Logs auslesen
-
Technical Workflow- oder Moduleigenschaften lesen und bearbeiten
Eine vollständige Übersicht über alle Operationen des INUBIT IS Configuration Utilitys finden Sie im Configuration Mapping Template im Repository. |
Funktionsprinzip des IS Configuration Utilitys
Das IS Configuration Utility erwartet als Eingangsnachricht einen XML-Request. Mit diesem XML-Request greift das Utility lesend oder schreibend auf die Konfiguration der INUBIT Process Engine zu und gibt das Ergebnis als Ausgangsnachricht aus.
Request erstellen
Den XML-Request erstellen Sie mithilfe eines XSLT Converters, in den Sie das Configuration Mapping Template laden. Das Mapping Template enthält alle Operationen des INUBIT IS Configuration Utilitys. Aus dem Template wählen Sie die gewünschten Operationen aus und passen diese an. Sie können in jedem XML-Request beliebig viele verschiedene Operationen ausführen lassen.
Verhalten im Fehlerfall
Wenn eine der im Request definierten Operationen nicht ausgeführt werden kann, dann wird die Ausführung mit der nachfolgenden Operation fortgesetzt.
Inhalt der Response
Das IS Configuration Utility gibt als Ergebnis eine XML-Response aus, die neben dem XML-Request auch Statusinformationen über die ausgeführte Operation enthält.
Die XML-Response können Sie z.B. in einem weiteren XSLT Converter verarbeiten.
Eingangsnachricht zum Aufrufen der Operationen erstellen
Voraussetzung
Stellen Sie sicher, dass Sie bei der Process Engine mit Ihrem Benutzernamen und Passwort angemeldet sind.
Rufen Sie die lokale Process Engine im Kontext eines Benutzers auf, wird die Operation mit den Rechten dieses Nutzers ausgeführt.
Wenn Sie die Operation mit den Rechten eines anderen Nutzers oder im Kontext einer Benutzergruppe oder auf einer externen Process Engine ausführen möchten, schicken Sie die Elemente |
So gehen Sie vor
-
Öffnen Sie im XSLT Converter im Bereich XML-Zieldatei das Hamburgermenü.
-
Wählen Sie Öffnen von > Repository. Der Repository Explorer wird angezeigt.
-
Öffnen Sie den Ordner Global System > Mapping Templates > IS Configuration.
-
Markieren Sie das Template
configuration.xml
. -
Klicken Sie auf OK. Der Explorer schließt sich. Das Template wird angezeigt. Es enthält für alle Operationen kommentierte XML-Strukturen in folgender Form:
-
Um eine Operation in einem XSLT-Skript zu verwenden, ziehen Sie das
ISConfiguration
-Element, das zu der entsprechenden Operation gehört, auf dasxsl:template
-Element im XSLT Converter-Skriptbereich. -
Um weitere Operationen hinzuzufügen, fügen Sie die entsprechenden
operation
-Elemente unterhalb desISConfiguration
-Elements ein: -
Bei einigen Operation müssen Sie Werte für Elemente angeben, z.B. beim Anlegen eines Benutzers den Namen, das Passwort und die Benutzergruppe:
Abrufen der Versionshistorie von Diagrammen und Modulen
Mit der Operation getVersionHistory
können vorhergehende Versionen von Diagrammen und Modulen abgerufen werden.
Der Benutzer Andere Benutzer können nur die Versionshistorie von Diagrammen und Modulen des derzeit angemeldeten Benutzers, der Benutzergruppe und der Obergruppe abrufen. |
So gehen Sie vor
-
Fügen Sie im XSLT-Stylesheet ein Element
Operation
unterhalb desISConfiguration
-Elements ein. -
Weisen Sie dem
Operation
Element ein Attribut mit dem Wertname='getVersionHistory'
zu.
Repository-Objekte für einen Benutzer und ein Tag ermitteln
So gehen Sie vor
-
Erstellen Sie einen XSLT Converter zum Erzeugen der Eingangsnachricht.
-
Wählen Sie die Operation
getRepositoryObjectList
.-
getRepositoryObjectList
Name der Operation
-
UserName
(optional)Name des Benutzers, dessen Daten ausgelesen werden sollen
-
UserGroupName
(optional)Name der Benutzergruppe, deren Daten ausgelesen werden sollen
Sind beide Parameter (
UserName
undUserGroupName
) gesetzt, wird der Benutzername verwendet.Ist weder der Parameter
UserName
nochUserGroupName
gesetzt, wird der Name des aktuell angemeldeten Benutzers verwendet. -
TagName
(optional)Name des Tags, dessen Objekte ermittelt werden sollen.
Die Operation
getRepositoryObjectList
ermittelt standardmäßig die aktuelle Version aller Repository-Objekte.Haben Sie
TagName
gesetzt, wird für die Objekte die mit diesemTagName
versehene Version zurückgegeben. Für alle Objekte ohne dieses Tag wird die aktuelle Version zurückgegeben.Haben Sie kein Tag angegeben, werden die aktuellen Versionen aller Repository-Objekte des Benutzers/der Benutzergruppe ermittelt.
-
Verschlüsselte Anmeldedaten verwenden
Sie können verschlüsselte Login-Daten verwenden, indem Sie dem Modul INUBIT IS Configuration zwei Moduleigenschaften vom Variablentyp is:maskedString
hinzufügen und diese über das Variablen-Mapping setzen.
So gehen Sie vor
-
Fügen Sie den Moduleigenschaften die Eigenschaften
Password
undLogin
mit dem DatentypText (einzeilig)
hinzu, siehe Moduleigenschaften hinzufügen.→ In der Eigenschaftentabelle werden die Namen
Password
undLogin
angezeigt. -
Speichern Sie die Änderungen.
-
Öffnen Sie den Workflow mit dem Modul INUBIT IS Configuration zum Bearbeiten.
-
Öffnen Sie das Variablen-Mapping des Moduls INUBIT IS Configuration, siehe auch Workflow-Variablen und Mappings.
-
Erstellen Sie die beiden Variablen
Password
undLogin
vom Variablentypis:maskedString
. -
Erstellen Sie im Variablen-Mapping Zuweisungsregeln für die beiden Variablen
Password
undLogin
.-
Wählen Sie als Quelle die Variablen
Password
undLogin
. -
Wählen Sie als Ziel die Moduleigenschaften
Password
undLogin
.
-
-
Klicken Sie auf OK, um die Änderungen zu speichern.
-
Publizieren Sie den Workflow.
Operationen remote/als anderer Benutzer ausführen
Standardmäßig werden alle Operationen lokal mit der Berechtigung des Workflow-Eigentümers ausgeführt. Sie können diese aber auch auf einer anderen, entfernten INUBIT Process Engine und unter der Berechtigung eines anderen Benutzers ausführen lassen.
So gehen Sie vor
Fügen Sie die Elemente User
, Password
und ServerURL
in Ihr XSLT Stylesheet unterhalb des ISConfiguration
- Elements ein.
Geben Sie die Werte des Benutzers ein, unter dessen Berechtigung die Operationen ausgeführt werden sollen, sowie die URL der INUBIT Process Engine, auf dem das Modul ausgeführt wird.
Sie können die Elemente per Drag’n’Drop aus dem Configuration-Template auf Ihr XSLT-Stylesheet ziehen.
Logeinträge aus Monitoring-Komponenten lesen
Mithilfe eines IS Configuration-Moduls können Sie die Log-Dateien auslesen, die in den folgenden Monitoring-Komponenten angezeigt werden:
-
System Log
-
Connection Manager
-
Queue Manager
-
Scheduler Manager
-
Audit Log
-
Process Log
So gehen Sie vor
-
Für eine Anfrage an eine Monitoring-Komponente benötigen Sie immer einen Technical Workflow mit mehreren Modulen, z.B.
-
mithilfe des ersten XSLT Converter-Moduls erzeugen Sie einen XML-Request, um die Tabellenstruktur einer bestimmten Monitoring-Komponente abzufragen, z.B.:
Als Wert des Elements
LogName
müssen Sie die internen Namen der Komponenten verwenden; diese finden Sie im Configuration-Template! Das IS Configuration-Modul gibt eine XML-Response mit Infos über die Tabellenstruktur aus, z.B.:Dabei hat die XML-Response immer folgende Struktur:
-
Response
-Element mit Anzahl der Tabellenspalten (size
-Attribut), und einem generierten, eindeutigen Bezeichner für diese Response (ID
-Attribut). -
Column
-Elemente mit Namen der Spalten (name
-Attribut), Typ (type
-Attribut) und Angabe, ob eine Textsuche in der Spalte möglich ist (like
-Attribut). -
Status
-Element mit Angabe über den Erfolg der Response. -
Request
-Element mit den im ursprünglichen Request enthaltenen Operation-Element-Informationen.
-
-
Mit dem nächsten XSLT Converter erzeugen Sie auf Basis der Informationen aus der Response den eigentlichen Request, mit dem hier z.B. die ersten 10 Datensätze aus dem Queue Manager gelesen werden sollen:
Dabei haben die Attribute folgende Bedeutungen:
-
type
: Liest alle Werte der Tabelle (getData
) oder alle Werte einer bestimmten Tabellenspalte, die als Wert des Attributsrestrict
angegeben ist (getAvailable
). -
restrict
: Name der Spalte, wenn nur die Werte aus einer Spalte gelesen werden sollen. -
id
: Eindeutiger Bezeichner der Response, auf die der Request Bezug nimmt. -
start
: Erster Datensatz in der Tabelle, der gelesen werden soll.Nur numerische Werte sind gültig.
-
amount
: Anzahl der Datensätze, die gelesen werden sollen, beginnend mit dem Datensatz, der durch das Attributstart
festgelegt wurde.Nur numerische Werte sind gültig.
-
-
Daraufhin erzeugt das letzte IS Configuration-Modul die Response mit den gesuchten Daten:
Das
Result
-Element enthält die gesuchten Datensätze, dabei stehtR
(row) für einen Datensatz undC
(column) enthält den Wert.
Logeinträge suchen, filtern und sortieren
Der Beispielworkflow (siehe Logeinträge aus Monitoring-Komponenten lesen) kann noch durch zusätzliche Abfragen erweitert werden:
-
Mehrfach vorkommende Werte einer Spalte ausblenden
Mit
getAvailable
blenden Sie Datensätze aus, die in einer ausgewählten Spalte mehrfach vorkommen (entsprichtselect distinct
). Hierbei handelt es sich um eine losgelöste Abfrage, deren Ergebniswerte jedoch weiterverwendet werden können.<Request id="3" type="getAvailable" restrict="is_moduleName"/>
Das Ergebnis sind alle unterschiedlichen Werte der angegebenen Spalte, zum Beispiel:
<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>
-
Werte aus Spalten und benutzerdefinierten Spalten abrufen (nur für System Log)
Beim Abrufen von Zeilen mittels der Operation
getLogList
mit einem Filterkriterium übergetData
müssen Sie das Attributtype="setColumns"
mit den erforderlichen Spalten und Bedingungen in der Anforderung angeben, zum Beispiel wie folgt:<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>
Um Zeilen mit/ohne Fehlern abzurufen, verwenden Sie einen der folgenden Einträge:
-
Error:
<Column name="is_success" like="0"/>
-
OK:
<Column name="is_success" like="1"/>
-
Tabellenspalten ausblenden
Mit
setColumns
definieren Sie eine Tabellen-View, welche eine Einschränkung für eine nachfolgendegetData
-Abfrage bildet.<Request id="1" type="setColumns"> <Column name="is_workflowId"/> <Column name="is_status"/> <Column name="is_priority"/> </Request>
Es werden nur die Tabellenspalten ausgegeben, die im
Request
-Element gelistet sind.
Folgende Elemente vom Typ getData
können zusätzlich zu denen im Beispielworkflow verwendet und untereinander kombiniert werden:
-
(Teil-) Zeichenketten suchen
Wenn Ihre Log-Tabelle Spalten mit dem Attribut `like `besitzt, können Sie diese nach (Teil)Zeichenketten durchsuchen lassen:
<Request id="3" type="getData"> <Column name="is_moduleType" like="IS Conf"/> </Request>
Zur Suche nach Teilen von Zeichenketten sind keine Wildcards nötig. Die Suche nach einem Modul IS würde auch ein Modul mit dem Namen
IS Config
finden. -
Daten filtern
Die Ergebniswerte aus der
getAvailable
-Abfrage können Sie als Filter verwenden, Filter können auch das Schlüsselwortlike
enthalten:<Request type="getData"> <Column name="is_moduleName" like="CIM" /> </Request>
Das Ergebnis sind alle Datensätze der Tabelle, bei denen die Werte in der Spalte
is_moduleName
die Zeichenkette CIM enthalten. -
Min- und Max-Filter
Für Spalten mit einem numerischen Datentyp (zum Beispiel long, int, float) und Datumsangaben (zum Beispiel
java.util.Date
) können die Filtermin
undmax
gesetzt werden, zum Beispiel:<Request id="3" type="getData"> <Column name="is_workflowId" min="30" max="245"/> </Request>
Es werden alle Datensätze mit einer Workflow-ID größer/gleich 30 bzw. kleiner/gleich 245 angezeigt.
-
Datensätze sortieren
Zum Sortieren von Datensätzen verwenden Sie die
sort
- undsortLevel
-Attribute wie folgt: -
sort="[asc|desc]"
gibt an, ob die Werte in der Spalte aufsteigend oder absteigend sortiert werden sollen -
sortLevel
legt die Priorität bei Sortieren fest.<Request type="getData"> <!-- sortLevel=0: zuerst wird anhand des Namens sortiert --> <Column name="is_workflowName" sort="asc" sortLevel="0"/> <!-- sortLevel=1: dann anhand der ID --> <Column name="is_workflowID" sort="desc" sortLevel="1"/> </Request>
Größe von Eingangsnachrichten ermitteln
Sie können die Größe der Eingangsnachrichten ermitteln lassen, indem Sie dem INUBIT IS Configuration Utility eine Moduleigenschaft hinzufügen.
Die Größe wird in der Workflow-Variablen DataStreamSize
ausgegeben.
So gehen Sie vor
-
Fügen Sie den Moduleigenschaften des INUBIT IS Configuration Utilities die Eigenschaft
Operation
mit dem DatentypText (einzeilig)
hinzu.In der Eigenschaftentabelle werden der Name
Operation
und ein Eingabefeld angezeigt. -
Geben Sie den Wert
getDataStreamSize
ein. -
Speichern Sie Ihre Angaben.
Technical Workflow- oder Moduleigenschaften lesen und bearbeiten
Mit dem INUBIT IS Configuration Utility können Sie die Eigenschaften von Technical Workflows oder Modulen (wie z.B. Status - aktiv/inaktiv)) lesen und bearbeiten.
Folgende IS Configuration-Operationen können für diesen Zweck genutzt werden:
-
getModuleList
-
getWorkflowList
-
getWorkflowProperties
-
modifyModuleProperties
-
modifyWorkflowProperties
Deren Verwendung und andere verfügbare Operationen finden Sie in der configuration.xml
unter Repository > Global > System > Mapping Templates > IS Configuration.
Der Benutzer root, respektive ein Benutzer mit der Rolle Administrator, kann die Eigenschaften aller Module und Workflows abrufen.
Rufen Sie die lokale Process Engine im Kontext eines Benutzers auf, wird die Operation mit den Rechten dieses Nutzers ausgeführt.
Wenn Sie die Operation mit den Rechten eines anderen Nutzers oder im Kontext einer Benutzergruppe oder auf einer externen Process Engine ausführen möchten, schicken Sie die Elemente
|
Eine Liste mit allen Modulen oder Workflows kann mit den IS Configuration-Operationen getModuleList
und getWorkflowList
abgerufen werden.
Diese zwei Operationen besitzen ein zusätzliches Element <Complete>
, welches aber nur der Benutzer root
oder ein Benutzer mit der Rolle Administrator nutzen können.
Das Element Mit der Operation Wenn das Element
Um Modul- und/oder Workflow-Daten eines anderen Benutzers abzurufen, müssen Sie das Element |
Aufrufen von Diagramm- und Moduleigenschaften einer bestimmten Version
Sie können die Eigenschaften von Diagrammen und Modulen einer bestimmten Version als XML abrufen.
So gehen Sie vor
-
Fügen Sie im XSLT-Stylesheet unter dem
Operation
-Element ein Attribut mit dem Wertname='getWorkflowProperties'
, bzw.name='getModuleProperties'
hinzu. -
Weisen Sie dem
Operation
-Element einVersion
-Element mit dem Wert der entsprechenden Versionsnummer zu.
Aufrufen von Diagramm- und Moduleigenschaften eines bestimmten Tags
Sie können die Eigenschaften von Diagrammen und Modulen eines bestimmten Tags als XML abrufen.
So gehen Sie vor
-
Fügen Sie im XSLT-Stylesheet unter dem
Operation
-Element ein Attribut mit dem Wertname='getWorkflowProperties'
, bzw.name='getModuleProperties'
hinzu. -
Weisen Sie dem
Operation
-Element einTag
-Element mit dem Wert des entsprechenden Tag-Namen zu.
Siehe:
Cache-Daten lesen und schreiben
Verwendung
Mit den Operationstypen get
bzw. put
können Sie Daten aus ihrer Cache-Datenbank lesen bzw. dorthin schreiben.
Achtung: Die falsche Verwendung des Operationstyps |
Die Benutzung des Operationstyps |
Voraussetzungen
Um diese Operation nutzen zu können, benötigen Sie die Zugangsdaten des Benutzers root
.
So gehen Sie vor
-
Erstellen Sie einen XSLT Converter zum Erzeugen der Eingangsnachricht.
-
Konfigurieren Sie die folgenden Elemente, zum Beispiel wie folgt:
<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 des Benutzers
root
-
Password
Name des Benutzers
root
-
OperationType
-
get
Daten von der Cache-Datenbank lesen
-
put
Daten in die Cache-Datenbank schreiben
-
-
CacheName
Name der Cache-Datenbanktabelle aus der/in die Daten gelesen/geschrieben werden sollen
-
CacheKeyName
Name des Cache-Keys dessen Daten gelesen/geschrieben werden sollen
-
Data
(nur für den Operationstypput
)XML-Struktur der Daten, die in die Cache-Datenbank geschrieben werden sollen
Da die XML-Struktur des
CacheKeyName
vomCacheName
abhängig ist, können Sie den Operationstypget
verwenden, um die Daten und die Struktur eines vorhandenenCacheKeyName
zu lesen.
-
-
Speichern und publizieren Sie das Modul.
XSLT-Stylesheet Cache-Daten anzeigen und zurücksetzen
Mit dem INUBIT IS Configuration Utility können Sie den XSLT-Stylesheet-Cache für XSLT-Module anzeigen oder entfernen, für die das Caching aktiviert ist.
Folgende IS Configuration-Operationen können für diesen Zweck genutzt werden:
-
listAllXsltStylesheetCacheKeys
-
deleteXSLTStylesheetCache
-
deleteAllXSLTStylesheetCache
Alle XSLT-Stylesheet-Cache-Keys auflisten
Sie können die Keys aller verfügbaren XSLT-Stylesheets mit Cache-Einträgen auflisten.
So gehen Sie vor
-
Fügen Sie im XSLT-Stylesheet ein Element
Operation
unterhalb desISConfiguration
-Elements ein. -
Weisen Sie dem
Operation
Element ein Attribut mit dem Wertname='listAllXsltStylesheetCacheKeys
zu.
XSLT-Stylesheet-Cache löschen
Sie können bestimmte Keys aus dem XSLT-Stylesheet-Cache auswählen und löschen.
So gehen Sie vor
-
Weisen Sie dem
Operation
Element ein Attribut mit dem Wertname='deleteXSLTStylesheetCache
zu. -
Setzen Sie die Cache-Keys deren Daten Sie löschen möchten, zum Beispiel wie folgt:
<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>
Siehe Alle XSLT-Stylesheet-Cache-Keys auflisten, um die Cache-Keyliste zu erhalten.
Alle XSLT-Stylesheet-Cache löschen
Sie können alle gecachte Einträge von XSLT-Stylesheets löschen.
So gehen Sie vor
-
Fügen Sie im XSLT-Stylesheet ein Element
Operation
unterhalb desISConfiguration
-Elements ein. -
Weisen Sie dem
Operation
Element ein Attribut mit dem Wertname=' deleteAllXSLTStylesheetCache'
zu.