Enterprise Information Integration
Auteur: Rick F. van der Lans
Geschreven: juni 2003
Gepubliceerd in: Computable jaargang 2003 nummer 23 en
DataNews jaargang 2003 nummer 21

Nee, nee, denkt u, dat soort tools heten niet Enterprise Information Integration, maar Enterprise
Application Integration-tools! Maar dan moet ik u corrigeren. Deze nieuwe categorie bestaat wel degelijk en, de kans is groot dat ze de komende jaren veel aandacht krijgt.
Via een EII-tool kunnen we toegang krijgen tot gegevens, opgeslagen in verschillende databases en bestanden. Gegevens uit SQL-databases kunnen met gegevens uit XML-databases en met losse bestanden gecombineerd worden. Zij maken het mogelijk dat meerdere, totaal gescheiden gegevensbronnen logisch als één geïntegreerde database gezien kunnen worden.
Er bestaan reeds voorlopers van deze EII-tools, zoals DataJoiner van IBM en EDA/SQL van Information Builders. De beperking van de meeste van deze producten is dat ze uitgaan van SQL. Binnenkomende SQL-instructies worden vertaald naar de taal die door de onderliggende systemen ondersteund wordt. Nu kan er veel met SQL, maar alleen als de onderliggende bronnen hun gegevens in de vorm van tabellen kunnen presenteren. En dat is niet altijd het geval.
Stel dat een gegevensbron voornamelijk tekstuele documenten bevat en dat bovendien de documenten vergelijkbaar zijn, maar niet allemaal precies dezelfde structuur hebben. SQL is dan een ongeschikte taal.
XQuery daarentegen, de nieuwe databasetaal uit de XML-wereld en ontworpen door het W3C, is daar juist ideaal voor. Vandaar dat deze taal door de nieuwe generatie EII-tools gekozen is.
Om een EII-tools te kunnen bouwen, dient de leverancier enkele technologische problemen op te lossen. Ten eerste moet het tool kunnen communiceren met al die andere bronnen. Hiervoor bestaan gelukkig al geruime tijd veel adapters. Ten tweede moet het tool in staat zijn elke binnenkomende ‘query’ op te breken in kleinere query’s en deze naar de geschikte gegevensbronnen te sturen. Uit de antwoorden die het EII-tool terugkrijgt, moet dan het uiteindelijke antwoord samengesteld worden, ofwel moeten de tussenresultaten gejoined worden. En tenslotte dient het EII-tool een vorm van gedistribueerde join optimalisatie uit te voeren. Dit komt er op neer dat het EII-tool zal nadenken over hoe op de meest efficiënte wijze gegevens opgehaald moeten worden.
Als er gegevens uit een DB2-, een Oracle- en een XML-database gehaald moeten worden, is de meest voor de hand liggende strategie het ophalen van de drie gegevensbestanden en de join binnen het EII-tool uitvoeren. Dit is een mogelijke strategie, maar een beter alternatief is denkbaar. Eerst de gegevens van DB2 naar Oracle sturen en hier een deel van de join uitvoeren, het antwoord daarvan het EII-tool binnenhalen en deze dan vervolgens joinen met de XML-gegevens. Dit is een voorbeeld van het optimaliseren van een gedistribueerde join.
Een EII-tool kan dit echter alleen als ze de beschikking heeft over zogenaamde statistische informatie betreffende de gegevensbronnen. Hoeveel records zijn er, wat is de distributie van waarden en hoe snel zijn de communicatielijnen? De performance van elk EII-tool zal voor een groot deel bepaald worden door de kwaliteit van hun gedistribueerde optimalisatie.
De eerste EII-tools zijn nu beschikbaar, waaronder Enosys Server, Ipedo XML Information Hub, Meta Matrix Server en Nimble Integration Suite. Ook IBM, als eerste van de grote spelers, heeft zich met Information Integrator op dit terrein begeven. Intern is dit product gebouwd met gebruikmaking van de eigen "oude" DataJoiner-technologie.
Mogelijke toepassingsgebieden voor EII-tools zijn ‘content management’ en ‘document-warehousing’ met tekstanalyse. Beide kennen de behoefte om heterogene gegevensbronnen op gestructureerde wijze te bevragen. Kortom, er is een toekomst voor EII-tools.