Übersicht Anbindung von Workflows über die SOAP Schnittstelle


Workflow-Aufrufe


Jeder definierte Workflow im Data Quality Server hat einen bestimmten Namen, mit dem er aufgerufen werden kann. Bei der Umsetzung des Workflows wird eine Satzstruktur festgelegt.
Die Workflows sind dabei für eine der beiden möglichen Workflow-Schnittstellenfunktionen im SOAP-Protokoll vorgesehen.


Das folgende Beispiel zeigt die Nutzung der Funktion „DoWorkflow“ zur Verarbeitung eines Datensatzes.

Diese gibt einen Datensatz als Antwort vom DQ-Server zurück, zum Beispiel bei der Normalisierung einer Telefonnummer.


Der SOAP-Aufruf lautet:


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DoWorkflow xmlns="DQServer.asmx">
<Username>string</Username>
<password>string</password>
<WorkflowName>string</WorkflowName>
<FieldNames>
<string>string</string>
<string>string</string>
</FieldNames>
<Records>
<string>string</string>
<string>string</string>
</Records>
</DoWorkflow>
</soap:Body>
</soap:Envelope>


Wie für alle Data Quality Server Aufrufe muss zuerst ein Username und ein Passwort übergeben werden, dann folgt der Name des Workflows.

Danach folgen Feld/Wertkombinationen, die alle Daten für den jeweiligen Workflow enthalten.


Die Antwort des Webservice Aufrufs lautet:


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DoWorkflowResponse xmlns="DQServer.asmx">
<DoWorkflowResult>
<ArrayOfString>
<string>string</string>
<string>string</string>
</ArrayOfString>
<ArrayOfString>
<string>string</string>
<string>string</string>
</ArrayOfString>
</DoWorkflowResult>
</DoWorkflowResponse>
</soap:Body>
</soap:Envelope>


Die Rückgabe der Workflows bestehen aus Daten- und Statusfeldern.

Viele der Data Qualtity Server Prüfungen liefern bestimmte Statuscodes zurück, diese werden zur weiteren Verarbeitung mit zurückgegeben.


Durch diese Kapselung können die folgenden Vorteile genutzt werden:
• Flexible Einbindung, Aktivierung und Deaktivierung von Schritten ohne Eingriff in die Prozesse der aufrufenden Systeme
• Möglichkeit der stärkeren Automatisierung von Korrekturen und Einbindung von Vor- und Nachbearbeitungsschritten im Workflow erleichtern und optimieren den individuellen Prüfprozess
• Jeder Workflow benutzt eine Anzahl weiterer DQ Server Komponenten.


Workflows können einzelne Felder als Ergebnis liefern (Beispiel: Normalisierung einer Telefonnummer) oder eine ganze Tabelle zurück liefern (Beispiel: Dublettenergebnis mit 0-n Treffern).



Übersicht der für die Integration genutzen Schnittstellen des DQ-Servers

Die vom Data Quality Server bereitgestellten Dienste und Workflows werden via SOAP-Schnittstelle aufgerufen.

Die Funktionen sind dabei in zwei unterschiedlichen Schnittstellen abgelegt:

SchnittstelleBeschreibung
Anwendung

http://[Server]/DQServer/DQServer.asmx

Enthält alle Schnittstellenfunktionen, die zum Aufruf vorkonfigurierter Funktionen des DQ-Servers dienen.

Dazu gehören insbesondere die Funktionen zum Ausführen von Workflows jeglicher Art (Datensatzbasiert wie auch Tabellenbasiert).

Administration

http://[Server]/DQServer/Administration.asmx

Enthält alle Schnittstellenfunktionen, die die Konfiguration oder auch den Status des Servers abfragen oder beeinflussen können

z.B. Taskmanagement oder Management der Schedules.


Der DQ-Server stellt zur Nutzung der Workflows verschiedene Funktionen zur Verfügung, die bei der Umsetzung der Szenarien genutzt werden:

FunktionSchnittstelleBeschreibung
DoWorkflowAnwendungRuft einen Workflow auf dem DQ-Server auf, Übergabe und Rückgabe eines Datensatzes.
DoWorkflowExtendedAnwendungRuft einen Workflow auf dem DQ-Server auf, Übergabe eines Satzes, Rückgabe keines, eines oder mehrere Sätze, Datenstruktur kann von der Eingabe unterschiedlich sein.
DoTableBasedWorkflowAnwendung

Ruft einen tabellenbasierten Workflow asynchron im Batch aus. Diese Option wird meist für die Synchronisation ganzer Datensbestände oder für größere Batchläufe genutzt.

Die Funktion gibt bei Aufruf eine Prozess-ID zurück statt eines synchronen Ergebnisses.

Die Ergebnisse werden dann mit einer separaten Funktion nach Abschluss des Prozesses mittels einer weiteren Funktion abgeholt.

IsProcessRunningAnwendungPrüft ob ein Prozess noch läuft, übergeben wird dabei die Prozess-ID, als Rückgabe gibt der Prozess Wahr oder Falsch zurück.
GetProcessStringArrayResulAdministrationRuft die Ergebnisse des Prozesses als Tabelle ab.
RemoveProcessAdministrationEntfernt den Prozess aus der Prozessverwaltung (nachdem das Ergebnis abgeholt wurde).

 

Bei der Integrationsbeschreibung / Workflow-Beschreibung wird die jeweilige zu benutzende Funktion genannt.


  • No labels