Skip to main content
Skip table of contents

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 verhindern
  • Warning: Fehler, die eine fehlerhafte Ausführung des Prozesses verursachen können
  • Information: Informationen zum Zustand eines Prozesses

Prozess-Validierung durchführen

Um einen Prozess auf Gültigkeit zu prüfen, gehen Sie wie folgt vor:

  1. Öffnen Sie den Dialog für die Prozess-Validierung, z.B. über das Menü Project Validate Project.
  2. Die zu validierenden Prozesse auswählen.
  3. Über Use custom config file und Browse, ggf. eine Konfiguration für eigene Validierungsregeln hochladen, siehe Abschnitt Benutzerdefinierte Validierungsregeln
  4. 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

Action Parameter Validation

Sind alle Aktionen korrekt parametriert?Error

Condition Validation

Sind alle Zweige eines Condition-Bausteine gefüllt?Warning

Connection Validation

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

XML
<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 &gt; 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 &gt; 0">
          <xsl:if test="$componentCount div $textCount &gt; 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 &gt; 0">
          <xsl:if test="( $componentCount - $subprocessCount ) div $subprocessCount &gt; 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:

XML
<validationConfig>
	<default active="true"/>
	<custom_xslt active="true" name="processMetrics">
		xstore://Projekt/Unterverzeichnis/customValidationMetrics.xsl
	</custom_xslt>
</validationConfig>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.