Ü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:
Schnittstelle | Beschreibung |
---|---|
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:
Funktion | Schnittstelle | Beschreibung |
---|---|---|
DoWorkflow | Anwendung | Ruft einen Workflow auf dem DQ-Server auf, Übergabe und Rückgabe eines Datensatzes. |
DoWorkflowExtended | Anwendung | Ruft 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. |
DoTableBasedWorkflow | Anwendung | 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. |
IsProcessRunning | Anwendung | Prüft ob ein Prozess noch läuft, übergeben wird dabei die Prozess-ID, als Rückgabe gibt der Prozess Wahr oder Falsch zurück. |
GetProcessStringArrayResul | Administration | Ruft die Ergebnisse des Prozesses als Tabelle ab. |
RemoveProcess | Administration | Entfernt den Prozess aus der Prozessverwaltung (nachdem das Ergebnis abgeholt wurde). |
Bei der Integrationsbeschreibung / Workflow-Beschreibung wird die jeweilige zu benutzende Funktion genannt.