Daten-Management

Wie sich Datenqualität durch eine SOA steigern lässt

26.11.2007
Von Thomas Arlt
Die Qualität von Kundendaten ist wichtig für den Unternehmenserfolg. Optimieren lässt sie sich mit dem Einsatz von Web-Services und Prozessen in einer Service-orientierten Architektur (SOA).

Vollständigkeit, Gültigkeit, Übereinstimmung, Aktualität und Exaktheit bestimmen die Qualität von Daten. Insbesondere Unternehmen mit starkem Kundenbezug haben oft mit redundanten, uneinheitlichen, fehlenden oder auch falschen Daten zu kämpfen. Zum Beispiel, weil jedes ihrer Systeme (SCM, ERP, CRM) auf einem eigenen Datenbestand basiert. So entsteht Redundanz. Weitere Fehlerquellen: Ein Kunde wurde aufgrund von Schreib- oder Verständnisfehlern mehrmals angelegt, oder die Daten wurden bei der Erfassung nicht korrekt geprüft, und dadurch uneinheitlich. Häufig fehlen auch Daten, weil der Kunde sie nicht vollständig angeben hat – und das Unternehmen keinen Prozess besitzt, sie zu vervollständigen. Trotz alledem bereinigen nur wenige Firmen regelmäßig ihre Daten. Datenqualität ist oft ein bloßes Lippenbekenntnis.

Hilfe verspricht ein neuer Ansatz, der die Qualität von Daten auf Basis von Service-orientierten Architekturen (SOAs) optimieren soll. Letztere werden derzeit viel diskutiert, doch spielt dabei bisher das Thema Datenqualität trotz seiner strategischen Bedeutung keine große Rolle (Ausführliche Informationen und Diskussionen zu SOA finden Sie auch im SOA Expertenrat der COMPUTERWOCHE). Die Idee ist nun, Services zu definieren, die verschiedene Attribute der Datenqualität zu steigern helfen, indem sie Duplikate verhindern oder eliminieren, falsche oder fehlende Daten korrigieren beziehungsweise Fehler beim Einfügen von Daten vermeiden. Statt wie bisher die Steigerung der Datenqualität auf eine Anwendung oder ein ERP-System zu beschränken, zielt dieses Vorgehen auf eine unternehmensweite Sicherung der Datenqualität an zentraler Stelle ab. Diese Services und deren Algorithmen lassen sich mit relativ geringem Aufwand zum Beispiel in Java programmieren und als Web-Services bereitstellen. Über einen Enterprise Service Bus und eine Business Process Engine können Anwender die Dienste dann zu komplexeren Datenqualitäts-Prozessen kombinieren:

Beispielservices für Datenqualität

Aus SOA-Projekten von Accenture sind mittlerweile eine Reihe entsprechender Services hervorgegangen, die Unternehmen mit Hilfe von Beratungsdienstleistungen implementieren können:

Ensure Completeness: Dieser Service kann bei Dateneingabe und im Batch Mode aufgerufen werden. Er vergleicht die eingegebenen Daten mit einer vorab definierten Maske, um festzustellen, ob alle relevanten Daten vorhanden sind. Ein solcher Service lässt sich mittels einer unternehmensweiten Definition von Datenentitäten implementieren, zum Beispiel mit der Entität "Kunde". Sie ist zentral hinterlegt und genügt den Anforderungen aller Applikationen, die Kundendaten benötigen. Ensure Completeness muss dann von den Dateneingabemasken, über die Kundendaten erfasst werden, aufgerufen werden. Durch Web-Service-Standards lassen sich heute fast alle Applikationen anpassen, um diesen zentralen und unternehmensweit gültigen Service aufzurufen. Dass diese Services auch von allen benutzt werden, müssen Anwender durch SOA-Governance-Strukturen sicherstellen.

Dargestellt ist ein Batch Framework, das als Teil einer SOA Datenqualitäts-Services und Prozesse orchestriert, um Daten im batch mode zu bereinigen. Im Einzelnen vereinheitlicht der Dienst 'Standardize Customer' in diesem Framework die Kundendaten gemäß einer einheitlichen Datendefinition. 'Kill Duplicates' sorgt für die Identifizierung von redundanten Services, 'Validate Interrelational Integrity' prüft und stellt die Datenintegrität zwischen verschiedenen Datenbeständen sicher. Den Check auf Vollständigkeit, Korrektheit und Alter übernehmen 'Ensure Completeness', 'Ensure Accuracy' und 'Check Data Age'. Das Framework kann beispielsweise Business-Services erweitern. Zusätzlich lassen sich externe Dienste für weitere Aufgaben im Datenqualität-Management einbinden.
Dargestellt ist ein Batch Framework, das als Teil einer SOA Datenqualitäts-Services und Prozesse orchestriert, um Daten im batch mode zu bereinigen. Im Einzelnen vereinheitlicht der Dienst 'Standardize Customer' in diesem Framework die Kundendaten gemäß einer einheitlichen Datendefinition. 'Kill Duplicates' sorgt für die Identifizierung von redundanten Services, 'Validate Interrelational Integrity' prüft und stellt die Datenintegrität zwischen verschiedenen Datenbeständen sicher. Den Check auf Vollständigkeit, Korrektheit und Alter übernehmen 'Ensure Completeness', 'Ensure Accuracy' und 'Check Data Age'. Das Framework kann beispielsweise Business-Services erweitern. Zusätzlich lassen sich externe Dienste für weitere Aufgaben im Datenqualität-Management einbinden.

Kill Duplicates: Der Service identifiziert redundante Daten mittels Algorithmen wie "Levenshtein" oder "Soundex". Er entfernt Redundanzen entweder automatisch oder stellt sie bei Bedarf zur manuellen Prüfung bereit. Dieser Dienst läuft hauptsächlich im Batch Mode.

Standardize Data: Die Daten werden zwischen verschiedenen Systemen standardisiert. Der Dienst definiert eine Art "Master Data", die eine unternehmensweit einheitliche Darstellung von Datenobjekten ermöglicht. Dieser Service wird im Batch Mode verwendet.

Validate Interrelational Integrity: Bei Datenerfassung und in regelmäßigen Batch-Läufen wird geprüft, ob Daten-Einschränkungen verletzt sind – nicht nur innerhalb eines Systems, sondern insbesondere zwischen verschiedenen Systemen.

Ensure Accuracy: Alle vorhandenen und neuen Daten werden auf ihre Korrektheit geprüft. Services anderer Providern können einbezogen werden, um etwa Adressdaten auf ihre Gültigkeit zu prüfen oder Kundennamen über Telefonbucheintragungen zu verifizieren. Dieser Dienst arbeitet sowohl im Batch als auch Online Mode.

Check Data Age: Damit wird im Batch Mode regelmäßig das Alter der Daten geprüft. Erreicht ein Datensatz ein bestimmtes Alter, wird eine definierte Aktion ausgelöst, zum Beispiel eine E-Mail an den Kunden, um die Gültigkeit der Daten zu prüfen. Diesen Service kann man etwa über eine Applikation umsetzen, die das Alter von Daten zentral erfasst und einen Link zu den Stellen hat, wo diese Daten gespeichert sind. Ist ein Datensatz auf den neuesten Stand zu bringen, bekommt der zentrale Service eine entsprechende Information und aktualisiert den entsprechenden Eintrag. In regelmäßigen Abständen wird die Aktualität über die zentrale Datenbank überprüft.

Service-Frameworks

Die genannten Services lassen sich je nach Datentiefe und Anforderungen in Frameworks kombinieren, um verschiedene Strategien beim Qualitäts-Management umzusetzen. Ein Beispiel ist ein Batch-Framework, das Services und Prozesse orchestriert, um Daten im Batch Mode zu bereinigen. Der Dienst "Standardize Data" vereinheitlicht in diesem Framework die Daten gemäß einer einheitlichen Datendefinition. "Kill Duplicates" sorgt für die Identifizierung von redundanten Services, "Validate Interrelational Integrity" prüft und sichert die Datenintegrität zwischen verschiedenen Datenbeständen. Den Check auf Vollständigkeit, Korrektheit und Alter übernehmen "Ensure Completeness", "Ensure Accuracy" und "Check Data Age".

Ein anderes Beispiel ist ein Online Framework. Die darin zusammengefassten Services stellen sicher, dass neue Daten den Qualitätsvorgaben entsprechen. Das Framework stellt einen Prozess bereit, der bei jeder Dateneingabe aufgerufen wird. Es orchestriert die folgenden Services: Kill Duplicates prüft, ob ein ähnlicher Datensatz schon existiert und gibt eine entsprechende Referenz zurück. Check Accuracy untersucht online die Korrektheit der eingegebenen Daten. Fehlerhafte Daten korrigiert Ensure Accuracy automatisch. Schon bei der Dateneingabe ermittelt Ensure Completeness, ob sie vollständig sind. Fehlen Daten, fragt der Dienst eine Vervollständigung nach. Abschließend prüft Validate Interrational Integrity die Daten über die verschiedenen Datensysteme hinweg.

Das Quick-Win Framework berücksichtigt nur die Services mit geringer Komplexität, die aber dennoch einen messbaren Einfluss auf die Datenqualität haben. Es handelt sich um die Dienste Ensure Completeness, Standardize Data sowie Check Data Age. Ein Quick-Win Framework könnte vor allem Unternehmen helfen, die gerade erst SOA eingeführt haben, und einen schnellen Return on Investment suchen. Das Framework lässt sich ohne großen Aufwand bereitstellen und sorgt schnell für eine signifikante Erhöhung der Datenqualität. Im Gegensatz zum Quick-Win Framework berücksichtigt das Long-term-Win-Framework auch komplexe Prozesse und stellt damit langfristig eine hohe Datenqualität sicher. Es orchestriert alle beschriebenen Datenqualitätsservices und ist entsprechend komplex umzusetzen. Aber es sorgt auch für die höchste Datenqualität. Dieses Framework eignet sich für Unternehmen, die sich bereits länger mit SOA beschäftigten und sich nun an komplexeren Services versuchen wollen. Besonders die beiden zuletzt beschriebenen Frameworks können je nach Anforderung noch weiter abgestuft werden. Siehe zum Thema auch den Beitrag "Stammdaten – der Business Case für SOA". (as)