Ereignisgetriebene CORBA-Dienste für heterogene, verteilte Informationssysteme Zur Erlangung des akademischen Grades eines Doktors der Fakultät für Informatik der Universität Karlsruhe (Technische Hochschule) genehmigte D i s s e r t a t i o n von Dipl.-Informatiker Arne Koschel aus Gehrden Tag der mündlichen Prüfung: 1. Juli 1999 Erster Gutachter: Prof. Dr. Peter C. Lockemann Zweiter Gutachter: Prof. Dr. Sebastian Abeck Kurzfassung Die Kontrolle, Koordination oder Kooperation der Bestandteile heterogener, verteilter Informationssysteme benötigt aktive (asynchron wirkende) Dienste. Die These dieser Arbeit ist, daß sich diese Dienste aus den Mechanismen aktiver Datenbanksysteme (ADBMS) in Verbindung mit die Heterogenität von Systemplattformen überwindenden Vermittlungsschichten (“Middleware”) wie CORBA fortentwickeln lassen. Diese Mechanismen bieten reaktives, also ereignisgetriebenes, Verhalten auf der Basis klar definierter ECA-(Event Condition Action)Regel- und Ausführungsmodelle. Eine unmittelbare Übernahme der Mechanismen scheitert aber an den Charakteristika von ADBMS: ADBMS sind typischerweise proprietär und monolithisch implementiert, d.h. ihre aktive Funktionalität ist nicht in Form von eigenständigen Diensten nutzbar. Diese Funktionalität wäre - selbst wenn sie herausgelöst werden könnte - nicht oder nur sehr eingeschränkt in der Lage, mit der Heterogenität von Informations- bzw. Ereignisquellen umzugehen oder die Verteilbarkeit von Systemkomponenten zu bewältigen. Eine Fortentwicklung muß also diese Schwächen überwinden. Das übergeordnete Ziel der Arbeit ist es, die Rahmenkonzeption sowie Kernelemente eines konfigurierbaren Baukastens für ereignisgetriebene Dienste in heterogenen, verteilten Informationssystemen bereitzustellen und prototypisch zu erproben. Die Arbeit geht dabei von zwei Voraussetzungen aus: Zur Verteilung von Systemkomponenten wird der Industriestandard CORBA, eine objekt-orientierte Vermittlungsschicht, eingesetzt und besonderer Wert auf gute Integration der eigenen Ergebnisse in den Standard gelegt. Bei den Mechanismen für aktives Verhalten wird auf ADBMS-Funktionalität und -Technologie zurückgegriffen. Die Arbeit konzentriert sich innerhalb des übergeordneten Gesamtziels auf zwei Zielbereiche. Architekturen CORBA-basierter, ereignisgetriebener Dienste für aktive Kernfunktionalität aus aktiven DBMS. Durch die Entflechtung aktiver DBMS in eine modulare, dienstebasierte Rahmenarchitektur mit verteilten Komponenten, kann man deren klar definierte, konsolidierte aktive Funktionalität auch in Teilen nutzbar machen und den Entwickler von dem Zwang befreien, ein vollständiges aktives DBMS einsetzen zu müssen. Zudem werden, durch den Transfer dieser aktiven Funktionalität in heterogene, verteilte Systemumgebungen, neue interessante, bisher für diese Funktionalität kaum zugängliche Bereiche adressiert. Die Arbeit leistet hierzu als Beitrag ein Entflechungsverfahrens für aktive DBMS und seine Anwendung, so daß als Ergebnisse erstens eine umfassende Analyse von ECA-Regelmodell und ECA-Ausführungsmodell aktiver DBMS geliefert wird. Zugleich entstehen eine Reihe für spezielle Anwendungsziele gut nutzbarer Entflechtungsarchitekturen. Letztere reichen von einem „Aktivitätsdienst“ als Aufsatz für passive DBMS bis hin zur ADBMS-artigen ECA-Regelverarbeitung für heterogene, verteilte Informationssysteme. ADBMS-artige Ereigniserkennung und -verarbeitung für heterogene, verteilte Informationsquellen. Essentielle Grundlage ereignisverarbeitender Mechanismen ist die Erkennung von Ereignissen. Daher ist die Erkennung primitiver Ereignisse innerhalb eines breiten Spektrums heterogener Informations- bzw. Ereignisquellen eine weitere wesentliche Herausforderung, dies nicht zuletzt weil CORBA es zwar erlaubt die Heterogenität von Systemplattformen zu verdecken und eine transparente Verteilung im Netz zu ermöglichen, den Bereich der Ereignisverarbeitung bisher jedoch nur unzureichend behandelt. Wesentliche Beiträge der Arbeit sind hier die folgenden: Ein modularer Monitor-Dienst für heterogene Ereignisquellen wurde konzipiert, mit Konzeption und CORBA-IDL-basierter Schnittstellenspezifikation des Monitor-Dienstes unter Einsatz von Monitor-Kapseln (“Wrapper”). Hinzu kommt ein IDL-basiertes Ereignismodell hierfür. Ein detailliertes Schema zur Kategorisierung der Monitor-Unterstützung von heterogenen Ereignisquellen sorgt dafür, daß bei Kenntnis der Ereignisquellenkategorie, die Kapseln schematisch entwickelbar sind und partiell sogar Schablonen für sie rechnergestützt generiert werden können. Hier wurden erste Ansätze von Verfahren zur dynamischen Ereignistypdefinition und zur Schablonengenerierung von Monitor-Kapseln als Entwicklerunterstützung entwickelt. Die Monitor-Verfahren für die einzelnen Ereignisquellenkategorien wurden umfassend analysiert und bewertet. Es wurde insbesondere untersucht, inwieweit die jeweiligen Verfahren die ADBMS-artige Ereignisverarbeitung realisieren können, d.h. in welchem Umfang die ADBMS-artige Semantik der ECA-Regelausführung durch sie unterstützbar ist. Prototypisch wurden weite Teile der erarbeiteten Konzepte im Rahmen des sogenannten C2offein-Prototyps realisiert, mit dem Schwerpunkt der Ereigniserkennung für primitive Ereignisse. Ferner wird in der Arbeit, an Beispielen aus Umweltinformationssystemen, die Einsetzbarkeit der Ergebnisse gezeigt.