Forschung > Projekte > Monitoring von CORBA-Anwendungen

Monitoring von CORBA-Anwendungen

Beteiligte an der Hochschule

  • Prof. Dr. Reinhold Kröger
  • Dipl.-Inform. (FH) Stefan Auch
  • Dipl.-Inform. (FH) Holger Machens

Kooperationspartner

  • Siemens AG CT, München

Laufzeit

Beginn: Oktober 1999
Ende: Dezember 2001

Finanzierung

  • 100% Siemens AG CT

Veröffentlichungen

  • Kröger, Reinhold; Machens, Holger: "Tracing von CORBA-Anwendungen mittels Portable Interceptors - Spezifikation und Architekturbeschreibung", Technischer Bericht, Fachhochschule Wiesbaden, Fachbereich Informatik, Dezember 2001 (BibTeX)
  • Reinhold Kröger, Stefan Auch: IIOP-Tracer mit TMT-Anbindung - Spezifikation und Architekturbeschreibung, Technischer Bericht, Fachhochschule Wiesbaden, Fachbereich Informatik, 25.9.2000.
  • Reinhold Kröger, Holger Machens: Tracing von CORBA-Anwendungen mittels Portable Interceptors - Spezifikation und Architekturbeschreibung, Technischer Bericht, Fachhochschule Wiesbaden, Fachbereich Informatik, 7.12.2001.

Kurzbeschreibung

Für die objektorientierte Verarbeitung in verteilten, heterogenen, offenen Umgebungen hat die Object Management Group (OMG) mit einer Vielzahl von Festlegungen um die Common Object Request Broker Architecture (CORBA) herum einen Industriestandard erreicht. Eine verteilte, objekt­orientierte Anwendung besteht zur Lauf­zeit aus einem Geflecht von interagieren­den, i.d.R. auf verschiedenen Rechensystemen angesiedelten Objekten. Mit Version 2.0 des CORBA-Standards wurde das General Inter-ORB Protocol (GIOP) zur Kommunikation zwischen Object Request Brokern (ORBs) verschiedener Hersteller bei der Abwicklung von Requests vorgesehen. Das Internet Inter-ORB Protocol (IIOP) beschreibt die Abbildung von GIOP auf eine unterlagerte TCP/IP-Schicht.
Während Entwicklung und Inbetriebnahme von An­wendungen stellt sich häufig die Forderung nach Beobachtbarkeit und Einsicht in das dynamische Verhalten mit dem Ziel der Nachvollziehbarkeit des Geschehens, der Gewinnung eines stärkeren Vertrauens in die Korrektheit der Anwendung, der Identifizierung von Leistungsengpässen, usw. Hieraus resultiert ein Bedarf nach entsprechenden Werkzeugen.
Ziel des Projekts war die Weiterentwicklung von im Labor für Verteilte Systeme entwickelten Methoden und Werkzeugen zum Monitoring von CORBA-Anwendungen und ihr Transfer zum Kooperationspartner durch Adaption an dessen Werkzeugumgebung TMT.
In einer ersten Projektphase wurde ein sogenannter IIOP-Tracer entwickelt (Abb. 1). Er ermöglicht die Erfassung der Aufrufinformationen zwischen den CORBA-Objekten der zu beobachtenden Anwendung ohne spezielle Instrumentierung, d.h. ohne zusätzlichen Code in die Applikation integrieren zu müssen. Das Monitoring geschieht transparent für die Anwendung durch das Mithören und Decodieren der durch die Anwendungsobjekte induzierten IIOP-Nachrichten der beteiligten ORBs. Auf der Basis der ermittelten Informationen findet eine Visualisierung des Ablaufverhaltens durch die vorhandenen TMT-Werkzeuge statt. Der IIOP-Tracer ist hochgradig parametrisierbar und läßt sich durch seinen modularen Aufbau leicht erweitern und anpassen. Er gliedert sich in die zwei Prozesse Packet Sniffer und Trace Server. Aufgabe des Sniffers ist es, alle über das Netzwerk übertragenen Datenpakete abzugreifen, während der TraceServer die Dekodierung und Verarbeitung der relevanten IIOP-Nachrichten übernimmt. Durch diese Trennung ist das Verpassen von Nachrichten unwahrscheinlich.
In einer zweiten Projektphase wurde eine Monitoring-Architektur für CORBA-Anwendungen auf der Basis einer expliziten Instrumentierung durch sogenannten CORBA 3.0 Portable Interceptors entwickelt (Abb. 2). Diese bilden standardisierte Eingriffspunkte während der Request-Verarbeitung auf Client- und Server-Seite. Es wurden generische, universell einsetzbare Interceptoren entwickelt, die Meßpunkte innerhalb der CORBA-Anwendung realisieren, zu denen Ereignisbeschreibungen abgesetzt werden. Diese dienen hier, analog zum IIOP-Tracer, der Erfassung der Request-Informationen, um TMT zu treiben. Die Realisierung des Instrumentierungscodes als Interceptors erreicht, daß der Instrumentierungsaufwand für den Entwickler minimal ist und aus dem Etablieren der Interceptors durch Einfügen weniger Zeilen Code besteht. Das entstandene Werkzeug wird als PI-Tracer bezeichnet und ist unter Linux und Windows NT lauffähig.