12 IM FOKUS Das neue Gesicht Von ETL zur Datenintegration IM FOKUS Die Datenintegration ist schon immer eine Kernaufgaben der betrieblichen Informationstechnologie. Laut Gartner Group wenden Unternehmen mehr als 35 Prozent ihrer IT-Budgets für die Integration von Applikationen auf und rund 70 Prozent des in oder für Unternehmen programmierten Codes wird für den Informationsaustausch zwischen IT-Systemen erstellt (Ryll). Die Chancen stehen gut, dass die Datenintegration auch in Zukunft eine entscheidende Bedeutung haben wird, da die Anzahl der betrieblichen Anwendungssysteme trotz Einsatzes integrierter Standardanwendungssoftware weiter hoch sein wird und die anwendungsübergreifende Abwicklung von Geschäftsprozessen und eine gemeinsame Nutzung von Daten den Nutzen des Einsatzes von Informationstechnologie erhöht. Nach einer kurzen Einordnung der Datenintegration in den Kontext der Integration von Anwendungssystemen sollen vier Herausforderungen und aktuell verstärkt diskutierte Themen im Rahmen der Dateintegration beleuchtet werden: Die Konvergenz von prozess- und modellorientierten Integrationstechniken, die Einbeziehung weiterer Datenarten sowie das Metadaten- und Datenqualitätsmanagement. Datenintegration und EAI Der Austausch von Daten zwischen heterogenen Anwendungssystemen ist eine Kernaufgabe der Integration betrieblicher Anwendungssysteme (Enterprise Application Integration EAI). Die Verbindung verschiedener betrieblicher Anwendungssysteme wird allgemein mit dem Ziel vollzogen, Anwendungssysteme in die Lage zu versetzen, Information zu teilen sowie die Abwicklung von anwendungsübergreifenden Geschäftsprozessen zu automatisieren und flexibler zu gestalten. EAI subsumiert somit neben dem Datenaustausch auch prozessorientierte Themen zur innerund überbetrieblichen Zusammenarbeit von Software-Systemen. Die Datenintegration ist das Rückrad und Startpunkt jedes erfolgreichen Integrationsprojektes, da auch zur Prozesssteuerung immer ein Austausch von Daten vollzogen wird. Andere Ebenen der Anwendungsintegration zum Beispiel über Applikationsschnittstellen, Methoden und Benutzerschnittstellen oder Portale nutzen so auch regelmäßig Werkzeuge und Infrastruktur zur Bereitstellung und zum Austausch von Daten. Sowohl daten- als auch prozessorientierte Integration von Applikationen erfolgen dabei als Vernetzung in den architektonischen Grundtypen: Punkt-zu-Punkt, Bus oder Hub-and- Spoke (Nabe-Speiche). Die technologische Umsetzung der Datenintegration erfolgt mit verschiedener Arten von Middleware (s. Kasten) oder den Replikationsmechanismen von Datenbanken. Die verfügbaren Techniken werden sowohl in individuell erstellten Programmen als auch von Applikationen bzw. Werkzeugen für allgemeine EAI- oder spezielle Aufgaben der Extraktion, Transformation & Laden (ETL) eingesetzt. Mit den EAI- und ETL-Systemarchitekturen und Technologien werden auch die aktuell diskutierten Real-Time- Szenarien bzw. Echtzeit-Unternehmen möglich, verstanden als Unternehmen mit einer arbeitsplatz- und systemübergreifenden sowie zeitnahen Integration von Daten und Prozessen. Zum Einsatz kommt sowohl der service-orientierte Ansatz, in dem Funktionsbausteine als Web-Services über definierte XML- Schnittstellen und Verzeichnisse aufgerufen werden können, als auch der ereignis-orientierte Ansatz, in dem definierte Ereignisse eine Datenübertragung in einer Prozesskette auslösen. Auf Basis dieses technischen Rahmens sollen vier interessante Themenfelder kurz vorgestellt werden, in denen
IM FOKUS 13 aktuell zahlreiche technische und inhaltliche Entwicklungen zu beobachten sind: 1. Konvergenz der prozessund modellorientierten Datenintegration 2. Erweiterung der Datenarten 3. Metadatenmanagement und 4. Datenqualitätsmanagement. 1. Paradigmen der Datenintegration konvergieren Seit längerem können neben reinen Replikationsaufgaben zwei Paradigmen der Datenintegration beobachtet werden, die hier als prozess- und modellorientiert unterschieden werden sollen. Im Rahmen der prozessorientierten Integration von Anwendungssystemen steht häufig die zeitnahe Übertragung kleiner Datenmengen zwischen Systemen im Fokus. Dieses Einsatzgebiet wird vorzugsweise von transaktions- und nachrichtenorientierter Middleware unterstützt (s. Kasten Middleware). Die Datenintegration sorgt dafür, dass ein ereignisorientierter Informationsaustausch über Systemgrenzen hinaus zur Abwicklung meist operativer Aufgaben funktioniert. Software in der Kategorie (EAI) unterstützt vor allem diese Aufgaben. Im modellorientierten Paradigma ist die Datenintegration die Schnittstelle zwischen verschiedenen Applikationstypen und hat damit die weitergehende Aufgabe der Transponierung von Daten zwischen unterschiedlich ausgerichteten Datenmodellen. Besonders deutlich wird dies an ETL-Prozessen zur Integration von Daten aus operativen Systemen BARC-Studie Bild 1: Konvergenz von prozessorientierter Datenintegration (Haupteinsatzbereich: EAI) und modellorientierter Datenintegration (Haupteinsatzbereich: ETL). Kurzform Langform Erläuterung ETL EAI Data Warehousing und Datenintegration: 15 Data Warehouse und ETL- Werkzeuge im direkten Vergleich Die Studie stellt die relevanten Kriterien zur Beurteilung von Data-Warehouse- und Datenintegrationslösungen vor und bewertet auf dieser Basis die Leistungsfähigkeit der Software im Vergleich. Eine ausführliche Beschreibung jedes Werkzeuges gibt dem Leser einen Einblick in die unterschiedlichen Lösungsansätze für eine Markteingrenzung oder einen Direktvergleich zu evaluierender Hersteller. Weitere Informationen unter www.barc.de EII Extraktion, Transformation, Laden Enterprise Application Integration Enterprise Information Integration für ein Data Warehouse. Das entscheidungsorientierte Datenmodell eines Unternehmens kann häufig nicht direkt aus den Vorsystemen befüllt werden (s. auch Kasten: Schritte zur Datenintegration). Aufwändige Transformationsschritte der Verdichtung, Anreicherung und Bereinigung sowie Zwischenspeicher wie Staging Areas und Operational Data Stores sind nötig, um eine Schnittstelle zwischen unterschiedlich orientierten Anwendungssystemen aufzubauen. Die Datenintegration geschieht hier in der Regel zyklisch in Batch- Verarbeitung mit großen Datenmengen und hohem Prozessaufwand zur Datentransformation. Seit kurzer Zeit verschwimmen die Grenzen dieser beiden Welten immer stärker. Vormals typisch transaktions- und damit prozessorientierte Middleware wird zusehends auch mit Möglichkeiten zur Datentransformation ausgestattet. Auf der anderen Seite wird im Data-Warehouse-Umfeld immer stärker das Real-Time und aktive Warehouse propagiert wird beides Konstrukte, in denen zeitnah kleine Informationsmengen mit operativen Systemen ausgetauscht oder anderweitig bereitgestellt werden sollen. Bild 1 zeigt diese Hauptprozesse zur Befüllung von Data Warehouses Integration/Verknüpfung betrieblicher Anwendungssysteme durch verschiedenste Arten von Middleware Integration verschiedener Datenarten, teilweise auch nur temporär für einzelne Auswertungen (virtuelles Data Warehouse) Konvergenz anhand der Kriterien Datenmenge, Transformation und Aktualisierung. Die Verknüpfung von prozess- und modellorientierten Vorgehen und damit die Integration von EAI- und ETL-Funktionen zeigt sich auch an aktuellen Entwicklungen auf dem Software-Markt. Die beiden größten ETL-Anbieter Ascential und Informatica haben ihre Integrationssoftware real-time fähig gemacht. Beispielsweise über Listener-Prozesse können so ständig ETL-Prozesse bei Bedarf durch andere Applikationen angestoßen werden. Weiterhin hat Ascential den EAI-Anbieter Mercator aufgekauft und Informatica eine engere Kooperation mit EAI-Anbieter WebMethods für das Business Activity Monitoring angekündigt. Business Objects als drittes Beispiel hat eigene Nachrichten-Techniken mit in seine Technologieplattform aufgenommen. 2. Integration weiterer Datenarten Ganzheitlich betrachtet sind Gegenstand der Datenintegration strukturierte (etwa Datensätze aus relationalen Da-
14 IM FOKUS tenbanken), semistrukturierte (etwa XML-Dateien) und unstrukturierte Daten (Text-Dokumente, Bilder). Über strukturierte Daten hinaus bieten inzwischen viele Datenintegrations-Plattformen auch umfangreichere Möglichkeiten zur Verarbeitung von XML-Dateien an. Unstrukturierte Daten werden dagegen noch selten unterstützt. Erste Beispiele sind der IBM Information Integrator aber auch viele kleine Anbieter mit XML-basierten Integrationstechnologien. Hilfreich ist dabei insgesamt, dass Standard-Datenbanken inzwischen alle Datenarten aufnehmen können. Während man für XML- Dateien bis vor kurzem beispielsweise noch auf die Dateiverwaltung des Betriebssystems oder spezialisierte Datenbanken wie Tamino von der Software AG zurückgreifen musste, existieren heute in den Datenbankmanagementsystemen von IBM, Oracle oder Microsoft auch Datentypen und Konversionsmechanismen für semi- und unstrukturierte Daten. Einige Anbieter von objektorientierten und XML-Datenbanken repositionieren ihre Datenbanken aktuell als Integrationsserver. In diesen Kontext passt auch der kürzlich angekündigte Kauf von ETL und EAI-Anbieter Data Junction durch den Datenbankanbieter Pervasive Software Hersteller Ascential Business Objects Cognos Group1 Hummingbird IBM Informatica Microsoft MicroStrategy NCR Oracle Sand SAP SAS Sybase Produkt DataStage Data Integrator DecisionStream Sagent Solution ETL DB2 Warehouse Manager PowerCenter SQL Server 7i Teradata 9i Analytic Server Business Information Warehouse System IQ Tabelle 1: Werkzeuge in der BARC-Studie. 3. Metadatenmanagement Sowohl technische als auch inhaltliche/betriebswirtschaftliche Informationen werden im Rahmen der Datenintegration benötigt, um den Integrationsprozess zu steuern, überwachen und zielgerichtete Veränderungen vorzunehmen. So müssen Datentypen für Zieldatenbanken angepasst oder Kennzahlen für ein Data Warehouse normiert werden. Datenintegrationswerkzeuge müssen also Metadaten aus den verschiedensten Quell- und Zielsystemen lesen und verarbeiten können eine Aufgabe, die sonst nur spezialisierte Repository- Werkzeuge übernehmen. Ergänzend entstehen währen der Datenintegration auch viele interessante Metadaten (beispielsweise der Zeitpunkt der Datenbewegung, Herkunft der Daten und durchgeführte Veränderungen), die bei der weiteren Verarbeitung der Daten von Applikationen genutzt oder für Entwickler und Anwender von Interessen sein können. Schritt 1 Investigation 2 Mapping 3 Extraktion 4 Transformation 5 Laden 6 Aktualisieren Querschnittsaufgaben in jedem Schritt Ziel & Aufgaben Datenintegrationswerkzeuge sind damit eine Schnittstelle zwischen Applikationen, in der viele Metadaten benötigt werden und bei der einige neue anfallen. Vor allem wenn die Datenintegration über zentrale Integrationsplattformen abgewickelt wird, ist der Unterschied zu externen Repositories nicht mehr groß. Folgerichtig kann unter bestimmten Gesichtspunkten auch ein Ausbau der Datenintegrationsplattformen für ein umfassenderes Metadatenmanagement geschehen. Interessant in diesem Zusammenhang ist die Idee von Informatica mit dem neuen Produkt SuperGlue, die im ETL-Werkzeug PowerMart vorhandenen Anbindungs- und Analysemöglichkeiten für Daten- und Metadaten mit dem Konzept des Data Warehouse für ein Metadaten-Warehouse zu kombinieren. Inventur des Datenmaterials durch Katalogisierung und Klassifizierung der Datenquellen und Daten; Untersuchung der Datenqualität (Data Profiling); Korrektur falscher Daten Verknüpfung von Quell- und Zielsystemen durch Definition der Ziele des Datentransfers und der notwendigen Übertragungsregeln, Modellanpassung wo notwendig. Entladen des Quellsystems durch Lesen von Daten und Metadaten aus dem Quellsystem durch ETL-Werkzeuge oder Datenbankfunktionen. Insbesondere bei hierarchischen Datenbanken müssen alle notwendigen Schlüsselinformationen geliefert werden. Datenreinigung (Data Cleansing), Standardisierung, Verknüpfung und Deduplizierung; Anreicherung durch Kombination oder externe Information & weitere Transformationsschritte. Erzeugung einer Datei zum Import in eine Datenbank oder direktes Laden von Datenbanken aus einem ETL- Datenstrom. Definition der Aktualisierungsregeln in der Zieldatenbank, etwa nach Aktualität des geladenen Datensatzes oder Güte gemäß Güteregeln. Dokumentation in Metadaten und extern; laufendes Datenqualitätsmanagement Tabelle 2: Schritte zur Datenintegration (s. auch [BILL04]). 4. Datenqualitätsmanagement Auch wenn Daten über EAI oder ETL- Komponenten in schneller Zeit und großen Mengen zwischen Systemen bewegt werden können, wird das immer
IM FOKUS 15 Segment Hersteller Produktbezeichnung WWW-Adresse ETL-Werkzeug Ascential DataStage www.ascential.com Data Mirror Transformation Server www.datamirror.com Embarcadero DTStudio www.embarcadero.com ETI ETI*Extract Tool Suite www.eti.com iway ETL Manager www.iway.com Teil einer Business Intelligence Suite weiterhin eine häufig manuell abzuwikkelnde Aufgabe, die nicht nur die Begutachtung von Datenbeständen und Prozessen in IT-Systemen umfasst, sondern vor allem auch organisatorische Aspekte berücksichtigen muss. Ansatzpunkte für eine Automatisierung des Datenqualitätsmanagements unterstützt durch Software-Werkzeuge sind heute vor allem Data Profiling und Data Cleansing. Data Profiling ermöglicht die Erstellung eines Datenprofils im Rahmen einer automatisierten Quelldatenanalyse. Werkzeuge (etwa von Ascential, Avellino oder Evoke) generieren dabei Statistiken über die Datenfelder und untersuchen die Integrität der Daten. Maxima, Minima, Ausreißer, Datentypen und Formate sowie Häufig- Datenbank- Komponente Sunopsis Sunopsis www.sunopsis.com Business Objects Data Integrator www.businessobjects.com Cognos DecisionStream www.cognos.com Group1 Sagent Data Load www.group1.com Hummingbird ETL www.hummingbird.com Informatica PowerCenter www.informatica.de SAS SAS/Warehouse Administrator www.sas.com IBM Warehouse Center www.ibm.com Microsoft Data Transformation Services www.microsoft.com Oracle Oracle Warehouse Builder www.oracle.com EAI-Werkzeug BEA Systems WebLogic www.bea.com Compuware Uniface www.compuware.com Data Mirror Constellar Hub www.datamirror.com IBM WebSphere Business Integration, WebSphere MQ www.ibm.com SeeBeyond etl, egate Integrator www.seebeyond.com SUN One Integration Server www.sun.com TIBCO BusinessWorks www.tibco.com Vitria BusinessWare www.vitria.com WebMethods WebMethods www.webmethods.com Tabelle 3: Datenintegrationswerkzeuge (Auswahl). und überall auftretende Problem mangelnder Datenqualität als technisches und inhaltliches Problem nur selten adressiert. Erfahrungen und Berichte zeigen jedoch, dass in operativen Systemen 5 10% der Daten fehlerhaft sind. Das Problem ist in deutschen Unternehmen durchaus bekannt: Eine aktuelle Untersuchung von SAS Institute zeigt, dass nur 18% der befragten deutschen Unternehmen auf die Richtigkeit und Vollständigkeit ihrer Daten vertrauen und dadurch Profitabilitätseinbußen und niedrige Kundenzufriedenheit beklagen. Datenintegrationsprozesse, die über ein reines Kopieren von Daten hinausgehen, sind prädestiniert dafür, auf fehlerhafte Daten aufmerksam zu werden und Verbesserungsprozesse einzuleiten. Gerade in Migrationsprojekten muss sichergestellt sein, dass die Qualität der Daten hinsichtlich Übereinstimmung zwischen Alt- und Neusystem sowie definitorischer und inhaltlicher Korrektheit gewährleistet ist. Auch in Data Warehouses ist die Datenqualität neben Performance der entscheidende Faktor für die Nutzerakzeptanz des gesamten Systems. Qualitätsmängel können dabei in den verschiedensten Bereichen liegen, was die Verbesserung der Qualität zu einer vielschichtigen Aufgabe macht. So können Fehler in Dateninhalt und Datendefinition liegen und sowohl bei Erzeugung, Verarbeitung als auch Präsentation auftreten. Die Verbesserung ist
16 IM FOKUS keiten spezieller Werte können identifiziert und dargestellt werden. Neben der direkten Bereinigung von fehlerhaften Daten ermöglicht die Ableitung von Regeln die automatisierte Überwachung und Messung der Datenqualität in den betrachteten Systemen. Data Cleansing umfasst verschiedene Methoden der Datenbereinigung. Dies kann unter anderem die Aufteilung oder Zusammenfassung und Standardisierung von Datenfeldern sein, eine Dublettenbereinigung oder die Ersetzung von Daten durch andere. Softwarewerkzeuge sind teilweise auf bestimmte Anwendungsfelder spezialisiert (so etwa Werkzeuge von Fuzzy! Informatik, Omikron oder Uniserv auf die Bereinigung von Adressdaten), oder decken verschiedene Anwendungsfelder inklusive Data Profiling ab (etwa Ascential, HarteHanks/Trillium, oder SAS/DataFlux). Fazit Die Datenintegration bleibt eine Schlüsselfunktion in der betrieblichen Systemlandschaft und IT- Architektur. Mit dem Verschwimmen von klassischen Grenzen der prozess- und modellorientierten Datenintegration, der Integration verschiedenster Datenarten und einer stärkeren Berücksichtigung des Metadaten- und Datenqualitätsmanagements werden schon lange vorhandene Probleme stärker adressiert und der Nutzen der IT insgesamt durch bessere und flexiblere Verknüpfungsmöglichkeit von Systemen gesteigert. Dr. Carsten Bange bange@barc.de Literatur [BANG03] Bange, C. et al: BARC-Studie Datenintegration und Data Warehousing. 12 Produkte im Vergleich. Oxygon, München 2003. [BANG04] Bange, C.: Business Intelligence aus Kennzahlen und Dokumenten. Integration strukturierter und unstrukturierter Daten in entscheidungsunterstützenden Informationssystemen. Kovac, Hamburg 2004. [BILL04] Billig, J.: Building Bridges the IT Way Creating a Solid Data Foundation. In: DM Review 14 (2004) 2. [MORG01] Morgenthal, J.: Enterprise Application Integration with XML and Java. Prentice Hall, Upper Saddle River 2001. [LINT00] Linthicum, D.: Enterprise Application Integration. Addison-Wesley, Boston etc. 2000. [RYLL01] Ryll, C.: Application-Integration: Gekoppelt und verlinkt. In: Net-Investor, o. Jg. (2001) 7; S. 70-73. [ZAHA00] Zahavi, R.: Enterprise Application Integration with CORBA. John Wiley & Sons, New York usw. 2000. Middleware Middleware ist grundsätzlich jede Art von Software, welche die Kommunikation zwischen zwei oder mehr Softwaresystemen erlaubt. Ausprägungsformen reichen von einem einfachen Kommunikationskanal zwischen zwei Anwendungen bis hin zu Transaktionsmonitoren, die den Daten- und Nachrichtenaustausch im Kontext der abgewickelten Geschäftsprozesse steuern. Die wichtigsten Formen von Middleware sind: Datenbank-orientierte Middleware Datenbank-orientierte Middleware erlaubt den Zugriff auf Datenbanken von einem Anwendungsprogramm oder anderen Datenbanken und ist eine Zusammenfassung verschiedener Technologien und Standards zum plattformübergreifenden Zugriff auf verschiedene Datenbanken. Neben nativen (anbieterspezifischen) Datenbankschnittstellen sind hier insbesondere sog. Call-Level Schnittstellen (Call-Level Interfaces CLI) wie ODBC und JDBC zu nennen. Methodenaufrufe und verteilte Objekte Methodenfernaufrufe (Remote Procedure Call, RPC) stellen die älteste Form der Middleware dar und erlauben in einem Programm den Aufruf einer Funktion, die in einem anderen Programm durchgeführt wird. RPCs stellen eine Basistechnologie dar, die beispielsweise auch bei verteilten Objekten benutzt wird. Diese benutzen standardisierte Schnittstellen und Protokolle um miteinander zu kommunizieren. Die verbreitetsten Standardisierungen sind die Common Object Request Broker Architecture (CORBA) sowie das Component Object Model (COM). Nachrichten-orientierte Middleware Nachrichten-orientierte Middleware folgt im Gegensatz zu RPCs einem asynchronen Kommunikationsparadigma. Eine direkte Verbindung zwischen den Applikationen ist nicht erforderlich, da Nachrichtendienste die Übermittlung von kleinen Datensätzen übernehmen. Neben direkten Punkt-zu- Punkt-Verbindungen existiert vor allem der Einsatz von Warteschlangen (Message Queues), die Nachrichten speichern und bei Bedarf oder Verfügbarkeit weiterleiten. Beispiele für Message Queuing Produkte sind IBM MQ Series, Microsoft MSMQ oder Tibco Rendezvous. Message Broker erweitern das Konzept der Nachrichtenorientierten Übermittlung von Information, indem sie einen zentralen Server als Steuerungseinheit bereitstellen, der zusätzlich zur Kommunikation auch eine Transformation von Nachrichten vornehmen kann. Transaktions-orientierte Middleware Zur Transaktions-orientierten Middleware zählt man vor allem Transaktionsmonitore und Applikationsserver. Beide Softwarekomponenten beziehen sich auf Transaktionen, also abgeschlossene Aufgabeneinheiten mit definiertem Beginn und Ende. Die abzuarbeitenden Aufgaben innerhalb einer Transaktion können unterschiedlichster Natur sein und beispielsweise Applikations- und Datenbankzugriffe, das Absetzen von Nachrichten oder den Aufruf verteilter Objekte umfassen. Service-orientierte Middleware Web-Services erlauben den Aufruf von Programmen und Funktionen über XML-Standards.