Über die Dynamik von Daten
Eine generische Datenschnittstelle muss in der Lage sein, Datenanforderungen und Datenstrukturen zur Laufzeit zu verarbeiten, die zum Zeitpunkt der Entwicklung nicht bekannt sind. Damit verbietet es sich prinzipiell, solche Anforderungen und/oder Strukturen im Programmcode in irgendeiner Form festzulegen.
Daten sind dynamisch — und das bezieht sich nicht nur auf Inhalte, sondern auch auf die zugrundeliegenden Strukturen sowie auf die Logik, wie Inhalte und Strukturen zu verarbeiten sind.
Unsere Funktionsbibliothek tmGDI Generic Data Interface zeichnet sich durch eine strikte Trennung von Daten, Geschäfts- bzw. Anwendungslogik (Anwendungsverhalten) sowie der Ausgabeformatierung (Präsentation) aus. Sämtliche anwendungsspezifischen Daten und Abläufe zu ihrer Verarbeitung, die diese Funktionsbibliothek verwenden, werden in Konfigurationen, Skripten und Statements außerhalb der Anwendungsmodule definiert. Sie können angepasst werden, ohne dass dazu eine Änderung des Programmcodes erforderlich ist.
In vielen Unternehmen werden unterschiedliche Applikationen mit eigenen Datenspeichern zur Pflege und Verarbeitung von Objekt- und Vorgangsdaten eingesetzt. Dies hat den Nachteil, dass relevante Informationen zu einem Element/Objekt häufig verstreut und schwer zugänglich in verschiedenen Datenbanken und/oder dateibasierten Datenquellen liegen.
Darauf baut das Konzept einer so genannten Configuration Management Database (CMDB) auf. Nach der IT Infrastructure Library (ITIL) handelt es sich bei der CMDB um eine Datenbank, welche dem Zugriff und der Verwaltung von so genannten Configuration Items dient. Als Configuration Item (CI) werden dabei im IT-Management alle Betriebsmittel der IT bezeichnet. Unter dem Begriff „Configuration“ versteht man in diesem Zusammenhang den Bestand und die gegenseitigen Abhängigkeiten der verwalteten Objekte. Fass man den Objektbegriff etwas weiter, dann kann dieses Prinzip grundsätzlich auf jede Art von Objekt (auch außerhalb des IT-Managements) übertragen werden.
Ziel ist es, alle Informationen aus den o.g. Datenquellen an einer Stelle zu konsolidieren und so den Zugriff auf diese Daten einfacher und transparenter zu gestalten. Nicht zwangsläufig müssen dazu die Daten physisch in einem Datenbanksystem vereinigt werden. Meistens ist es sogar sinnvoller, ein verteiltes Datenbankmanagementsystem zu implementieren und die Daten über eine Schnittstelle den (mit)nutzenden Anwendungen zur Verfügung zu stellen. Ob dieses immer über Direktzugriffe oder durch teilweise redundante Datenhaltung erfolgen sollte, entscheidet sich über die jeweiligen Zugriffsmöglichkeiten und die Perfomance der Schnittstellen.
Hier kommt das tmGDI Generic Data Interface zum Einsatz. Dabei handelt es sich um eine Funktionsbibliothek, die dem dynamischen Austausch von Informationen zu Elementen (Objekten) zwischen unterschiedlichen Daten- und Betriebsplattformen dient. Als datenliefernde Systeme werden zurzeit die Formate MS SQL Server, Oracle, MySql, Informix, MS Access, MS Excel und andere Formate sowie auch XML und CSV unterstützt. In den anfordernden Anwendungen können die abgefragten Informationen unter anderem angezeigt, in Berichten verarbeitet oder zur Unterstützung von Aktivitäten verwendet werden.
Grundsätzlich müssen Daten dabei nicht zwingend redundant gespeichert werden. Vielmehr können sie auch zur Laufzeit dynamisch aus den Quellsystemen abgefragt und in den nutzenden Anwendungen bereitgestellt werden. Skriptengine und Task Scheduler dieser Schnittstelle ermöglichen es aber auch, Daten in unterschiedlichen Umgebungen automatisch/zeitgesteuert zu synchronisieren.
Die Bereitstellung der Daten erfolgt neben dem direkten Datenbankzugriff in standardisierten Formaten. Als Basisformat wird eine XML-Struktur verwendet. Weitere Ausgabeformate der Schnittstelle sind .NET DataSet- und DataTable-Objekte, CSV-Listen sowie eine HTML-transformierte Darstellung.
Unsere Lösung
Das tmGDI Generic Data Interface stellt Daten aus unterschiedlichsten Umgebungen und Formaten für beliebige Nutzer zur Verfügung. Dabei können die Daten gemischt und angereichert werden, um den jeweiligen Informationsanforderungen gerecht zu werden.
Diese Funktionsbibliothek bildet die Grundlage für unsere Softwarelösungen, die auf den Zugriff auf und den Austausch von Daten angewiesen sind — und das ist fast immer der Fall.