Prozesse validieren
Sowohl Business Processes (.bpm
) als auch Technical Processes (.wrf
) können über einen integrierten Prozess-Validator auf Gültigkeit geprüft werden. Dabei kann die Validierung auf Basis von standardmäßig hinterlegten oder benutzerdefinierten Validierungsregeln durchgeführt werden.
Die Prozess-Validierung kann über folgende Menüs geöffnet werden:
- Kontextmenü > Validate bei Rechtsklick auf Prozesse im Repository
- Menü Project > Validate Project
Bei der Prozess-Validierung werden drei Schweregrade unterschieden:
Error
: Fehler, welche die Ausführung des Prozesses verhindernWarning
: Fehler, die eine fehlerhafte Ausführung des Prozesses verursachen könnenInformation
: Informationen zum Zustand eines Prozesses
Prozess-Validierung durchführen
Um einen Prozess auf Gültigkeit zu prüfen, gehen Sie wie folgt vor:
- Öffnen Sie den Dialog für die Prozess-Validierung, z.B. über das Menü Project > Validate Project.
- Die zu validierenden Prozesse auswählen.
- Über Use custom config file und Browse, ggf. eine Konfiguration für eigene Validierungsregeln hochladen, siehe Abschnitt Benutzerdefinierte Validierungsregeln.
Mit Start die Validierung beginnen.
In der Validation Report Sicht wird nun das Validerungsergebnis geöffnet.- Mit Doppelklick auf den Prozesspfad wird der entsprechende Prozess im X4 Designer geöffnet.
- Mit Doppelklick auf ein Validierungsergebnis werden die Eigenschaften der entsprechende Prozesskomponente in der Properties-Sicht geöffnet.
Standardmäßig hinterlegte Validierungsregeln
Folgende Validierungsregeln sich bereits standardmäßig hinterlegt:
Validierungsregel | Beschreibung | Schwere |
---|---|---|
| Sind alle Aktionen korrekt parametriert? | Error |
| Sind alle Zweige eines Condition -Bausteine gefüllt? | Warning |
| Sind alle Pfade geschlossen? | Error |
Benutzerdefinierte Validierungsregeln
Es können auch eigene Validierungsregeln definiert werden. Diese müssen als XSLT-Mapping mit einer vorgegebenen Struktur vorliegen.
Beispiel: Mapping-Beispiel für benutzerdefinierte Validierungsregeln
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output media-type="text/xml" method="xml"></xsl:output>
<xsl:template match="/">
<xsl:param name="subprocessCount" select="count(Workflow/Actions/Action[Module/text() = 'iXworkflow'])"></xsl:param>
<xsl:param name="componentCount" select="count(Workflow/Actions/Action)"></xsl:param>
<xsl:param name="textCount" select="count(Workflow/Graphics/svg/text)"></xsl:param>
<step>
<xsl:choose>
<xsl:when test="$componentCount > 100">
<warn>The number of process components is <xsl:value-of select="$componentCount"></xsl:value-of>. Processes with more than 100 components may probably be unclear and error-prone. Please check, if you can outsource parts of the process as subprocesses.</warn>
</xsl:when>
<xsl:otherwise>
<info>The number of process components is <xsl:value-of select="$componentCount"></xsl:value-of>
</info>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="$textCount > 0">
<xsl:if test="$componentCount div $textCount > 5">
<warn>The ratio of process components to text components is greater than 5:1. It is <xsl:value-of select="$componentCount div $textCount"></xsl:value-of>:1.</warn>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<info>The process doesn't contain any text components.</info>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="$subprocessCount > 0">
<xsl:if test="( $componentCount - $subprocessCount ) div $subprocessCount > 10">
<warn>The ratio of process components to subprocesses is greater than 10:1. It is <xsl:value-of select="( $componentCount - $subprocessCount ) div $subprocessCount"></xsl:value-of>:1</warn>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<info>The process doesn't contain any subprocesses.</info>
</xsl:otherwise>
</xsl:choose>
</step>
</xsl:template>
</xsl:stylesheet>
Für die Prozess-Validierung muss eine XML-Datei mit folgendem Aufbau übergeben werden. Das zu verwendende Mapping wird hier anhand der xstore
-URL referenziert:
<validationConfig>
<default active="true"/>
<custom_xslt active="true" name="processMetrics">
xstore://Projekt/Unterverzeichnis/customValidationMetrics.xsl
</custom_xslt>
</validationConfig>