Abstract
Abstract
Unternehmen befinden sich in Konkurrenz. Um sich auf dem Markt behaupten zu können, müssen die Geschäftsprozesse der Unternehmen immer wieder verändert und optimiert werden. Davon ebenfalls betroffen sind die am jeweiligen Geschäftsprozess beteiligten Anwendungen. Eine fortschreitende, flexible Modellierung von Geschäftsprozessen erfordert eine ebenfalls flexible Anwendungsarchitektur, die sich den veränderbaren Anforderungen anpassen kann.
Auch wenn der Einsatz von Anwendungen gut geplant und durchdacht erfolgt, so ist es dennoch notwendig, zumindest den Betrieb der Kernprozesse abzusichern. Nicht selten werden Geschäftsprozesse durch den Ausfall von beteiligten Anwendungen unterbrochen. Dies hat weitreichende Konsequenzen. Schaden in Form von entgangenem Gewinn oder Imageverlust kann die Folge sein.
Dass eine Anwendung regulär funktioniert, darf nicht nur - wenn überhaupt - vom Anwender abhängen. Deshalb ist es notwendig, Anwendungen ganzheitlich maschinell zu überwachen.
Derzeit existieren Lösungen aus dem Bereich der Netzwerküberwachung. Diese versprechen viel, haben jedoch nur eine externe Sichtweise auf Anwendungen. Ausschlaggebend ist deshalb auch die Anwendungsarchitektur. Diese hat den Spagat zwischen den bestehenden Flexibilitätsansprüchen und einer soliden Überwachungsmöglichkeit zu meistern.
Interessant ist in diesem Zusammenhang die historische Analyse und Bewertung verschiedener Anwendungsarchitekturen. Die fortschreitende Komplexität von innovativen Paradigmen verschleiert die eigentlichen Gründe dieser Entwicklung. Es ist nicht offensichtlich, welche Möglichkeiten verschiedene Anwendungsarchitekturen zur Überwachung anbieten.
Diese Studienarbeit betrachtet zunächst die Möglichkeiten und Grenzen der Netzwerküberwachung anhand definierter Kriterien. Ergebnisse werden in einer Übersicht zusammengefasst. Aus den Grenzen der Netzwerküberwachung resultiert die Notwendigkeit einer weiterführenden, historisch aufsteigenden Betrachtung verschiedener Anwendungsarchitekturen. Die Architekturen werden Anhand von Kriterien bezüglich ihrer Überwachungsmöglichkeiten evaluiert. Die Bewertung erfolgt anhand eines kohärenten, tabellarischen Vergleichs. Die Lösung der Java Management Extensions wird aufgezeigt.
Daniel Krüger Seite I
Inhaltsverzeichnis
Inhaltsverzeichnis
Abstract I
Inhaltsverzeichnis II
1 Einführung 1
1.1 Motivation 2
1.2 Aufbau der Studienarbeit 3
2 Anforderungen an die Anwendungsüberwachung 4
2.1 Überwachungsmethodik 4
2.2 Überwachungskriterien 5
3 Netzwerküberwachung 7
3.1 Management Information Base 8
3.2 Simple Network Management Protocol 9
3.3 Remote Network Monitoring 10
3.4 Agent 10
3.5 Bewertung 11
4 Überwachungsmöglichkeiten von Anwendungsarchitekturen 13
4.1 Prozedurales und Funktionales Modell 13
4.1.1 Konventionelle Architektur 13
4.1.2 Client-Server Architektur 14
4.1.3 Remote Procedure Call Architektur 15
4.2 Objektorientiertes Modell 16
4.2.1 Common Object Request Broker Architecture 17
4.2.2 Remote Method Invocation Architektur 18
4.3 Komponenten-Modell 19
4.3.1 Enterprise Java Beans 19
4.3.2 Java Management Extensions 21
4.4 Bewertung 22
5 Zusammenfassung und Ausblick 25
Literaturverzeichnis IV
Abkürzungsverzeichnis VII
Abbildungsverzeichnis VIII
Daniel Krüger Seite II
Einführung
1 Einführung
Informations- und Kommunikationstechnologien sind inzwischen im unternehmerischen Alltag fest verwurzelt. Viele wirtschaftliche Funktionsbereiche wie Finanzbuchhaltung, Beschaffung, Fertigung, Vertrieb, Logistik und Personalwesen werden durch Anwendungen unterstützt 1 . Die dabei anfallende Informationsverarbeitung beinhaltet Standardoperationen wie drucken, ordnen, sortieren, vergleichen, rechnen, speichern und darstellen 2 .
Die Operationen von Anwendungen sind fest in Geschäftsprozesse integriert. Dabei bestehen zwischen Geschäftsprozessen und dem Zustand der Anwendungen Abhängigkeiten. Ausfälle oder unberechenbares Anwendungsverhalten können negative Auswirkungen auf den Ablauf von Prozessen haben. Indirekt besteht somit auch eine Abhängigkeit zwischen dem Anwendungszustand und den Kosten.
Gerade in größeren Unternehmen existieren häufig verschiedene Anwendungen nebeneinander. Solche komplexen Anwendungssysteme teilen sich meistens aus finanziellen Gründen Ressourcen, Subsysteme und Daten. Aufgrund der Komplexität solcher Systeme werden Störungen eventuell erst nach einer gewissen Verzögerung festgestellt. Oftmals entdeckt der Anwender selbst eine Störungnicht der technische Verantwortliche. Bleiben Störungen im Anwendungssystem längere Zeit unentdeckt, so können sie weitere Kosten verursachen. Für das Unternehmen kann ein unvorhergesehener Schaden entstehen. Stellt ein Anwender immer wieder aufs Neue fest, dass eine Anwendung fehlerhaft ist, nimmt seine Akzeptanz ab und er reagiert frustriert.
Aus diesen Gründen wird von vielen Unternehmen eine hohe Anwendungsverfügbarkeit angestrebt. Kernprozesse des Unternehmens sollen möglichst nicht unterbrochen oder eingeschränkt werden. Um die fortwährende Funktion von Geschäftsprozessen zu gewährleisten ist es erforderlich, die daran beteiligten Anwendungen zu überwachen. Eine professionelle „Anwendungsüberwachung“ (engl. application monitoring) ist notwendig.
Interessant in diesem Zusammenhang ist die Frage, wie eine optimale Anwendungsüberwachung aussehen sollte und welche Realisierungsmöglichkeiten die aktuellen Informations- und Kommunikationstechnologien anbieten.
1 Vgl. [OHW04] S.53
2 Vgl. [OHW04] S.23
Daniel Krüger Seite 1
Einführung
1.1 Motivation
Moderne kaufmännische Anwendungen lassen sich nicht mehr auf Standardoperationen beschränken. Damit ein Unternehmen neben der Konkurrenz bestehen kann, müssen Geschäftsprozesse und die jeweils daran beteiligten Anwendungen möglichst schnell und flexibel modelliert werden. Der Weg vom Modell zur fertigen Anwendung wird dabei zunehmend automatisiert. 3
Serviceorientierte Architekturen (SOA) zielen deshalb darauf ab, Anwendungen flexibel zu halten. Mittels SOA lassen sich Anwendungen aus verschiedenen Komponenten oder Funktionsbausteinen zusammensetzen. Bei Bedarf können Komponenten einfach neu hinzugefügt oder substituiert werden. 4
Solch ein Komponenten-Modell verspricht ein hohes Maß an Flexibilität. Allerdings wirft das Modell unter dem Aspekt der Anwendungsüberwachung auch weitere Fragen auf. Interessant ist deshalb die Frage, inwiefern aktuelle Überwachungsmethoden den Anforderungen einer flexiblen SOA gerecht werden können. Eine genauere Untersuchung verschiedener Überwachungsmethoden ist notwendig.
Motivierend wirkt zudem eine Studie des Marktforschungsunternehmens Gartner. Gemäß der Studie sind 40% der Ausfallzeiten auf Fehler in Anwendungen zurückzuführen. 5
Nur wenn ein Fehler in einem frühen Stadium erkannt wird, kann schnell reagiert werden. Diese Studie hat deshalb zum Ziel, einen theoretischen Einstieg in die Anwendungsüberwachung zu finden. Aktuelle Lösungen aus dem Bereich der Netzwerküberwachung sind bezüglich ihrer Möglichkeiten und Grenzen zu bewerten. Die Schwachstellen bei der Überwachung verschiedener Anwendungsarchitekturen sind aufzuzeigen. Es erfolgt die historisch aufsteigende Bewertung der Architekturen unter dem Aspekt der Überwachungsmöglichkeit. Die Überwachungsmethoden sollen den Anforderungen einer SOA gerecht werden.
3 Vgl. [MI02] S. V
4 Vgl. [FR07] S.7
5 Vgl. [GAR08] S.1
Daniel Krüger Seite 2
Einführung
1.2 Aufbau der Studienarbeit
Der Begriff „Anwendungsüberwachung“ setzt sich aus „Anwendung“ (Objekt) und „Überwachung“ (Vorgang, Methode) zusammen. Zunächst werden grundlegende Anforderungen an die Anwendungsüberwachung bestimmt. Die geforderte Überwachungsmethodik wird definiert und relevante Überwachungskriterien werden ausgewählt.
Im Anschluss werden die aktuellen Methoden der Netzwerküberwachung aufgezeigt. Die Möglichkeiten und Grenzen der Netzwerküberwachung werden evaluiert. Aus den Grenzen resultiert die Relevanz einer näheren Betrachtung unterschiedlicher Anwendungsarchitekturen.
Der Aufbau von Architekturen wird historisch aufsteigend, anhand der anfänglich definierten Überwachungskriterien, bewertet. Es erfolgt eine kohärente Bewertung der Architekturen. Die Lösung der Java Management Extensions wird dabei aufgezeigt.
Ergebnisse werden zusammengefasst und ein Ausblick wird gegeben.
Daniel Krüger Seite 3
Anforderungen an die Anwendungsüberwachung
2 Anforderungen an die Anwendungsüberwachung
Zunächst werden die grundlegenden Anforderungen bestimmt. Sowohl die relevante Überwachungsmethodik, als auch die notwendigen Überwachungskriterien werden definiert.
2.1 Überwachungsmethodik
Eine Überwachung (engl. monitoring) hat zum Ziel, frühzeitig und zuverlässig Fehler zu erkennen und zu melden. Bei komplexen Systemen ist es notwendig, dass in definierten Zeitintervallen, in einer zentralen Station, eine Diagnose durchgeführt wird.
Die „Diagnose ist der Prozess der Festlegung des inneren Zustands eines Systems aufgrund einer vorliegenden Symptomatik und physikalischer Gesetzmäßigkeiten.“ 6 Dabei muss von einem oder mehreren Symptomen auf den Systemzustand geschlossen werden. Dieser Rückschluss von einer Wirkung auf eine oder mehrere mögliche Ursachen wird „Abduktion“ genannt. 7
Systeme, die eine Abduktion leisten, werden als „Diagnosesysteme“ bezeichnet und der Gruppe der Expertensysteme zugerechnet. Diagnosesysteme klassifizieren verschiedene Symptomfälle, oft auf Grundlage einer Reduktion umfangreichen Datenmaterials und ggf. sogar unter Berücksichtigung unsicheren Wissens. 8
Ein Diagnosesystem arbeitet wie folgt: Ein Soll-Verhalten wird definiert. Das Ist-Verhalten wird zyklisch erfasst und anhand der gemessenen Größen mit dem Soll-Verhalten verglichen. Die Abweichung von Soll- und Ist-Verhalten bildet ein Symptom. Anhand von Symptomen kann über eine Abduktion die Diagnose durchgeführt werden. Der bestimmte Systemzustand kann dann weiter verarbeitet werden. Grundsätzlich können wissensbasierte und konventionelle Diagnosestrategien zur
Anwendungsüberwachung eingesetzt werden. Es erfolgt zwangsläufig eine Reduktion der Systemkomplexität auf relevante Kriterien. 10
6 Vgl. [ME90] S.37
7 Vgl. [ME90] S.37
8 Vgl. [ME90] S.17
9 Vgl. [ME90] S.38
Daniel Krüger Seite 4
Anforderungen an die Anwendungsüberwachung
2.2 Überwachungskriterien
Zur Spezifizierung des Überwachungsobjektes ist es notwendig, den Begriff „Anwendung“ (engl. application) genau zu definieren. Grundlegende Dependenzen werden aufgezeigt.
Einer Anwendung ist ein bestimmter Nutzen zugeordnet, der den Mitarbeitern eines Unternehmens bei der Erfüllung von Aufgaben hilft. Eine Anwendung bietet dem Benutzer Operationen, die funktional einen Nutzen in dem betreffenden Prozess darstellen. Insofern lässt sich der Begriff „Anwendung“ von dem gemeinen Begriff „Programm“ abgrenzen. 11
Für die Erzeugung des Nutzens ist es notwendig, dass auf bestehende maschinelle „Ressourcen“ zurückgegriffen wird. Hauptspeicher, Prozessor-Rechenzeit, Geräte usw. werden als Ressourcen bezeichnet. Von der Anwendung ausgehend erfolgt der Zugriff auf die Ressourcen. Dies geschieht meistens über Systemaufrufe (engl. system calls) - im Betriebssystem vordefinierte Funktionen. Für die korrekte Ausführung einer Anwendung müssen die von der Anwendung geforderten Ressourcen zum richtigen Zeitpunkt in genügendem Umfang zur Verfügung stehen. 12
Die Interaktion zwischen Benutzer und Anwendung erfolgt über Eingabe- und Ausgabegeräte. Das Betriebssystem tritt dabei als Schnittstelle auf. Die Aktion eines Benutzers wird „Ereignis“ (engl. event) genannt. Ereignisse werden in speziellen Ereignisbehandlungsroutinen (engl. event handler, listener) behandelt. 13
Benutzer
Abbildung 2: Benutzerinteraktion
Der Vorteil von Ereignissen besteht darin, dass ein (Unter-)Programm sich nicht darum kümmern muss, einen bestimmten Anwendungszustand zu ermitteln - z.B. ob eine Anwendung bereits geschlossen ist. Über die Ereignisse der Benutzerinteraktion sind Rückschlüsse auf den internen Anwendungszustand möglich. Ein Ereignis wird nur dann ausgeführt, wenn sich die Anwendung im entsprechenden Zustand befindet. Dazu ist ein Regelwerk von Nachrichten notwendig. 14
10 Vgl. [ME90] S.37 - 60
11 Vgl. [OHW04] S.269
12 Vgl. [AC06] S.13
13 Vgl. [LM05] S.199
14 Vgl. [MP08]
Daniel Krüger Seite 5
Anforderungen an die Anwendungsüberwachung
Viele neuere Anwendungen werden als verteilte Systeme realisiert. „Ein verteiltes System ist eine Menge voneinander unabhängiger Computer, die dem Benutzer wie ein einzelnes, kohärentes System erscheinen.“ 15
Kennzeichnend für ein verteiltes System ist die vorhandene „Middleware“. „Der Begriff Middleware bezieht sich auf Software, die der Kommunikation von Software-Systemen dient.“ 16 Die Aufgabe der Middleware ist die Abstraktion ggf. inhomogener Betriebssysteme. Es wird eine Basis geschaffen, auf der die einzelnen Anwendungsteile miteinander kommunizieren können.
Bei einer Anwendungsüberwachung ist immer der gesamte Software-Stack zu betrachten. Somit auch Middleware und Betriebssystem.
Insgesamt lässt sich feststellen, dass Dependenzen zur Anwendungsumgebung bei einer Überwachung berücksichtigt werden müssen. Grundlegend sind Ressourcen-Zustand, Benutzerinteraktion mit der Anwendung (Ereignisdienst) und Middleware-Zustand zu überwachensofern den unter 2.1 aufgeführten methodischen Ansprüchen eines Diagnosesystems Beachtung geschenkt werden soll. Ziel ist eine ganzheitliche Symptomerfassung.
Die Überwachungsanforderungen an eine SOA sind zu beachten. Eine umfassende Überwachung für Komponenten muss möglich sein.
15 Siehe [ST03] S.18
16 Siehe [HJS01] .S.1
17 Siehe [ST03] S. 19
Daniel Krüger Seite 6
Quote paper:
Daniel Krüger, 2008, Methoden des Application Monitoring, Munich, GRIN Publishing GmbH
This text can be quoted and accessed from this url:
Embed
DOI
Systemanalytische Methoden zur Auswahl von Standardsoftware
Communications - Media Economics, Media Management
Scholary Paper (Seminar), 26 Pages
Stand der Technik und Zukunfts...
Scholary Paper (Seminar), 25 Pages
Daniel Krüger's text Methoden des Application Monitoring is now available as a printed book
Daniel Krüger has published the text Methoden des Application Monitoring
Daniel Krüger has uploaded a new text
Monitoring thérapeutique des anti-infectieux
des exigences réglementaires a...
S. Mouly, P. Sellier
Health Monitoring of Structural Materials and Components: Methods with...
Methods with Applications
Douglas E. Adams
Vibration-Based Condition Monitoring: Industrial, Aerospace and Automo...
Robert Bond Randall
Biological Monitoring of Rivers: Applications and Perspectives
Giuliano Ziglio, Maurizio Siligardi, Giovanna Flaim
CRC Handbook of Lubrication and Tribology, Volume III: Monitoring, Mat...
E. Richard Booser, Booser Richard Booser
Applications of Atomic Spectrometry to Regulatory Compliance Monitorin...
Sidney A. Katz, Stephen W. Jenniss, Richard W. Lynch
0 comments