Einleitung

      Einleitung

          Einleitung

              Einleitung

                  Einleitung

                      Einleitung

                          Einleitung

                              Nach [Dum03] kann die bisherige Entwicklung des WorldWideWebs in 5 Generationen eingeordnet werden. Eingeleitet durch den legendären Mosaik-Browser im Jahr 1993, stellte die erste Generation eine wesentliche Verbesserung der Dokumentenanzeige und -nutzung im Internet dar. Die verwendeten Dokumente bestanden aus Text, wenigen Bildern bzw. Abbildungen und wurden nur durch elementare Möglichkeiten zur Interaktion mit Hilfe der CGI - Skriptsprache unterstützt.

                              Die zweite Generation, unter [Pow98] auch als "frühes Netscape" bezeichnet, begann etwa 1995. Sie ermöglichte weitere multimediale Implementationsformen sowie integrale Serverkomponenten für die Bereitstellung komplexer Informationsdienste und deren Analysierbarkeit durch Cookies.

                              Websysteme der dritten Generation gestatteten ab 1997 schließlich die Anwendung von Skripten, Java-Applets und nachladbaren Komponenten für spezielle Mediendarstellungen, auch als Plug-ins bekannt (z.B. für Macromedia Flash-Präsentationen).

                              In der vierten Generation der Webtechnologie wurde nun insbesondere die konsistente Entwicklung von Informationssystemen durch eine inhaltsgetragene, toolgestützte Implementations- und Wartungsform, das Content Management, eingeführt. Skriptsprachen, Datenbasis-Anbindungen und serverseitige Skripte wie JSP und ASP werden hier für die Interaktion mit dem Klienten eingesetzt.
                              Die fünfte Generation definiert und impliziert die Anwendung von Webtechnologien für das Semantische Web durch so genannte Resource Description Frameworks (RDF). Dies erlaubt die beliebige Verknüpfung von Webinhalten bzw. Interaktionsmöglichkeiten auf der Grundlage einer DARPA Agent Markup Language (DAML).

                              Als adaptives Websystem wird Amacont in der vierten Generation als webbasiertes Softwaresystem eingeführt, das auf Grundlage von passiven oder aktiven Anpassungsvermögen sein Web Content sowie die darauf basierenden WebServices gemäß sich ergebender neuer Situationen und Zustände im Web anpassen kann. Passives Anpassungsvermögen basiert dabei auf speziellen Lern- bzw. Inferenzalgorithmen. Im aktiven Fall besitzt das System sogar eine gewisse Autonomie auf der Grundlage von Intentionen und komplexen Zielen. Es nutzt dabei für Adaptionszwecke im internen Ablauf RDF-Semantiken und kann somit als Verbindung der nach [Dum03] genannten 4. und 5. Generation angesehen werden.

                              Das Amacont -Projekt, als Beispiel für ein intelligentes und lernendes System, stellt eine Client/Server- Systemarchitektur dar, welche auf dem XML-basierenden serverseitigen Webapplikations-Framework ”Apache Cocoon“ basiert.

                              Welche Aspekte muss ein aktiv-adaptives Webangebot erfüllen, um sich neben den technischen Raffinessen auch beim Nutzer im alltäglichen Gebrauch durchsetzen zu können? [Dum03] definiert dazu die Aspekte der Web-Security, der Web Usability und der Web Performance.

                              Die Web-Security umfasst die Gesamtheit der Methoden, Verfahren, Technologien und gesetzlichen Regelungen zur Gewährleistung einer sicheren, vertraulichen und autorisierten Websystem-Anwendung für verschiedenste Nutzergruppen. Die Web Usability stellt die Benutzbarkeit eines Websystems dar. Sie umfasst den Aufwand, welcher zum Erlernen der Nutzung benötigt wird, die Qualität der Anwendungsunterstützung und schließlich die Motivation für die Anwendung. Dies ist auf die Nutzeroberfläche und die zugrunde liegenden daten- und funktionsbezogenen Systemkomponenten bzw. -ressourcen zurückzuführen.

                              In diesem Beleg soll auf den dritten Qualitätsaspekt, die Effizienz des Websystems, näher eingegangen werden. Allgemein auch als Web Performance bezeichnet, umfasst diese ...die Mittel und Methoden der Leistungsanalyse, −bewertung und −verbesserung von Websystemen.... Sie bezieht sich ...auf alle Systemebenen bzw. Systemkomponenten, die im Leistungsprozess der Websystem-Anwendung involviert sind.

                              Einer zu bewältigenden Auftragslast sind dementsprechend ausreichend Ressourcen gegenüberzustellen, um eine zufriedenstellende Güte zu garantieren. Diese sollen effektiv und effizient eingesetzt werden. Durch zu hohe Auslastung eines Systems entstehen für dessen Benutzer jedoch zu große Antwort- und Wartezeiten. Die Performanz und damit die Antwortzeit solcher Systeme stellt somit nach [Mue03] eine der wesentlichen Kriterien dar, die über den Erfolg einer Web-Anwendung entscheiden.
                              Es ist wichtig, durch geeignete Spezialisierungen traditioneller Softwaretests die Engpässe im System aufzudecken und das Leistungsverhalten einzelner Komponenten bzw. Subsysteme im Betrieb kennen zu lernen, um die Schwachstellen der Konfiguration zu umgehen oder durch Optimierungen der Komponenten zu reduzieren.

                              Methoden zur Leistungsbewertung (engl. "performance evaluation") erbringen diese Leistungsanalyse und somit eine Abwägung zwischen Ressourcenaufwand und Qualität des geleisteten Dienstes. Lasttests stellen dabei die Stresstests dar, die das Systemverhalten unter besonders hohen Speicher- oder CPU-Anforderungen analysieren. Performance-Tests, welche auf Nutzeremulation basieren, prüfen ein korrektes Systemverhalten bei bestimmten Speicher- und CPU-Anforderungen. Während des Software-Tests nutzt der Tester Funktionen, welche auch ein realer Kunde gebrauchen würde. Die dabei aufgezeichneten Daten können dazu in Datapools gespeichert werden, auf welche dann bei automatisch generierten Test-Sessions mit mehreren parallelen Nutzern zurückgegriffen wird.

                              Adaptive Websysteme bedingen aufgrund des Anpassungsprozesses substantiell komplexere Tests als statische Systeme. Geeignete Methoden sollten daher eine Vergleichbarkeit der Leistung gegenüber traditionellen Websystemen herstellen.

                              In dieser Arbeit wird die Performanz der bestehenden Amacont -Architektur untersucht und das Lastverhalten des Systems bestimmt. Daraus abgeleitet werden Vorschläge zur Optimierung der Architektur unterbreitet und teilweise implementiert. Um darauf später näher eingehen zu können, soll hier das allgemeine Leistungsverhalten eines Websystems gezeigt und darauf folgend aus Sicht der Webdienstanforderung dargestellt werden.

                              Das Leistungsverhalten eines Websystems lässt sich am anschaulichsten anhand des Verlaufs eines Client-Requests erläutern. [Dum03] teilt diesen unter Beachtung der unterschiedlichen Architekturformen in sieben Aspekte ein:

                              1. Zu Beginn ist die Leistungsfähigkeit der Webanbindung von Bedeutung, um den gewünschten Rechner zu erreichen. Spezifiziert umfasst es also die konkrete Netztechnologie, die gewählten Verbindungsprotokolle und die vorgesehene Sicherheitstechnologie.
                              2. Darauf aufbauend stellt das Leistungsverhalten dieser Webverbindung den zweiten Aspekt dar. Es berücksichtigt insbesondere das Nutzer- und Nutzungsverhalten der Transportverbindung und bestimmt kritische Momente, wie zum Beispiel die höchste Zugriffsanforderung auf das Websystem (PeakPageRequest).
                              3. Innerhalb des Webdienst-Servers ist die Leistungsfähigkeit der Dienstbereitstellung entscheidend. Dies umfasst die Effizienz der Serverarchitektur in den verschiedensten Dienstausprägungen. (Weltweite) Verteilungsformen, wie zum Beispiel als Server-Farm, Grid und anderes mehr sind zu beachten.
                              4. Das Potential der Systemkomponenten charakterisiert den vierten Aspekt des Verlaufs. Hierbei bezieht man die jeweilige Implementationsform bzw. Programmiertechnologie für die Komponenten und ihre mehr oder weniger umfangreiche Einordnung in eine Websystem-Technologie mit ein, wie beispielsweise Apache Cocoon.
                              5. Der Aspekt des Leistungsbedarfs für die Komponentenbildung betrifft die funktionale Einordnung der Komponenten in das Websystem und die sich daraus ergebenden, aufeinander abzustimmenden Leistungsanforderungen an das System insgesamt.
                              6. Die vorgesehene Technologie für die Verbindung der jeweiligen Systemkomponenten wird durch die Leistungsfähigkeit der Komponentenverbindung selbst wiedergegeben.
                              7. Die Leistung der Datenbasis rundet diesen Überblick ab und bezeichnet das Leistungsverhalten der jeweiligen Daten, die auch multimedialen Charakter haben können. Sie steht im Zusammenhang mit der gewählten Speicherungs- und Zugriffsform.

                              Am einzelnen Hypertext- oder Multimedia-Objekt angelangt wird hierauf aufbauend der Blick vom Request des Klienten auf die Performance-Metriken des Webdienstes verschoben.

                              SVG-Übersicht zu Performance-Metriken eines Webdienstes Performance-Metriken eines Webdienstes [Dum03] - Seite 134

                              Wie in Abb. 1 ersichtlich gibt [Dum03] dafür die folgenden Kategorien vor:

                              • die Systemkapazität als Gesamtzahl der im System befindlichen Webdienste (c)
                              • die Gesamtanzahl ankommender Webdienst-Anforderungen in einer Zeit T (a)
                              • die durchschnittliche Wartezeit eines Webdienstes (w)
                              • die durchschnittliche Webdienst-Bearbeitungszeit (s)
                              • die durchschnittliche Webdienst-Bearbeitungszeit einschließlich Wartezeit (r) sowie
                              • den Systemdurchsatz an Webdiensten in einer Zeit T (g)

                              Auf der Grundlage dieser Webdienst-Kennzahlen können weitere Performance-Merkmale beispielsweise durch die Verwendung der operationalen Analyse bestimmt werden. Möglichkeiten dafür sind

                              • die durchschnittliche Webservice-Rate µ,
                              • die durchschnittliche Ankunftsrate der Web-Dienstanforderungen λ oder
                              • die Webdienst-Durchsatzintensität ρ.

                              Die Kennzahl a, die auch ein Merkmal für die Arbeitslast (Workload) des Websystems darstellt, und die Kennzahl c als eine Berechnungsform für die Systemkapazität bilden schließlich die Grundlage für Kapazitätsplanungen.

                              In den folgenden Kapiteln werden, auf den soeben beschriebenen Grundlagen basierend, aktuelle Methoden und Techniken zur Performanz- und Lasttestung von Systemarchitekturen zur dynamischen Generierung von Webseiten vorgestellt.
                              Mit diesem Wissen werden die Komponenten der Amacont -Systemarchitektur näher identifiziert und verschiedene Parameter, die deren Performanz beeinflussen (z.B. Anzahl der Nutzer, Serverleistung, Adaptivität der Anwendung), ermittelt.
                              Die Aufstellung und Durchführung spezialisierter Testpläne zur Untersuchung der Amacont -Systemarchitektur in Kapitel 4, sowie die Ableitung von Optimierungsmöglichkeiten aus einer Analyse der durchgeführten Tests werden in Kapitel 5 zur Implementierung eines verbesserten Cocoon Transformators führen.
                              Auf der Basis von Java und unter Berücksichtigung des derzeit bestehenden XSLT-Transformators wird dabei besonders auf Performanz- und Robustheitsaspekte Rücksicht genommen.

                          Einordnung Amacont ins Gesamtinternet

                          Nach [Dum03] kann die bisherige Entwicklung des WorldWideWebs in 5 Generationen eingeordnet werden. Eingeleitet durch den legendären Mosaik-Browser im Jahr 1993, stellte die erste Generation eine wesentliche Verbesserung der Dokumentenanzeige und -nutzung im Internet dar. Die verwendeten Dokumente bestanden aus Text, wenigen Bildern bzw. Abbildungen und wurden nur durch elementare Möglichkeiten zur Interaktion mit Hilfe der CGI - Skriptsprache unterstützt.

                          Die zweite Generation, unter [Pow98] auch als "frühes Netscape" bezeichnet, begann etwa 1995. Sie ermöglichte weitere multimediale Implementationsformen sowie integrale Serverkomponenten für die Bereitstellung komplexer Informationsdienste und deren Analysierbarkeit durch Cookies.

                          Websysteme der dritten Generation gestatteten ab 1997 schließlich die Anwendung von Skripten, Java-Applets und nachladbaren Komponenten für spezielle Mediendarstellungen, auch als Plug-ins bekannt (z.B. für Macromedia Flash-Präsentationen).

                          In der vierten Generation der Webtechnologie wurde nun insbesondere die konsistente Entwicklung von Informationssystemen durch eine inhaltsgetragene, toolgestützte Implementations- und Wartungsform, das Content Management, eingeführt. Skriptsprachen, Datenbasis-Anbindungen und serverseitige Skripte wie JSP und ASP werden hier für die Interaktion mit dem Klienten eingesetzt.
                          Die fünfte Generation definiert und impliziert die Anwendung von Webtechnologien für das Semantische Web durch so genannte Resource Description Frameworks (RDF). Dies erlaubt die beliebige Verknüpfung von Webinhalten bzw. Interaktionsmöglichkeiten auf der Grundlage einer DARPA Agent Markup Language (DAML).

                          Als adaptives Websystem wird Amacont in der vierten Generation als webbasiertes Softwaresystem eingeführt, das auf Grundlage von passiven oder aktiven Anpassungsvermögen sein Web Content sowie die darauf basierenden WebServices gemäß sich ergebender neuer Situationen und Zustände im Web anpassen kann. Passives Anpassungsvermögen basiert dabei auf speziellen Lern- bzw. Inferenzalgorithmen. Im aktiven Fall besitzt das System sogar eine gewisse Autonomie auf der Grundlage von Intentionen und komplexen Zielen. Es nutzt dabei für Adaptionszwecke im internen Ablauf RDF-Semantiken und kann somit als Verbindung der nach [Dum03] genannten 4. und 5. Generation angesehen werden.

                          Das Amacont -Projekt, als Beispiel für ein intelligentes und lernendes System, stellt eine Client/Server- Systemarchitektur dar, welche auf dem XML-basierenden serverseitigen Webapplikations-Framework ”Apache Cocoon“ basiert.

                          Qualitätsaspekte

                          Welche Aspekte muss ein aktiv-adaptives Webangebot erfüllen, um sich neben den technischen Raffinessen auch beim Nutzer im alltäglichen Gebrauch durchsetzen zu können? [Dum03] definiert dazu die Aspekte der Web-Security, der Web Usability und der Web Performance.

                          Die Web-Security umfasst die Gesamtheit der Methoden, Verfahren, Technologien und gesetzlichen Regelungen zur Gewährleistung einer sicheren, vertraulichen und autorisierten Websystem-Anwendung für verschiedenste Nutzergruppen. Die Web Usability stellt die Benutzbarkeit eines Websystems dar. Sie umfasst den Aufwand, welcher zum Erlernen der Nutzung benötigt wird, die Qualität der Anwendungsunterstützung und schließlich die Motivation für die Anwendung. Dies ist auf die Nutzeroberfläche und die zugrunde liegenden daten- und funktionsbezogenen Systemkomponenten bzw. -ressourcen zurückzuführen.

                          In diesem Beleg soll auf den dritten Qualitätsaspekt, die Effizienz des Websystems, näher eingegangen werden. Allgemein auch als Web Performance bezeichnet, umfasst diese ...die Mittel und Methoden der Leistungsanalyse, −bewertung und −verbesserung von Websystemen.... Sie bezieht sich ...auf alle Systemebenen bzw. Systemkomponenten, die im Leistungsprozess der Websystem-Anwendung involviert sind.

                          Einer zu bewältigenden Auftragslast sind dementsprechend ausreichend Ressourcen gegenüberzustellen, um eine zufriedenstellende Güte zu garantieren. Diese sollen effektiv und effizient eingesetzt werden. Durch zu hohe Auslastung eines Systems entstehen für dessen Benutzer jedoch zu große Antwort- und Wartezeiten. Die Performanz und damit die Antwortzeit solcher Systeme stellt somit nach [Mue03] eine der wesentlichen Kriterien dar, die über den Erfolg einer Web-Anwendung entscheiden.
                          Es ist wichtig, durch geeignete Spezialisierungen traditioneller Softwaretests die Engpässe im System aufzudecken und das Leistungsverhalten einzelner Komponenten bzw. Subsysteme im Betrieb kennen zu lernen, um die Schwachstellen der Konfiguration zu umgehen oder durch Optimierungen der Komponenten zu reduzieren.

                          Methoden zur Leistungsbewertung (engl. "performance evaluation") erbringen diese Leistungsanalyse und somit eine Abwägung zwischen Ressourcenaufwand und Qualität des geleisteten Dienstes. Lasttests stellen dabei die Stresstests dar, die das Systemverhalten unter besonders hohen Speicher- oder CPU-Anforderungen analysieren. Performance-Tests, welche auf Nutzeremulation basieren, prüfen ein korrektes Systemverhalten bei bestimmten Speicher- und CPU-Anforderungen. Während des Software-Tests nutzt der Tester Funktionen, welche auch ein realer Kunde gebrauchen würde. Die dabei aufgezeichneten Daten können dazu in Datapools gespeichert werden, auf welche dann bei automatisch generierten Test-Sessions mit mehreren parallelen Nutzern zurückgegriffen wird.

                          Adaptive Websysteme bedingen aufgrund des Anpassungsprozesses substantiell komplexere Tests als statische Systeme. Geeignete Methoden sollten daher eine Vergleichbarkeit der Leistung gegenüber traditionellen Websystemen herstellen.

                          In dieser Arbeit wird die Performanz der bestehenden Amacont -Architektur untersucht und das Lastverhalten des Systems bestimmt. Daraus abgeleitet werden Vorschläge zur Optimierung der Architektur unterbreitet und teilweise implementiert. Um darauf später näher eingehen zu können, soll hier das allgemeine Leistungsverhalten eines Websystems gezeigt und darauf folgend aus Sicht der Webdienstanforderung dargestellt werden.

                          Leistungsverhalten von Websystemen

                          Das Leistungsverhalten eines Websystems lässt sich am anschaulichsten anhand des Verlaufs eines Client-Requests erläutern. [Dum03] teilt diesen unter Beachtung der unterschiedlichen Architekturformen in sieben Aspekte ein:

                          1. Zu Beginn ist die Leistungsfähigkeit der Webanbindung von Bedeutung, um den gewünschten Rechner zu erreichen. Spezifiziert umfasst es also die konkrete Netztechnologie, die gewählten Verbindungsprotokolle und die vorgesehene Sicherheitstechnologie.
                          2. Darauf aufbauend stellt das Leistungsverhalten dieser Webverbindung den zweiten Aspekt dar. Es berücksichtigt insbesondere das Nutzer- und Nutzungsverhalten der Transportverbindung und bestimmt kritische Momente, wie zum Beispiel die höchste Zugriffsanforderung auf das Websystem (PeakPageRequest).
                          3. Innerhalb des Webdienst-Servers ist die Leistungsfähigkeit der Dienstbereitstellung entscheidend. Dies umfasst die Effizienz der Serverarchitektur in den verschiedensten Dienstausprägungen. (Weltweite) Verteilungsformen, wie zum Beispiel als Server-Farm, Grid und anderes mehr sind zu beachten.
                          4. Das Potential der Systemkomponenten charakterisiert den vierten Aspekt des Verlaufs. Hierbei bezieht man die jeweilige Implementationsform bzw. Programmiertechnologie für die Komponenten und ihre mehr oder weniger umfangreiche Einordnung in eine Websystem-Technologie mit ein, wie beispielsweise Apache Cocoon.
                          5. Der Aspekt des Leistungsbedarfs für die Komponentenbildung betrifft die funktionale Einordnung der Komponenten in das Websystem und die sich daraus ergebenden, aufeinander abzustimmenden Leistungsanforderungen an das System insgesamt.
                          6. Die vorgesehene Technologie für die Verbindung der jeweiligen Systemkomponenten wird durch die Leistungsfähigkeit der Komponentenverbindung selbst wiedergegeben.
                          7. Die Leistung der Datenbasis rundet diesen Überblick ab und bezeichnet das Leistungsverhalten der jeweiligen Daten, die auch multimedialen Charakter haben können. Sie steht im Zusammenhang mit der gewählten Speicherungs- und Zugriffsform.

                          Am einzelnen Hypertext- oder Multimedia-Objekt angelangt wird hierauf aufbauend der Blick vom Request des Klienten auf die Performance-Metriken des Webdienstes verschoben.

                          SVG-Übersicht zu Performance-Metriken eines Webdienstes Performance-Metriken eines Webdienstes [Dum03] - Seite 134

                          Wie in Abb. 1 ersichtlich gibt [Dum03] dafür die folgenden Kategorien vor:

                          • die Systemkapazität als Gesamtzahl der im System befindlichen Webdienste (c)
                          • die Gesamtanzahl ankommender Webdienst-Anforderungen in einer Zeit T (a)
                          • die durchschnittliche Wartezeit eines Webdienstes (w)
                          • die durchschnittliche Webdienst-Bearbeitungszeit (s)
                          • die durchschnittliche Webdienst-Bearbeitungszeit einschließlich Wartezeit (r) sowie
                          • den Systemdurchsatz an Webdiensten in einer Zeit T (g)

                          Auf der Grundlage dieser Webdienst-Kennzahlen können weitere Performance-Merkmale beispielsweise durch die Verwendung der operationalen Analyse bestimmt werden. Möglichkeiten dafür sind

                          • die durchschnittliche Webservice-Rate µ,
                          • die durchschnittliche Ankunftsrate der Web-Dienstanforderungen λ oder
                          • die Webdienst-Durchsatzintensität ρ.

                          Die Kennzahl a, die auch ein Merkmal für die Arbeitslast (Workload) des Websystems darstellt, und die Kennzahl c als eine Berechnungsform für die Systemkapazität bilden schließlich die Grundlage für Kapazitätsplanungen.

                          In den folgenden Kapiteln werden, auf den soeben beschriebenen Grundlagen basierend, aktuelle Methoden und Techniken zur Performanz- und Lasttestung von Systemarchitekturen zur dynamischen Generierung von Webseiten vorgestellt.
                          Mit diesem Wissen werden die Komponenten der Amacont -Systemarchitektur näher identifiziert und verschiedene Parameter, die deren Performanz beeinflussen (z.B. Anzahl der Nutzer, Serverleistung, Adaptivität der Anwendung), ermittelt.
                          Die Aufstellung und Durchführung spezialisierter Testpläne zur Untersuchung der Amacont -Systemarchitektur in Kapitel 4, sowie die Ableitung von Optimierungsmöglichkeiten aus einer Analyse der durchgeführten Tests werden in Kapitel 5 zur Implementierung eines verbesserten Cocoon Transformators führen.
                          Auf der Basis von Java und unter Berücksichtigung des derzeit bestehenden XSLT-Transformators wird dabei besonders auf Performanz- und Robustheitsaspekte Rücksicht genommen.

                      Einordnung Amacont ins Gesamtinternet

                      Nach [Dum03] kann die bisherige Entwicklung des WorldWideWebs in 5 Generationen eingeordnet werden. Eingeleitet durch den legendären Mosaik-Browser im Jahr 1993, stellte die erste Generation eine wesentliche Verbesserung der Dokumentenanzeige und -nutzung im Internet dar. Die verwendeten Dokumente bestanden aus Text, wenigen Bildern bzw. Abbildungen und wurden nur durch elementare Möglichkeiten zur Interaktion mit Hilfe der CGI - Skriptsprache unterstützt.

                      Die zweite Generation, unter [Pow98] auch als "frühes Netscape" bezeichnet, begann etwa 1995. Sie ermöglichte weitere multimediale Implementationsformen sowie integrale Serverkomponenten für die Bereitstellung komplexer Informationsdienste und deren Analysierbarkeit durch Cookies.

                      Websysteme der dritten Generation gestatteten ab 1997 schließlich die Anwendung von Skripten, Java-Applets und nachladbaren Komponenten für spezielle Mediendarstellungen, auch als Plug-ins bekannt (z.B. für Macromedia Flash-Präsentationen).

                      In der vierten Generation der Webtechnologie wurde nun insbesondere die konsistente Entwicklung von Informationssystemen durch eine inhaltsgetragene, toolgestützte Implementations- und Wartungsform, das Content Management, eingeführt. Skriptsprachen, Datenbasis-Anbindungen und serverseitige Skripte wie JSP und ASP werden hier für die Interaktion mit dem Klienten eingesetzt.
                      Die fünfte Generation definiert und impliziert die Anwendung von Webtechnologien für das Semantische Web durch so genannte Resource Description Frameworks (RDF). Dies erlaubt die beliebige Verknüpfung von Webinhalten bzw. Interaktionsmöglichkeiten auf der Grundlage einer DARPA Agent Markup Language (DAML).

                      Als adaptives Websystem wird Amacont in der vierten Generation als webbasiertes Softwaresystem eingeführt, das auf Grundlage von passiven oder aktiven Anpassungsvermögen sein Web Content sowie die darauf basierenden WebServices gemäß sich ergebender neuer Situationen und Zustände im Web anpassen kann. Passives Anpassungsvermögen basiert dabei auf speziellen Lern- bzw. Inferenzalgorithmen. Im aktiven Fall besitzt das System sogar eine gewisse Autonomie auf der Grundlage von Intentionen und komplexen Zielen. Es nutzt dabei für Adaptionszwecke im internen Ablauf RDF-Semantiken und kann somit als Verbindung der nach [Dum03] genannten 4. und 5. Generation angesehen werden.

                      Das Amacont -Projekt, als Beispiel für ein intelligentes und lernendes System, stellt eine Client/Server- Systemarchitektur dar, welche auf dem XML-basierenden serverseitigen Webapplikations-Framework ”Apache Cocoon“ basiert.

                      Qualitätsaspekte

                      Welche Aspekte muss ein aktiv-adaptives Webangebot erfüllen, um sich neben den technischen Raffinessen auch beim Nutzer im alltäglichen Gebrauch durchsetzen zu können? [Dum03] definiert dazu die Aspekte der Web-Security, der Web Usability und der Web Performance.

                      Die Web-Security umfasst die Gesamtheit der Methoden, Verfahren, Technologien und gesetzlichen Regelungen zur Gewährleistung einer sicheren, vertraulichen und autorisierten Websystem-Anwendung für verschiedenste Nutzergruppen. Die Web Usability stellt die Benutzbarkeit eines Websystems dar. Sie umfasst den Aufwand, welcher zum Erlernen der Nutzung benötigt wird, die Qualität der Anwendungsunterstützung und schließlich die Motivation für die Anwendung. Dies ist auf die Nutzeroberfläche und die zugrunde liegenden daten- und funktionsbezogenen Systemkomponenten bzw. -ressourcen zurückzuführen.

                      In diesem Beleg soll auf den dritten Qualitätsaspekt, die Effizienz des Websystems, näher eingegangen werden. Allgemein auch als Web Performance bezeichnet, umfasst diese ...die Mittel und Methoden der Leistungsanalyse, −bewertung und −verbesserung von Websystemen.... Sie bezieht sich ...auf alle Systemebenen bzw. Systemkomponenten, die im Leistungsprozess der Websystem-Anwendung involviert sind.

                      Einer zu bewältigenden Auftragslast sind dementsprechend ausreichend Ressourcen gegenüberzustellen, um eine zufriedenstellende Güte zu garantieren. Diese sollen effektiv und effizient eingesetzt werden. Durch zu hohe Auslastung eines Systems entstehen für dessen Benutzer jedoch zu große Antwort- und Wartezeiten. Die Performanz und damit die Antwortzeit solcher Systeme stellt somit nach [Mue03] eine der wesentlichen Kriterien dar, die über den Erfolg einer Web-Anwendung entscheiden.
                      Es ist wichtig, durch geeignete Spezialisierungen traditioneller Softwaretests die Engpässe im System aufzudecken und das Leistungsverhalten einzelner Komponenten bzw. Subsysteme im Betrieb kennen zu lernen, um die Schwachstellen der Konfiguration zu umgehen oder durch Optimierungen der Komponenten zu reduzieren.

                      Methoden zur Leistungsbewertung (engl. "performance evaluation") erbringen diese Leistungsanalyse und somit eine Abwägung zwischen Ressourcenaufwand und Qualität des geleisteten Dienstes. Lasttests stellen dabei die Stresstests dar, die das Systemverhalten unter besonders hohen Speicher- oder CPU-Anforderungen analysieren. Performance-Tests, welche auf Nutzeremulation basieren, prüfen ein korrektes Systemverhalten bei bestimmten Speicher- und CPU-Anforderungen. Während des Software-Tests nutzt der Tester Funktionen, welche auch ein realer Kunde gebrauchen würde. Die dabei aufgezeichneten Daten können dazu in Datapools gespeichert werden, auf welche dann bei automatisch generierten Test-Sessions mit mehreren parallelen Nutzern zurückgegriffen wird.

                      Adaptive Websysteme bedingen aufgrund des Anpassungsprozesses substantiell komplexere Tests als statische Systeme. Geeignete Methoden sollten daher eine Vergleichbarkeit der Leistung gegenüber traditionellen Websystemen herstellen.

                      In dieser Arbeit wird die Performanz der bestehenden Amacont -Architektur untersucht und das Lastverhalten des Systems bestimmt. Daraus abgeleitet werden Vorschläge zur Optimierung der Architektur unterbreitet und teilweise implementiert. Um darauf später näher eingehen zu können, soll hier das allgemeine Leistungsverhalten eines Websystems gezeigt und darauf folgend aus Sicht der Webdienstanforderung dargestellt werden.

                      Leistungsverhalten von Websystemen

                      Das Leistungsverhalten eines Websystems lässt sich am anschaulichsten anhand des Verlaufs eines Client-Requests erläutern. [Dum03] teilt diesen unter Beachtung der unterschiedlichen Architekturformen in sieben Aspekte ein:

                      1. Zu Beginn ist die Leistungsfähigkeit der Webanbindung von Bedeutung, um den gewünschten Rechner zu erreichen. Spezifiziert umfasst es also die konkrete Netztechnologie, die gewählten Verbindungsprotokolle und die vorgesehene Sicherheitstechnologie.
                      2. Darauf aufbauend stellt das Leistungsverhalten dieser Webverbindung den zweiten Aspekt dar. Es berücksichtigt insbesondere das Nutzer- und Nutzungsverhalten der Transportverbindung und bestimmt kritische Momente, wie zum Beispiel die höchste Zugriffsanforderung auf das Websystem (PeakPageRequest).
                      3. Innerhalb des Webdienst-Servers ist die Leistungsfähigkeit der Dienstbereitstellung entscheidend. Dies umfasst die Effizienz der Serverarchitektur in den verschiedensten Dienstausprägungen. (Weltweite) Verteilungsformen, wie zum Beispiel als Server-Farm, Grid und anderes mehr sind zu beachten.
                      4. Das Potential der Systemkomponenten charakterisiert den vierten Aspekt des Verlaufs. Hierbei bezieht man die jeweilige Implementationsform bzw. Programmiertechnologie für die Komponenten und ihre mehr oder weniger umfangreiche Einordnung in eine Websystem-Technologie mit ein, wie beispielsweise Apache Cocoon.
                      5. Der Aspekt des Leistungsbedarfs für die Komponentenbildung betrifft die funktionale Einordnung der Komponenten in das Websystem und die sich daraus ergebenden, aufeinander abzustimmenden Leistungsanforderungen an das System insgesamt.
                      6. Die vorgesehene Technologie für die Verbindung der jeweiligen Systemkomponenten wird durch die Leistungsfähigkeit der Komponentenverbindung selbst wiedergegeben.
                      7. Die Leistung der Datenbasis rundet diesen Überblick ab und bezeichnet das Leistungsverhalten der jeweiligen Daten, die auch multimedialen Charakter haben können. Sie steht im Zusammenhang mit der gewählten Speicherungs- und Zugriffsform.

                      Am einzelnen Hypertext- oder Multimedia-Objekt angelangt wird hierauf aufbauend der Blick vom Request des Klienten auf die Performance-Metriken des Webdienstes verschoben.

                      SVG-Übersicht zu Performance-Metriken eines Webdienstes Performance-Metriken eines Webdienstes [Dum03] - Seite 134

                      Wie in Abb. 1 ersichtlich gibt [Dum03] dafür die folgenden Kategorien vor:

                      • die Systemkapazität als Gesamtzahl der im System befindlichen Webdienste (c)
                      • die Gesamtanzahl ankommender Webdienst-Anforderungen in einer Zeit T (a)
                      • die durchschnittliche Wartezeit eines Webdienstes (w)
                      • die durchschnittliche Webdienst-Bearbeitungszeit (s)
                      • die durchschnittliche Webdienst-Bearbeitungszeit einschließlich Wartezeit (r) sowie
                      • den Systemdurchsatz an Webdiensten in einer Zeit T (g)

                      Auf der Grundlage dieser Webdienst-Kennzahlen können weitere Performance-Merkmale beispielsweise durch die Verwendung der operationalen Analyse bestimmt werden. Möglichkeiten dafür sind

                      • die durchschnittliche Webservice-Rate µ,
                      • die durchschnittliche Ankunftsrate der Web-Dienstanforderungen λ oder
                      • die Webdienst-Durchsatzintensität ρ.

                      Die Kennzahl a, die auch ein Merkmal für die Arbeitslast (Workload) des Websystems darstellt, und die Kennzahl c als eine Berechnungsform für die Systemkapazität bilden schließlich die Grundlage für Kapazitätsplanungen.

                      In den folgenden Kapiteln werden, auf den soeben beschriebenen Grundlagen basierend, aktuelle Methoden und Techniken zur Performanz- und Lasttestung von Systemarchitekturen zur dynamischen Generierung von Webseiten vorgestellt.
                      Mit diesem Wissen werden die Komponenten der Amacont -Systemarchitektur näher identifiziert und verschiedene Parameter, die deren Performanz beeinflussen (z.B. Anzahl der Nutzer, Serverleistung, Adaptivität der Anwendung), ermittelt.
                      Die Aufstellung und Durchführung spezialisierter Testpläne zur Untersuchung der Amacont -Systemarchitektur in Kapitel 4, sowie die Ableitung von Optimierungsmöglichkeiten aus einer Analyse der durchgeführten Tests werden in Kapitel 5 zur Implementierung eines verbesserten Cocoon Transformators führen.
                      Auf der Basis von Java und unter Berücksichtigung des derzeit bestehenden XSLT-Transformators wird dabei besonders auf Performanz- und Robustheitsaspekte Rücksicht genommen.

                  Einordnung Amacont ins Gesamtinternet

                  Nach [Dum03] kann die bisherige Entwicklung des WorldWideWebs in 5 Generationen eingeordnet werden. Eingeleitet durch den legendären Mosaik-Browser im Jahr 1993, stellte die erste Generation eine wesentliche Verbesserung der Dokumentenanzeige und -nutzung im Internet dar. Die verwendeten Dokumente bestanden aus Text, wenigen Bildern bzw. Abbildungen und wurden nur durch elementare Möglichkeiten zur Interaktion mit Hilfe der CGI - Skriptsprache unterstützt.

                  Die zweite Generation, unter [Pow98] auch als "frühes Netscape" bezeichnet, begann etwa 1995. Sie ermöglichte weitere multimediale Implementationsformen sowie integrale Serverkomponenten für die Bereitstellung komplexer Informationsdienste und deren Analysierbarkeit durch Cookies.

                  Websysteme der dritten Generation gestatteten ab 1997 schließlich die Anwendung von Skripten, Java-Applets und nachladbaren Komponenten für spezielle Mediendarstellungen, auch als Plug-ins bekannt (z.B. für Macromedia Flash-Präsentationen).

                  In der vierten Generation der Webtechnologie wurde nun insbesondere die konsistente Entwicklung von Informationssystemen durch eine inhaltsgetragene, toolgestützte Implementations- und Wartungsform, das Content Management, eingeführt. Skriptsprachen, Datenbasis-Anbindungen und serverseitige Skripte wie JSP und ASP werden hier für die Interaktion mit dem Klienten eingesetzt.
                  Die fünfte Generation definiert und impliziert die Anwendung von Webtechnologien für das Semantische Web durch so genannte Resource Description Frameworks (RDF). Dies erlaubt die beliebige Verknüpfung von Webinhalten bzw. Interaktionsmöglichkeiten auf der Grundlage einer DARPA Agent Markup Language (DAML).

                  Als adaptives Websystem wird Amacont in der vierten Generation als webbasiertes Softwaresystem eingeführt, das auf Grundlage von passiven oder aktiven Anpassungsvermögen sein Web Content sowie die darauf basierenden WebServices gemäß sich ergebender neuer Situationen und Zustände im Web anpassen kann. Passives Anpassungsvermögen basiert dabei auf speziellen Lern- bzw. Inferenzalgorithmen. Im aktiven Fall besitzt das System sogar eine gewisse Autonomie auf der Grundlage von Intentionen und komplexen Zielen. Es nutzt dabei für Adaptionszwecke im internen Ablauf RDF-Semantiken und kann somit als Verbindung der nach [Dum03] genannten 4. und 5. Generation angesehen werden.

                  Das Amacont -Projekt, als Beispiel für ein intelligentes und lernendes System, stellt eine Client/Server- Systemarchitektur dar, welche auf dem XML-basierenden serverseitigen Webapplikations-Framework ”Apache Cocoon“ basiert.

                  Qualitätsaspekte

                  Welche Aspekte muss ein aktiv-adaptives Webangebot erfüllen, um sich neben den technischen Raffinessen auch beim Nutzer im alltäglichen Gebrauch durchsetzen zu können? [Dum03] definiert dazu die Aspekte der Web-Security, der Web Usability und der Web Performance.

                  Die Web-Security umfasst die Gesamtheit der Methoden, Verfahren, Technologien und gesetzlichen Regelungen zur Gewährleistung einer sicheren, vertraulichen und autorisierten Websystem-Anwendung für verschiedenste Nutzergruppen. Die Web Usability stellt die Benutzbarkeit eines Websystems dar. Sie umfasst den Aufwand, welcher zum Erlernen der Nutzung benötigt wird, die Qualität der Anwendungsunterstützung und schließlich die Motivation für die Anwendung. Dies ist auf die Nutzeroberfläche und die zugrunde liegenden daten- und funktionsbezogenen Systemkomponenten bzw. -ressourcen zurückzuführen.

                  In diesem Beleg soll auf den dritten Qualitätsaspekt, die Effizienz des Websystems, näher eingegangen werden. Allgemein auch als Web Performance bezeichnet, umfasst diese ...die Mittel und Methoden der Leistungsanalyse, −bewertung und −verbesserung von Websystemen.... Sie bezieht sich ...auf alle Systemebenen bzw. Systemkomponenten, die im Leistungsprozess der Websystem-Anwendung involviert sind.

                  Einer zu bewältigenden Auftragslast sind dementsprechend ausreichend Ressourcen gegenüberzustellen, um eine zufriedenstellende Güte zu garantieren. Diese sollen effektiv und effizient eingesetzt werden. Durch zu hohe Auslastung eines Systems entstehen für dessen Benutzer jedoch zu große Antwort- und Wartezeiten. Die Performanz und damit die Antwortzeit solcher Systeme stellt somit nach [Mue03] eine der wesentlichen Kriterien dar, die über den Erfolg einer Web-Anwendung entscheiden.
                  Es ist wichtig, durch geeignete Spezialisierungen traditioneller Softwaretests die Engpässe im System aufzudecken und das Leistungsverhalten einzelner Komponenten bzw. Subsysteme im Betrieb kennen zu lernen, um die Schwachstellen der Konfiguration zu umgehen oder durch Optimierungen der Komponenten zu reduzieren.

                  Methoden zur Leistungsbewertung (engl. "performance evaluation") erbringen diese Leistungsanalyse und somit eine Abwägung zwischen Ressourcenaufwand und Qualität des geleisteten Dienstes. Lasttests stellen dabei die Stresstests dar, die das Systemverhalten unter besonders hohen Speicher- oder CPU-Anforderungen analysieren. Performance-Tests, welche auf Nutzeremulation basieren, prüfen ein korrektes Systemverhalten bei bestimmten Speicher- und CPU-Anforderungen. Während des Software-Tests nutzt der Tester Funktionen, welche auch ein realer Kunde gebrauchen würde. Die dabei aufgezeichneten Daten können dazu in Datapools gespeichert werden, auf welche dann bei automatisch generierten Test-Sessions mit mehreren parallelen Nutzern zurückgegriffen wird.

                  Adaptive Websysteme bedingen aufgrund des Anpassungsprozesses substantiell komplexere Tests als statische Systeme. Geeignete Methoden sollten daher eine Vergleichbarkeit der Leistung gegenüber traditionellen Websystemen herstellen.

                  In dieser Arbeit wird die Performanz der bestehenden Amacont -Architektur untersucht und das Lastverhalten des Systems bestimmt. Daraus abgeleitet werden Vorschläge zur Optimierung der Architektur unterbreitet und teilweise implementiert. Um darauf später näher eingehen zu können, soll hier das allgemeine Leistungsverhalten eines Websystems gezeigt und darauf folgend aus Sicht der Webdienstanforderung dargestellt werden.

                  Leistungsverhalten von Websystemen

                  Das Leistungsverhalten eines Websystems lässt sich am anschaulichsten anhand des Verlaufs eines Client-Requests erläutern. [Dum03] teilt diesen unter Beachtung der unterschiedlichen Architekturformen in sieben Aspekte ein:

                  1. Zu Beginn ist die Leistungsfähigkeit der Webanbindung von Bedeutung, um den gewünschten Rechner zu erreichen. Spezifiziert umfasst es also die konkrete Netztechnologie, die gewählten Verbindungsprotokolle und die vorgesehene Sicherheitstechnologie.
                  2. Darauf aufbauend stellt das Leistungsverhalten dieser Webverbindung den zweiten Aspekt dar. Es berücksichtigt insbesondere das Nutzer- und Nutzungsverhalten der Transportverbindung und bestimmt kritische Momente, wie zum Beispiel die höchste Zugriffsanforderung auf das Websystem (PeakPageRequest).
                  3. Innerhalb des Webdienst-Servers ist die Leistungsfähigkeit der Dienstbereitstellung entscheidend. Dies umfasst die Effizienz der Serverarchitektur in den verschiedensten Dienstausprägungen. (Weltweite) Verteilungsformen, wie zum Beispiel als Server-Farm, Grid und anderes mehr sind zu beachten.
                  4. Das Potential der Systemkomponenten charakterisiert den vierten Aspekt des Verlaufs. Hierbei bezieht man die jeweilige Implementationsform bzw. Programmiertechnologie für die Komponenten und ihre mehr oder weniger umfangreiche Einordnung in eine Websystem-Technologie mit ein, wie beispielsweise Apache Cocoon.
                  5. Der Aspekt des Leistungsbedarfs für die Komponentenbildung betrifft die funktionale Einordnung der Komponenten in das Websystem und die sich daraus ergebenden, aufeinander abzustimmenden Leistungsanforderungen an das System insgesamt.
                  6. Die vorgesehene Technologie für die Verbindung der jeweiligen Systemkomponenten wird durch die Leistungsfähigkeit der Komponentenverbindung selbst wiedergegeben.
                  7. Die Leistung der Datenbasis rundet diesen Überblick ab und bezeichnet das Leistungsverhalten der jeweiligen Daten, die auch multimedialen Charakter haben können. Sie steht im Zusammenhang mit der gewählten Speicherungs- und Zugriffsform.

                  Am einzelnen Hypertext- oder Multimedia-Objekt angelangt wird hierauf aufbauend der Blick vom Request des Klienten auf die Performance-Metriken des Webdienstes verschoben.

                  SVG-Übersicht zu Performance-Metriken eines Webdienstes Performance-Metriken eines Webdienstes [Dum03] - Seite 134

                  Wie in Abb. 1 ersichtlich gibt [Dum03] dafür die folgenden Kategorien vor:

                  • die Systemkapazität als Gesamtzahl der im System befindlichen Webdienste (c)
                  • die Gesamtanzahl ankommender Webdienst-Anforderungen in einer Zeit T (a)
                  • die durchschnittliche Wartezeit eines Webdienstes (w)
                  • die durchschnittliche Webdienst-Bearbeitungszeit (s)
                  • die durchschnittliche Webdienst-Bearbeitungszeit einschließlich Wartezeit (r) sowie
                  • den Systemdurchsatz an Webdiensten in einer Zeit T (g)

                  Auf der Grundlage dieser Webdienst-Kennzahlen können weitere Performance-Merkmale beispielsweise durch die Verwendung der operationalen Analyse bestimmt werden. Möglichkeiten dafür sind

                  • die durchschnittliche Webservice-Rate µ,
                  • die durchschnittliche Ankunftsrate der Web-Dienstanforderungen λ oder
                  • die Webdienst-Durchsatzintensität ρ.

                  Die Kennzahl a, die auch ein Merkmal für die Arbeitslast (Workload) des Websystems darstellt, und die Kennzahl c als eine Berechnungsform für die Systemkapazität bilden schließlich die Grundlage für Kapazitätsplanungen.

                  In den folgenden Kapiteln werden, auf den soeben beschriebenen Grundlagen basierend, aktuelle Methoden und Techniken zur Performanz- und Lasttestung von Systemarchitekturen zur dynamischen Generierung von Webseiten vorgestellt.
                  Mit diesem Wissen werden die Komponenten der Amacont -Systemarchitektur näher identifiziert und verschiedene Parameter, die deren Performanz beeinflussen (z.B. Anzahl der Nutzer, Serverleistung, Adaptivität der Anwendung), ermittelt.
                  Die Aufstellung und Durchführung spezialisierter Testpläne zur Untersuchung der Amacont -Systemarchitektur in Kapitel 4, sowie die Ableitung von Optimierungsmöglichkeiten aus einer Analyse der durchgeführten Tests werden in Kapitel 5 zur Implementierung eines verbesserten Cocoon Transformators führen.
                  Auf der Basis von Java und unter Berücksichtigung des derzeit bestehenden XSLT-Transformators wird dabei besonders auf Performanz- und Robustheitsaspekte Rücksicht genommen.

              Einordnung Amacont ins Gesamtinternet

              Nach [Dum03] kann die bisherige Entwicklung des WorldWideWebs in 5 Generationen eingeordnet werden. Eingeleitet durch den legendären Mosaik-Browser im Jahr 1993, stellte die erste Generation eine wesentliche Verbesserung der Dokumentenanzeige und -nutzung im Internet dar. Die verwendeten Dokumente bestanden aus Text, wenigen Bildern bzw. Abbildungen und wurden nur durch elementare Möglichkeiten zur Interaktion mit Hilfe der CGI - Skriptsprache unterstützt.

              Die zweite Generation, unter [Pow98] auch als "frühes Netscape" bezeichnet, begann etwa 1995. Sie ermöglichte weitere multimediale Implementationsformen sowie integrale Serverkomponenten für die Bereitstellung komplexer Informationsdienste und deren Analysierbarkeit durch Cookies.

              Websysteme der dritten Generation gestatteten ab 1997 schließlich die Anwendung von Skripten, Java-Applets und nachladbaren Komponenten für spezielle Mediendarstellungen, auch als Plug-ins bekannt (z.B. für Macromedia Flash-Präsentationen).

              In der vierten Generation der Webtechnologie wurde nun insbesondere die konsistente Entwicklung von Informationssystemen durch eine inhaltsgetragene, toolgestützte Implementations- und Wartungsform, das Content Management, eingeführt. Skriptsprachen, Datenbasis-Anbindungen und serverseitige Skripte wie JSP und ASP werden hier für die Interaktion mit dem Klienten eingesetzt.
              Die fünfte Generation definiert und impliziert die Anwendung von Webtechnologien für das Semantische Web durch so genannte Resource Description Frameworks (RDF). Dies erlaubt die beliebige Verknüpfung von Webinhalten bzw. Interaktionsmöglichkeiten auf der Grundlage einer DARPA Agent Markup Language (DAML).

              Als adaptives Websystem wird Amacont in der vierten Generation als webbasiertes Softwaresystem eingeführt, das auf Grundlage von passiven oder aktiven Anpassungsvermögen sein Web Content sowie die darauf basierenden WebServices gemäß sich ergebender neuer Situationen und Zustände im Web anpassen kann. Passives Anpassungsvermögen basiert dabei auf speziellen Lern- bzw. Inferenzalgorithmen. Im aktiven Fall besitzt das System sogar eine gewisse Autonomie auf der Grundlage von Intentionen und komplexen Zielen. Es nutzt dabei für Adaptionszwecke im internen Ablauf RDF-Semantiken und kann somit als Verbindung der nach [Dum03] genannten 4. und 5. Generation angesehen werden.

              Das Amacont -Projekt, als Beispiel für ein intelligentes und lernendes System, stellt eine Client/Server- Systemarchitektur dar, welche auf dem XML-basierenden serverseitigen Webapplikations-Framework ”Apache Cocoon“ basiert.

              Qualitätsaspekte

              Welche Aspekte muss ein aktiv-adaptives Webangebot erfüllen, um sich neben den technischen Raffinessen auch beim Nutzer im alltäglichen Gebrauch durchsetzen zu können? [Dum03] definiert dazu die Aspekte der Web-Security, der Web Usability und der Web Performance.

              Die Web-Security umfasst die Gesamtheit der Methoden, Verfahren, Technologien und gesetzlichen Regelungen zur Gewährleistung einer sicheren, vertraulichen und autorisierten Websystem-Anwendung für verschiedenste Nutzergruppen. Die Web Usability stellt die Benutzbarkeit eines Websystems dar. Sie umfasst den Aufwand, welcher zum Erlernen der Nutzung benötigt wird, die Qualität der Anwendungsunterstützung und schließlich die Motivation für die Anwendung. Dies ist auf die Nutzeroberfläche und die zugrunde liegenden daten- und funktionsbezogenen Systemkomponenten bzw. -ressourcen zurückzuführen.

              In diesem Beleg soll auf den dritten Qualitätsaspekt, die Effizienz des Websystems, näher eingegangen werden. Allgemein auch als Web Performance bezeichnet, umfasst diese ...die Mittel und Methoden der Leistungsanalyse, −bewertung und −verbesserung von Websystemen.... Sie bezieht sich ...auf alle Systemebenen bzw. Systemkomponenten, die im Leistungsprozess der Websystem-Anwendung involviert sind.

              Einer zu bewältigenden Auftragslast sind dementsprechend ausreichend Ressourcen gegenüberzustellen, um eine zufriedenstellende Güte zu garantieren. Diese sollen effektiv und effizient eingesetzt werden. Durch zu hohe Auslastung eines Systems entstehen für dessen Benutzer jedoch zu große Antwort- und Wartezeiten. Die Performanz und damit die Antwortzeit solcher Systeme stellt somit nach [Mue03] eine der wesentlichen Kriterien dar, die über den Erfolg einer Web-Anwendung entscheiden.
              Es ist wichtig, durch geeignete Spezialisierungen traditioneller Softwaretests die Engpässe im System aufzudecken und das Leistungsverhalten einzelner Komponenten bzw. Subsysteme im Betrieb kennen zu lernen, um die Schwachstellen der Konfiguration zu umgehen oder durch Optimierungen der Komponenten zu reduzieren.

              Methoden zur Leistungsbewertung (engl. "performance evaluation") erbringen diese Leistungsanalyse und somit eine Abwägung zwischen Ressourcenaufwand und Qualität des geleisteten Dienstes. Lasttests stellen dabei die Stresstests dar, die das Systemverhalten unter besonders hohen Speicher- oder CPU-Anforderungen analysieren. Performance-Tests, welche auf Nutzeremulation basieren, prüfen ein korrektes Systemverhalten bei bestimmten Speicher- und CPU-Anforderungen. Während des Software-Tests nutzt der Tester Funktionen, welche auch ein realer Kunde gebrauchen würde. Die dabei aufgezeichneten Daten können dazu in Datapools gespeichert werden, auf welche dann bei automatisch generierten Test-Sessions mit mehreren parallelen Nutzern zurückgegriffen wird.

              Adaptive Websysteme bedingen aufgrund des Anpassungsprozesses substantiell komplexere Tests als statische Systeme. Geeignete Methoden sollten daher eine Vergleichbarkeit der Leistung gegenüber traditionellen Websystemen herstellen.

              In dieser Arbeit wird die Performanz der bestehenden Amacont -Architektur untersucht und das Lastverhalten des Systems bestimmt. Daraus abgeleitet werden Vorschläge zur Optimierung der Architektur unterbreitet und teilweise implementiert. Um darauf später näher eingehen zu können, soll hier das allgemeine Leistungsverhalten eines Websystems gezeigt und darauf folgend aus Sicht der Webdienstanforderung dargestellt werden.

              Leistungsverhalten von Websystemen

              Das Leistungsverhalten eines Websystems lässt sich am anschaulichsten anhand des Verlaufs eines Client-Requests erläutern. [Dum03] teilt diesen unter Beachtung der unterschiedlichen Architekturformen in sieben Aspekte ein:

              1. Zu Beginn ist die Leistungsfähigkeit der Webanbindung von Bedeutung, um den gewünschten Rechner zu erreichen. Spezifiziert umfasst es also die konkrete Netztechnologie, die gewählten Verbindungsprotokolle und die vorgesehene Sicherheitstechnologie.
              2. Darauf aufbauend stellt das Leistungsverhalten dieser Webverbindung den zweiten Aspekt dar. Es berücksichtigt insbesondere das Nutzer- und Nutzungsverhalten der Transportverbindung und bestimmt kritische Momente, wie zum Beispiel die höchste Zugriffsanforderung auf das Websystem (PeakPageRequest).
              3. Innerhalb des Webdienst-Servers ist die Leistungsfähigkeit der Dienstbereitstellung entscheidend. Dies umfasst die Effizienz der Serverarchitektur in den verschiedensten Dienstausprägungen. (Weltweite) Verteilungsformen, wie zum Beispiel als Server-Farm, Grid und anderes mehr sind zu beachten.
              4. Das Potential der Systemkomponenten charakterisiert den vierten Aspekt des Verlaufs. Hierbei bezieht man die jeweilige Implementationsform bzw. Programmiertechnologie für die Komponenten und ihre mehr oder weniger umfangreiche Einordnung in eine Websystem-Technologie mit ein, wie beispielsweise Apache Cocoon.
              5. Der Aspekt des Leistungsbedarfs für die Komponentenbildung betrifft die funktionale Einordnung der Komponenten in das Websystem und die sich daraus ergebenden, aufeinander abzustimmenden Leistungsanforderungen an das System insgesamt.
              6. Die vorgesehene Technologie für die Verbindung der jeweiligen Systemkomponenten wird durch die Leistungsfähigkeit der Komponentenverbindung selbst wiedergegeben.
              7. Die Leistung der Datenbasis rundet diesen Überblick ab und bezeichnet das Leistungsverhalten der jeweiligen Daten, die auch multimedialen Charakter haben können. Sie steht im Zusammenhang mit der gewählten Speicherungs- und Zugriffsform.

              Am einzelnen Hypertext- oder Multimedia-Objekt angelangt wird hierauf aufbauend der Blick vom Request des Klienten auf die Performance-Metriken des Webdienstes verschoben.

              SVG-Übersicht zu Performance-Metriken eines Webdienstes Performance-Metriken eines Webdienstes [Dum03] - Seite 134

              Wie in Abb. 1 ersichtlich gibt [Dum03] dafür die folgenden Kategorien vor:

              • die Systemkapazität als Gesamtzahl der im System befindlichen Webdienste (c)
              • die Gesamtanzahl ankommender Webdienst-Anforderungen in einer Zeit T (a)
              • die durchschnittliche Wartezeit eines Webdienstes (w)
              • die durchschnittliche Webdienst-Bearbeitungszeit (s)
              • die durchschnittliche Webdienst-Bearbeitungszeit einschließlich Wartezeit (r) sowie
              • den Systemdurchsatz an Webdiensten in einer Zeit T (g)

              Auf der Grundlage dieser Webdienst-Kennzahlen können weitere Performance-Merkmale beispielsweise durch die Verwendung der operationalen Analyse bestimmt werden. Möglichkeiten dafür sind

              • die durchschnittliche Webservice-Rate µ,
              • die durchschnittliche Ankunftsrate der Web-Dienstanforderungen λ oder
              • die Webdienst-Durchsatzintensität ρ.

              Die Kennzahl a, die auch ein Merkmal für die Arbeitslast (Workload) des Websystems darstellt, und die Kennzahl c als eine Berechnungsform für die Systemkapazität bilden schließlich die Grundlage für Kapazitätsplanungen.

              In den folgenden Kapiteln werden, auf den soeben beschriebenen Grundlagen basierend, aktuelle Methoden und Techniken zur Performanz- und Lasttestung von Systemarchitekturen zur dynamischen Generierung von Webseiten vorgestellt.
              Mit diesem Wissen werden die Komponenten der Amacont -Systemarchitektur näher identifiziert und verschiedene Parameter, die deren Performanz beeinflussen (z.B. Anzahl der Nutzer, Serverleistung, Adaptivität der Anwendung), ermittelt.
              Die Aufstellung und Durchführung spezialisierter Testpläne zur Untersuchung der Amacont -Systemarchitektur in Kapitel 4, sowie die Ableitung von Optimierungsmöglichkeiten aus einer Analyse der durchgeführten Tests werden in Kapitel 5 zur Implementierung eines verbesserten Cocoon Transformators führen.
              Auf der Basis von Java und unter Berücksichtigung des derzeit bestehenden XSLT-Transformators wird dabei besonders auf Performanz- und Robustheitsaspekte Rücksicht genommen.

          Einordnung Amacont ins Gesamtinternet

          Nach [Dum03] kann die bisherige Entwicklung des WorldWideWebs in 5 Generationen eingeordnet werden. Eingeleitet durch den legendären Mosaik-Browser im Jahr 1993, stellte die erste Generation eine wesentliche Verbesserung der Dokumentenanzeige und -nutzung im Internet dar. Die verwendeten Dokumente bestanden aus Text, wenigen Bildern bzw. Abbildungen und wurden nur durch elementare Möglichkeiten zur Interaktion mit Hilfe der CGI - Skriptsprache unterstützt.

          Die zweite Generation, unter [Pow98] auch als "frühes Netscape" bezeichnet, begann etwa 1995. Sie ermöglichte weitere multimediale Implementationsformen sowie integrale Serverkomponenten für die Bereitstellung komplexer Informationsdienste und deren Analysierbarkeit durch Cookies.

          Websysteme der dritten Generation gestatteten ab 1997 schließlich die Anwendung von Skripten, Java-Applets und nachladbaren Komponenten für spezielle Mediendarstellungen, auch als Plug-ins bekannt (z.B. für Macromedia Flash-Präsentationen).

          In der vierten Generation der Webtechnologie wurde nun insbesondere die konsistente Entwicklung von Informationssystemen durch eine inhaltsgetragene, toolgestützte Implementations- und Wartungsform, das Content Management, eingeführt. Skriptsprachen, Datenbasis-Anbindungen und serverseitige Skripte wie JSP und ASP werden hier für die Interaktion mit dem Klienten eingesetzt.
          Die fünfte Generation definiert und impliziert die Anwendung von Webtechnologien für das Semantische Web durch so genannte Resource Description Frameworks (RDF). Dies erlaubt die beliebige Verknüpfung von Webinhalten bzw. Interaktionsmöglichkeiten auf der Grundlage einer DARPA Agent Markup Language (DAML).

          Als adaptives Websystem wird Amacont in der vierten Generation als webbasiertes Softwaresystem eingeführt, das auf Grundlage von passiven oder aktiven Anpassungsvermögen sein Web Content sowie die darauf basierenden WebServices gemäß sich ergebender neuer Situationen und Zustände im Web anpassen kann. Passives Anpassungsvermögen basiert dabei auf speziellen Lern- bzw. Inferenzalgorithmen. Im aktiven Fall besitzt das System sogar eine gewisse Autonomie auf der Grundlage von Intentionen und komplexen Zielen. Es nutzt dabei für Adaptionszwecke im internen Ablauf RDF-Semantiken und kann somit als Verbindung der nach [Dum03] genannten 4. und 5. Generation angesehen werden.

          Das Amacont -Projekt, als Beispiel für ein intelligentes und lernendes System, stellt eine Client/Server- Systemarchitektur dar, welche auf dem XML-basierenden serverseitigen Webapplikations-Framework ”Apache Cocoon“ basiert.

          Qualitätsaspekte

          Welche Aspekte muss ein aktiv-adaptives Webangebot erfüllen, um sich neben den technischen Raffinessen auch beim Nutzer im alltäglichen Gebrauch durchsetzen zu können? [Dum03] definiert dazu die Aspekte der Web-Security, der Web Usability und der Web Performance.

          Die Web-Security umfasst die Gesamtheit der Methoden, Verfahren, Technologien und gesetzlichen Regelungen zur Gewährleistung einer sicheren, vertraulichen und autorisierten Websystem-Anwendung für verschiedenste Nutzergruppen. Die Web Usability stellt die Benutzbarkeit eines Websystems dar. Sie umfasst den Aufwand, welcher zum Erlernen der Nutzung benötigt wird, die Qualität der Anwendungsunterstützung und schließlich die Motivation für die Anwendung. Dies ist auf die Nutzeroberfläche und die zugrunde liegenden daten- und funktionsbezogenen Systemkomponenten bzw. -ressourcen zurückzuführen.

          In diesem Beleg soll auf den dritten Qualitätsaspekt, die Effizienz des Websystems, näher eingegangen werden. Allgemein auch als Web Performance bezeichnet, umfasst diese ...die Mittel und Methoden der Leistungsanalyse, −bewertung und −verbesserung von Websystemen.... Sie bezieht sich ...auf alle Systemebenen bzw. Systemkomponenten, die im Leistungsprozess der Websystem-Anwendung involviert sind.

          Einer zu bewältigenden Auftragslast sind dementsprechend ausreichend Ressourcen gegenüberzustellen, um eine zufriedenstellende Güte zu garantieren. Diese sollen effektiv und effizient eingesetzt werden. Durch zu hohe Auslastung eines Systems entstehen für dessen Benutzer jedoch zu große Antwort- und Wartezeiten. Die Performanz und damit die Antwortzeit solcher Systeme stellt somit nach [Mue03] eine der wesentlichen Kriterien dar, die über den Erfolg einer Web-Anwendung entscheiden.
          Es ist wichtig, durch geeignete Spezialisierungen traditioneller Softwaretests die Engpässe im System aufzudecken und das Leistungsverhalten einzelner Komponenten bzw. Subsysteme im Betrieb kennen zu lernen, um die Schwachstellen der Konfiguration zu umgehen oder durch Optimierungen der Komponenten zu reduzieren.

          Methoden zur Leistungsbewertung (engl. "performance evaluation") erbringen diese Leistungsanalyse und somit eine Abwägung zwischen Ressourcenaufwand und Qualität des geleisteten Dienstes. Lasttests stellen dabei die Stresstests dar, die das Systemverhalten unter besonders hohen Speicher- oder CPU-Anforderungen analysieren. Performance-Tests, welche auf Nutzeremulation basieren, prüfen ein korrektes Systemverhalten bei bestimmten Speicher- und CPU-Anforderungen. Während des Software-Tests nutzt der Tester Funktionen, welche auch ein realer Kunde gebrauchen würde. Die dabei aufgezeichneten Daten können dazu in Datapools gespeichert werden, auf welche dann bei automatisch generierten Test-Sessions mit mehreren parallelen Nutzern zurückgegriffen wird.

          Adaptive Websysteme bedingen aufgrund des Anpassungsprozesses substantiell komplexere Tests als statische Systeme. Geeignete Methoden sollten daher eine Vergleichbarkeit der Leistung gegenüber traditionellen Websystemen herstellen.

          In dieser Arbeit wird die Performanz der bestehenden Amacont -Architektur untersucht und das Lastverhalten des Systems bestimmt. Daraus abgeleitet werden Vorschläge zur Optimierung der Architektur unterbreitet und teilweise implementiert. Um darauf später näher eingehen zu können, soll hier das allgemeine Leistungsverhalten eines Websystems gezeigt und darauf folgend aus Sicht der Webdienstanforderung dargestellt werden.

          Leistungsverhalten von Websystemen

          Das Leistungsverhalten eines Websystems lässt sich am anschaulichsten anhand des Verlaufs eines Client-Requests erläutern. [Dum03] teilt diesen unter Beachtung der unterschiedlichen Architekturformen in sieben Aspekte ein:

          1. Zu Beginn ist die Leistungsfähigkeit der Webanbindung von Bedeutung, um den gewünschten Rechner zu erreichen. Spezifiziert umfasst es also die konkrete Netztechnologie, die gewählten Verbindungsprotokolle und die vorgesehene Sicherheitstechnologie.
          2. Darauf aufbauend stellt das Leistungsverhalten dieser Webverbindung den zweiten Aspekt dar. Es berücksichtigt insbesondere das Nutzer- und Nutzungsverhalten der Transportverbindung und bestimmt kritische Momente, wie zum Beispiel die höchste Zugriffsanforderung auf das Websystem (PeakPageRequest).
          3. Innerhalb des Webdienst-Servers ist die Leistungsfähigkeit der Dienstbereitstellung entscheidend. Dies umfasst die Effizienz der Serverarchitektur in den verschiedensten Dienstausprägungen. (Weltweite) Verteilungsformen, wie zum Beispiel als Server-Farm, Grid und anderes mehr sind zu beachten.
          4. Das Potential der Systemkomponenten charakterisiert den vierten Aspekt des Verlaufs. Hierbei bezieht man die jeweilige Implementationsform bzw. Programmiertechnologie für die Komponenten und ihre mehr oder weniger umfangreiche Einordnung in eine Websystem-Technologie mit ein, wie beispielsweise Apache Cocoon.
          5. Der Aspekt des Leistungsbedarfs für die Komponentenbildung betrifft die funktionale Einordnung der Komponenten in das Websystem und die sich daraus ergebenden, aufeinander abzustimmenden Leistungsanforderungen an das System insgesamt.
          6. Die vorgesehene Technologie für die Verbindung der jeweiligen Systemkomponenten wird durch die Leistungsfähigkeit der Komponentenverbindung selbst wiedergegeben.
          7. Die Leistung der Datenbasis rundet diesen Überblick ab und bezeichnet das Leistungsverhalten der jeweiligen Daten, die auch multimedialen Charakter haben können. Sie steht im Zusammenhang mit der gewählten Speicherungs- und Zugriffsform.

          Am einzelnen Hypertext- oder Multimedia-Objekt angelangt wird hierauf aufbauend der Blick vom Request des Klienten auf die Performance-Metriken des Webdienstes verschoben.

          SVG-Übersicht zu Performance-Metriken eines Webdienstes Performance-Metriken eines Webdienstes [Dum03] - Seite 134

          Wie in Abb. 1 ersichtlich gibt [Dum03] dafür die folgenden Kategorien vor:

          • die Systemkapazität als Gesamtzahl der im System befindlichen Webdienste (c)
          • die Gesamtanzahl ankommender Webdienst-Anforderungen in einer Zeit T (a)
          • die durchschnittliche Wartezeit eines Webdienstes (w)
          • die durchschnittliche Webdienst-Bearbeitungszeit (s)
          • die durchschnittliche Webdienst-Bearbeitungszeit einschließlich Wartezeit (r) sowie
          • den Systemdurchsatz an Webdiensten in einer Zeit T (g)

          Auf der Grundlage dieser Webdienst-Kennzahlen können weitere Performance-Merkmale beispielsweise durch die Verwendung der operationalen Analyse bestimmt werden. Möglichkeiten dafür sind

          • die durchschnittliche Webservice-Rate µ,
          • die durchschnittliche Ankunftsrate der Web-Dienstanforderungen λ oder
          • die Webdienst-Durchsatzintensität ρ.

          Die Kennzahl a, die auch ein Merkmal für die Arbeitslast (Workload) des Websystems darstellt, und die Kennzahl c als eine Berechnungsform für die Systemkapazität bilden schließlich die Grundlage für Kapazitätsplanungen.

          In den folgenden Kapiteln werden, auf den soeben beschriebenen Grundlagen basierend, aktuelle Methoden und Techniken zur Performanz- und Lasttestung von Systemarchitekturen zur dynamischen Generierung von Webseiten vorgestellt.
          Mit diesem Wissen werden die Komponenten der Amacont -Systemarchitektur näher identifiziert und verschiedene Parameter, die deren Performanz beeinflussen (z.B. Anzahl der Nutzer, Serverleistung, Adaptivität der Anwendung), ermittelt.
          Die Aufstellung und Durchführung spezialisierter Testpläne zur Untersuchung der Amacont -Systemarchitektur in Kapitel 4, sowie die Ableitung von Optimierungsmöglichkeiten aus einer Analyse der durchgeführten Tests werden in Kapitel 5 zur Implementierung eines verbesserten Cocoon Transformators führen.
          Auf der Basis von Java und unter Berücksichtigung des derzeit bestehenden XSLT-Transformators wird dabei besonders auf Performanz- und Robustheitsaspekte Rücksicht genommen.

      Einordnung Amacont ins Gesamtinternet

      Nach [Dum03] kann die bisherige Entwicklung des WorldWideWebs in 5 Generationen eingeordnet werden. Eingeleitet durch den legendären Mosaik-Browser im Jahr 1993, stellte die erste Generation eine wesentliche Verbesserung der Dokumentenanzeige und -nutzung im Internet dar. Die verwendeten Dokumente bestanden aus Text, wenigen Bildern bzw. Abbildungen und wurden nur durch elementare Möglichkeiten zur Interaktion mit Hilfe der CGI - Skriptsprache unterstützt.

      Die zweite Generation, unter [Pow98] auch als "frühes Netscape" bezeichnet, begann etwa 1995. Sie ermöglichte weitere multimediale Implementationsformen sowie integrale Serverkomponenten für die Bereitstellung komplexer Informationsdienste und deren Analysierbarkeit durch Cookies.

      Websysteme der dritten Generation gestatteten ab 1997 schließlich die Anwendung von Skripten, Java-Applets und nachladbaren Komponenten für spezielle Mediendarstellungen, auch als Plug-ins bekannt (z.B. für Macromedia Flash-Präsentationen).

      In der vierten Generation der Webtechnologie wurde nun insbesondere die konsistente Entwicklung von Informationssystemen durch eine inhaltsgetragene, toolgestützte Implementations- und Wartungsform, das Content Management, eingeführt. Skriptsprachen, Datenbasis-Anbindungen und serverseitige Skripte wie JSP und ASP werden hier für die Interaktion mit dem Klienten eingesetzt.
      Die fünfte Generation definiert und impliziert die Anwendung von Webtechnologien für das Semantische Web durch so genannte Resource Description Frameworks (RDF). Dies erlaubt die beliebige Verknüpfung von Webinhalten bzw. Interaktionsmöglichkeiten auf der Grundlage einer DARPA Agent Markup Language (DAML).

      Als adaptives Websystem wird Amacont in der vierten Generation als webbasiertes Softwaresystem eingeführt, das auf Grundlage von passiven oder aktiven Anpassungsvermögen sein Web Content sowie die darauf basierenden WebServices gemäß sich ergebender neuer Situationen und Zustände im Web anpassen kann. Passives Anpassungsvermögen basiert dabei auf speziellen Lern- bzw. Inferenzalgorithmen. Im aktiven Fall besitzt das System sogar eine gewisse Autonomie auf der Grundlage von Intentionen und komplexen Zielen. Es nutzt dabei für Adaptionszwecke im internen Ablauf RDF-Semantiken und kann somit als Verbindung der nach [Dum03] genannten 4. und 5. Generation angesehen werden.

      Das Amacont -Projekt, als Beispiel für ein intelligentes und lernendes System, stellt eine Client/Server- Systemarchitektur dar, welche auf dem XML-basierenden serverseitigen Webapplikations-Framework ”Apache Cocoon“ basiert.

      Qualitätsaspekte

      Welche Aspekte muss ein aktiv-adaptives Webangebot erfüllen, um sich neben den technischen Raffinessen auch beim Nutzer im alltäglichen Gebrauch durchsetzen zu können? [Dum03] definiert dazu die Aspekte der Web-Security, der Web Usability und der Web Performance.

      Die Web-Security umfasst die Gesamtheit der Methoden, Verfahren, Technologien und gesetzlichen Regelungen zur Gewährleistung einer sicheren, vertraulichen und autorisierten Websystem-Anwendung für verschiedenste Nutzergruppen. Die Web Usability stellt die Benutzbarkeit eines Websystems dar. Sie umfasst den Aufwand, welcher zum Erlernen der Nutzung benötigt wird, die Qualität der Anwendungsunterstützung und schließlich die Motivation für die Anwendung. Dies ist auf die Nutzeroberfläche und die zugrunde liegenden daten- und funktionsbezogenen Systemkomponenten bzw. -ressourcen zurückzuführen.

      In diesem Beleg soll auf den dritten Qualitätsaspekt, die Effizienz des Websystems, näher eingegangen werden. Allgemein auch als Web Performance bezeichnet, umfasst diese ...die Mittel und Methoden der Leistungsanalyse, −bewertung und −verbesserung von Websystemen.... Sie bezieht sich ...auf alle Systemebenen bzw. Systemkomponenten, die im Leistungsprozess der Websystem-Anwendung involviert sind.

      Einer zu bewältigenden Auftragslast sind dementsprechend ausreichend Ressourcen gegenüberzustellen, um eine zufriedenstellende Güte zu garantieren. Diese sollen effektiv und effizient eingesetzt werden. Durch zu hohe Auslastung eines Systems entstehen für dessen Benutzer jedoch zu große Antwort- und Wartezeiten. Die Performanz und damit die Antwortzeit solcher Systeme stellt somit nach [Mue03] eine der wesentlichen Kriterien dar, die über den Erfolg einer Web-Anwendung entscheiden.
      Es ist wichtig, durch geeignete Spezialisierungen traditioneller Softwaretests die Engpässe im System aufzudecken und das Leistungsverhalten einzelner Komponenten bzw. Subsysteme im Betrieb kennen zu lernen, um die Schwachstellen der Konfiguration zu umgehen oder durch Optimierungen der Komponenten zu reduzieren.

      Methoden zur Leistungsbewertung (engl. "performance evaluation") erbringen diese Leistungsanalyse und somit eine Abwägung zwischen Ressourcenaufwand und Qualität des geleisteten Dienstes. Lasttests stellen dabei die Stresstests dar, die das Systemverhalten unter besonders hohen Speicher- oder CPU-Anforderungen analysieren. Performance-Tests, welche auf Nutzeremulation basieren, prüfen ein korrektes Systemverhalten bei bestimmten Speicher- und CPU-Anforderungen. Während des Software-Tests nutzt der Tester Funktionen, welche auch ein realer Kunde gebrauchen würde. Die dabei aufgezeichneten Daten können dazu in Datapools gespeichert werden, auf welche dann bei automatisch generierten Test-Sessions mit mehreren parallelen Nutzern zurückgegriffen wird.

      Adaptive Websysteme bedingen aufgrund des Anpassungsprozesses substantiell komplexere Tests als statische Systeme. Geeignete Methoden sollten daher eine Vergleichbarkeit der Leistung gegenüber traditionellen Websystemen herstellen.

      In dieser Arbeit wird die Performanz der bestehenden Amacont -Architektur untersucht und das Lastverhalten des Systems bestimmt. Daraus abgeleitet werden Vorschläge zur Optimierung der Architektur unterbreitet und teilweise implementiert. Um darauf später näher eingehen zu können, soll hier das allgemeine Leistungsverhalten eines Websystems gezeigt und darauf folgend aus Sicht der Webdienstanforderung dargestellt werden.

      Leistungsverhalten von Websystemen

      Das Leistungsverhalten eines Websystems lässt sich am anschaulichsten anhand des Verlaufs eines Client-Requests erläutern. [Dum03] teilt diesen unter Beachtung der unterschiedlichen Architekturformen in sieben Aspekte ein:

      1. Zu Beginn ist die Leistungsfähigkeit der Webanbindung von Bedeutung, um den gewünschten Rechner zu erreichen. Spezifiziert umfasst es also die konkrete Netztechnologie, die gewählten Verbindungsprotokolle und die vorgesehene Sicherheitstechnologie.
      2. Darauf aufbauend stellt das Leistungsverhalten dieser Webverbindung den zweiten Aspekt dar. Es berücksichtigt insbesondere das Nutzer- und Nutzungsverhalten der Transportverbindung und bestimmt kritische Momente, wie zum Beispiel die höchste Zugriffsanforderung auf das Websystem (PeakPageRequest).
      3. Innerhalb des Webdienst-Servers ist die Leistungsfähigkeit der Dienstbereitstellung entscheidend. Dies umfasst die Effizienz der Serverarchitektur in den verschiedensten Dienstausprägungen. (Weltweite) Verteilungsformen, wie zum Beispiel als Server-Farm, Grid und anderes mehr sind zu beachten.
      4. Das Potential der Systemkomponenten charakterisiert den vierten Aspekt des Verlaufs. Hierbei bezieht man die jeweilige Implementationsform bzw. Programmiertechnologie für die Komponenten und ihre mehr oder weniger umfangreiche Einordnung in eine Websystem-Technologie mit ein, wie beispielsweise Apache Cocoon.
      5. Der Aspekt des Leistungsbedarfs für die Komponentenbildung betrifft die funktionale Einordnung der Komponenten in das Websystem und die sich daraus ergebenden, aufeinander abzustimmenden Leistungsanforderungen an das System insgesamt.
      6. Die vorgesehene Technologie für die Verbindung der jeweiligen Systemkomponenten wird durch die Leistungsfähigkeit der Komponentenverbindung selbst wiedergegeben.
      7. Die Leistung der Datenbasis rundet diesen Überblick ab und bezeichnet das Leistungsverhalten der jeweiligen Daten, die auch multimedialen Charakter haben können. Sie steht im Zusammenhang mit der gewählten Speicherungs- und Zugriffsform.

      Am einzelnen Hypertext- oder Multimedia-Objekt angelangt wird hierauf aufbauend der Blick vom Request des Klienten auf die Performance-Metriken des Webdienstes verschoben.

      SVG-Übersicht zu Performance-Metriken eines Webdienstes Performance-Metriken eines Webdienstes [Dum03] - Seite 134

      Wie in Abb. 1 ersichtlich gibt [Dum03] dafür die folgenden Kategorien vor:

      • die Systemkapazität als Gesamtzahl der im System befindlichen Webdienste (c)
      • die Gesamtanzahl ankommender Webdienst-Anforderungen in einer Zeit T (a)
      • die durchschnittliche Wartezeit eines Webdienstes (w)
      • die durchschnittliche Webdienst-Bearbeitungszeit (s)
      • die durchschnittliche Webdienst-Bearbeitungszeit einschließlich Wartezeit (r) sowie
      • den Systemdurchsatz an Webdiensten in einer Zeit T (g)

      Auf der Grundlage dieser Webdienst-Kennzahlen können weitere Performance-Merkmale beispielsweise durch die Verwendung der operationalen Analyse bestimmt werden. Möglichkeiten dafür sind

      • die durchschnittliche Webservice-Rate µ,
      • die durchschnittliche Ankunftsrate der Web-Dienstanforderungen λ oder
      • die Webdienst-Durchsatzintensität ρ.

      Die Kennzahl a, die auch ein Merkmal für die Arbeitslast (Workload) des Websystems darstellt, und die Kennzahl c als eine Berechnungsform für die Systemkapazität bilden schließlich die Grundlage für Kapazitätsplanungen.

      In den folgenden Kapiteln werden, auf den soeben beschriebenen Grundlagen basierend, aktuelle Methoden und Techniken zur Performanz- und Lasttestung von Systemarchitekturen zur dynamischen Generierung von Webseiten vorgestellt.
      Mit diesem Wissen werden die Komponenten der Amacont -Systemarchitektur näher identifiziert und verschiedene Parameter, die deren Performanz beeinflussen (z.B. Anzahl der Nutzer, Serverleistung, Adaptivität der Anwendung), ermittelt.
      Die Aufstellung und Durchführung spezialisierter Testpläne zur Untersuchung der Amacont -Systemarchitektur in Kapitel 4, sowie die Ableitung von Optimierungsmöglichkeiten aus einer Analyse der durchgeführten Tests werden in Kapitel 5 zur Implementierung eines verbesserten Cocoon Transformators führen.
      Auf der Basis von Java und unter Berücksichtigung des derzeit bestehenden XSLT-Transformators wird dabei besonders auf Performanz- und Robustheitsaspekte Rücksicht genommen.

Einordnung Amacont ins Gesamtinternet

Nach [Dum03] kann die bisherige Entwicklung des WorldWideWebs in 5 Generationen eingeordnet werden. Eingeleitet durch den legendären Mosaik-Browser im Jahr 1993, stellte die erste Generation eine wesentliche Verbesserung der Dokumentenanzeige und -nutzung im Internet dar. Die verwendeten Dokumente bestanden aus Text, wenigen Bildern bzw. Abbildungen und wurden nur durch elementare Möglichkeiten zur Interaktion mit Hilfe der CGI - Skriptsprache unterstützt.

Die zweite Generation, unter [Pow98] auch als "frühes Netscape" bezeichnet, begann etwa 1995. Sie ermöglichte weitere multimediale Implementationsformen sowie integrale Serverkomponenten für die Bereitstellung komplexer Informationsdienste und deren Analysierbarkeit durch Cookies.

Websysteme der dritten Generation gestatteten ab 1997 schließlich die Anwendung von Skripten, Java-Applets und nachladbaren Komponenten für spezielle Mediendarstellungen, auch als Plug-ins bekannt (z.B. für Macromedia Flash-Präsentationen).

In der vierten Generation der Webtechnologie wurde nun insbesondere die konsistente Entwicklung von Informationssystemen durch eine inhaltsgetragene, toolgestützte Implementations- und Wartungsform, das Content Management, eingeführt. Skriptsprachen, Datenbasis-Anbindungen und serverseitige Skripte wie JSP und ASP werden hier für die Interaktion mit dem Klienten eingesetzt.
Die fünfte Generation definiert und impliziert die Anwendung von Webtechnologien für das Semantische Web durch so genannte Resource Description Frameworks (RDF). Dies erlaubt die beliebige Verknüpfung von Webinhalten bzw. Interaktionsmöglichkeiten auf der Grundlage einer DARPA Agent Markup Language (DAML).

Als adaptives Websystem wird Amacont in der vierten Generation als webbasiertes Softwaresystem eingeführt, das auf Grundlage von passiven oder aktiven Anpassungsvermögen sein Web Content sowie die darauf basierenden WebServices gemäß sich ergebender neuer Situationen und Zustände im Web anpassen kann. Passives Anpassungsvermögen basiert dabei auf speziellen Lern- bzw. Inferenzalgorithmen. Im aktiven Fall besitzt das System sogar eine gewisse Autonomie auf der Grundlage von Intentionen und komplexen Zielen. Es nutzt dabei für Adaptionszwecke im internen Ablauf RDF-Semantiken und kann somit als Verbindung der nach [Dum03] genannten 4. und 5. Generation angesehen werden.

Das Amacont -Projekt, als Beispiel für ein intelligentes und lernendes System, stellt eine Client/Server- Systemarchitektur dar, welche auf dem XML-basierenden serverseitigen Webapplikations-Framework ”Apache Cocoon“ basiert.

Qualitätsaspekte

Welche Aspekte muss ein aktiv-adaptives Webangebot erfüllen, um sich neben den technischen Raffinessen auch beim Nutzer im alltäglichen Gebrauch durchsetzen zu können? [Dum03] definiert dazu die Aspekte der Web-Security, der Web Usability und der Web Performance.

Die Web-Security umfasst die Gesamtheit der Methoden, Verfahren, Technologien und gesetzlichen Regelungen zur Gewährleistung einer sicheren, vertraulichen und autorisierten Websystem-Anwendung für verschiedenste Nutzergruppen. Die Web Usability stellt die Benutzbarkeit eines Websystems dar. Sie umfasst den Aufwand, welcher zum Erlernen der Nutzung benötigt wird, die Qualität der Anwendungsunterstützung und schließlich die Motivation für die Anwendung. Dies ist auf die Nutzeroberfläche und die zugrunde liegenden daten- und funktionsbezogenen Systemkomponenten bzw. -ressourcen zurückzuführen.

In diesem Beleg soll auf den dritten Qualitätsaspekt, die Effizienz des Websystems, näher eingegangen werden. Allgemein auch als Web Performance bezeichnet, umfasst diese ...die Mittel und Methoden der Leistungsanalyse, −bewertung und −verbesserung von Websystemen.... Sie bezieht sich ...auf alle Systemebenen bzw. Systemkomponenten, die im Leistungsprozess der Websystem-Anwendung involviert sind.

Einer zu bewältigenden Auftragslast sind dementsprechend ausreichend Ressourcen gegenüberzustellen, um eine zufriedenstellende Güte zu garantieren. Diese sollen effektiv und effizient eingesetzt werden. Durch zu hohe Auslastung eines Systems entstehen für dessen Benutzer jedoch zu große Antwort- und Wartezeiten. Die Performanz und damit die Antwortzeit solcher Systeme stellt somit nach [Mue03] eine der wesentlichen Kriterien dar, die über den Erfolg einer Web-Anwendung entscheiden.
Es ist wichtig, durch geeignete Spezialisierungen traditioneller Softwaretests die Engpässe im System aufzudecken und das Leistungsverhalten einzelner Komponenten bzw. Subsysteme im Betrieb kennen zu lernen, um die Schwachstellen der Konfiguration zu umgehen oder durch Optimierungen der Komponenten zu reduzieren.

Methoden zur Leistungsbewertung (engl. "performance evaluation") erbringen diese Leistungsanalyse und somit eine Abwägung zwischen Ressourcenaufwand und Qualität des geleisteten Dienstes. Lasttests stellen dabei die Stresstests dar, die das Systemverhalten unter besonders hohen Speicher- oder CPU-Anforderungen analysieren. Performance-Tests, welche auf Nutzeremulation basieren, prüfen ein korrektes Systemverhalten bei bestimmten Speicher- und CPU-Anforderungen. Während des Software-Tests nutzt der Tester Funktionen, welche auch ein realer Kunde gebrauchen würde. Die dabei aufgezeichneten Daten können dazu in Datapools gespeichert werden, auf welche dann bei automatisch generierten Test-Sessions mit mehreren parallelen Nutzern zurückgegriffen wird.

Adaptive Websysteme bedingen aufgrund des Anpassungsprozesses substantiell komplexere Tests als statische Systeme. Geeignete Methoden sollten daher eine Vergleichbarkeit der Leistung gegenüber traditionellen Websystemen herstellen.

In dieser Arbeit wird die Performanz der bestehenden Amacont -Architektur untersucht und das Lastverhalten des Systems bestimmt. Daraus abgeleitet werden Vorschläge zur Optimierung der Architektur unterbreitet und teilweise implementiert. Um darauf später näher eingehen zu können, soll hier das allgemeine Leistungsverhalten eines Websystems gezeigt und darauf folgend aus Sicht der Webdienstanforderung dargestellt werden.

Leistungsverhalten von Websystemen

Das Leistungsverhalten eines Websystems lässt sich am anschaulichsten anhand des Verlaufs eines Client-Requests erläutern. [Dum03] teilt diesen unter Beachtung der unterschiedlichen Architekturformen in sieben Aspekte ein:

  1. Zu Beginn ist die Leistungsfähigkeit der Webanbindung von Bedeutung, um den gewünschten Rechner zu erreichen. Spezifiziert umfasst es also die konkrete Netztechnologie, die gewählten Verbindungsprotokolle und die vorgesehene Sicherheitstechnologie.
  2. Darauf aufbauend stellt das Leistungsverhalten dieser Webverbindung den zweiten Aspekt dar. Es berücksichtigt insbesondere das Nutzer- und Nutzungsverhalten der Transportverbindung und bestimmt kritische Momente, wie zum Beispiel die höchste Zugriffsanforderung auf das Websystem (PeakPageRequest).
  3. Innerhalb des Webdienst-Servers ist die Leistungsfähigkeit der Dienstbereitstellung entscheidend. Dies umfasst die Effizienz der Serverarchitektur in den verschiedensten Dienstausprägungen. (Weltweite) Verteilungsformen, wie zum Beispiel als Server-Farm, Grid und anderes mehr sind zu beachten.
  4. Das Potential der Systemkomponenten charakterisiert den vierten Aspekt des Verlaufs. Hierbei bezieht man die jeweilige Implementationsform bzw. Programmiertechnologie für die Komponenten und ihre mehr oder weniger umfangreiche Einordnung in eine Websystem-Technologie mit ein, wie beispielsweise Apache Cocoon.
  5. Der Aspekt des Leistungsbedarfs für die Komponentenbildung betrifft die funktionale Einordnung der Komponenten in das Websystem und die sich daraus ergebenden, aufeinander abzustimmenden Leistungsanforderungen an das System insgesamt.
  6. Die vorgesehene Technologie für die Verbindung der jeweiligen Systemkomponenten wird durch die Leistungsfähigkeit der Komponentenverbindung selbst wiedergegeben.
  7. Die Leistung der Datenbasis rundet diesen Überblick ab und bezeichnet das Leistungsverhalten der jeweiligen Daten, die auch multimedialen Charakter haben können. Sie steht im Zusammenhang mit der gewählten Speicherungs- und Zugriffsform.

Am einzelnen Hypertext- oder Multimedia-Objekt angelangt wird hierauf aufbauend der Blick vom Request des Klienten auf die Performance-Metriken des Webdienstes verschoben.

SVG-Übersicht zu Performance-Metriken eines Webdienstes Performance-Metriken eines Webdienstes [Dum03] - Seite 134

Wie in Abb. 1 ersichtlich gibt [Dum03] dafür die folgenden Kategorien vor:

  • die Systemkapazität als Gesamtzahl der im System befindlichen Webdienste (c)
  • die Gesamtanzahl ankommender Webdienst-Anforderungen in einer Zeit T (a)
  • die durchschnittliche Wartezeit eines Webdienstes (w)
  • die durchschnittliche Webdienst-Bearbeitungszeit (s)
  • die durchschnittliche Webdienst-Bearbeitungszeit einschließlich Wartezeit (r) sowie
  • den Systemdurchsatz an Webdiensten in einer Zeit T (g)

Auf der Grundlage dieser Webdienst-Kennzahlen können weitere Performance-Merkmale beispielsweise durch die Verwendung der operationalen Analyse bestimmt werden. Möglichkeiten dafür sind

  • die durchschnittliche Webservice-Rate µ,
  • die durchschnittliche Ankunftsrate der Web-Dienstanforderungen λ oder
  • die Webdienst-Durchsatzintensität ρ.

Die Kennzahl a, die auch ein Merkmal für die Arbeitslast (Workload) des Websystems darstellt, und die Kennzahl c als eine Berechnungsform für die Systemkapazität bilden schließlich die Grundlage für Kapazitätsplanungen.

In den folgenden Kapiteln werden, auf den soeben beschriebenen Grundlagen basierend, aktuelle Methoden und Techniken zur Performanz- und Lasttestung von Systemarchitekturen zur dynamischen Generierung von Webseiten vorgestellt.
Mit diesem Wissen werden die Komponenten der Amacont -Systemarchitektur näher identifiziert und verschiedene Parameter, die deren Performanz beeinflussen (z.B. Anzahl der Nutzer, Serverleistung, Adaptivität der Anwendung), ermittelt.
Die Aufstellung und Durchführung spezialisierter Testpläne zur Untersuchung der Amacont -Systemarchitektur in Kapitel 4, sowie die Ableitung von Optimierungsmöglichkeiten aus einer Analyse der durchgeführten Tests werden in Kapitel 5 zur Implementierung eines verbesserten Cocoon Transformators führen.
Auf der Basis von Java und unter Berücksichtigung des derzeit bestehenden XSLT-Transformators wird dabei besonders auf Performanz- und Robustheitsaspekte Rücksicht genommen.

top