Zusammenfassung / Ausblick
Zusammenfassung / Ausblick
Zusammenfassung / Ausblick
Zusammenfassung / Ausblick
Zusammenfassung / Ausblick
Zusammenfassung / Ausblick
Zusammenfassung / Ausblick
Auf den vorangegangenen Seiten wurde zunächst der Versuch der Einordnung des Amacont-Projektes in die Gesamtstruktur webbasierter Softwaresysteme unternommen und deren allgemeinen Netzwerkstrukturen, Systemkomponenten und Arbeitsabläufe näher vorgestellt. Die Recherche nach Grundlagen für geeignete Testmethoden führte zu der Einteilung in statische sowie dynamische Whitebox-, Greybox- und Blackbox-Tests. Gekoppelt mit den Erkenntnissen des ersten Kapitels ließen sich daraus Ansatzpunkte für Tests innerhalb des aktuellen Kontextes herausstellen. Die Recherche und Installation dafür geeigneter Programme, welche vornehmlich aus dem Bereich der freien Software stammen, und deren Einordnung in das erarbeitete Schema stellten den nächsten Schwerpunkt dar.
Auf die Vorstellung der Komponenten und Arbeitsabläufe innerhalb der Amacont-Architektur folgte nun die Ermittlung verschiedener die Performance beeinflussender Parameter. Aufbauend darauf wurden Testpläne zur Informationsgewinnung des Performanz- und Lastverhaltens aufgestellt und entsprechend durchgeführt. Engpässe konnten dadurch identifiziert und mögliche Lösungsansätze sowie Optimierungsmethoden abgeleitet werden. Den Abschluss bildete die Umsetzung des auf einer XSLT-Vorlage beruhenden Cocoon-Transformators, welcher in die Amacont Systemarchitektur implementiert und während Leistungstests erfolgreich erprobt wurde.
Die Analyse der Amacont-Architektur beschränkt sich hauptsächlich auf Bereiche, welche für Tests und eine Transformator-Erstellung benötigt werden. Sie stellt daher keinen Anspruch auf Vollständigkeit.
Die Tests umfassten die am Dokument-Generierungsprozess beteiligten Transformatoren, so dass diese isoliert von äußeren Einflussfaktoren stattfinden sollten. Dass in diesem Zusammenhang die Architektur ähnlich statischen Tests partiell verifiziert und auf Schwachstellen in der Robustheit einzelner Elemente hingewiesen wurde, sollte nicht vordergründig verfolgt werden, weswegen auch hier kein Vollständigkeitsanspruch erhebar ist.
Die Entwicklung eines Transformators baut auf bereits existierenden Methoden des Cocoon-Frameworks sowie der W3C auf und wurde anhand einer XSLT-Vorlage ausgeführt. Für Schwächen und semantische Programmierfehler dieser Basis wird ebenso keine Verantwortung übernommen (vergl. Kapitel 5.3).
Bei der Bearbeitung einer neuartigen und auf innovativen Entwicklungen beruhenden Aufgabe lassen sich Probleme nie vollständig vermeiden. So sind erwartungsgemäß aufgrund der Spezialisierung des untersuchten Systems wenige Unterlagen zu passenden freien Testtools vorhanden, was jedoch durch den vom Lehrstuhl genutzten Watch-Transformator sehr gut gelöst werden konnte. Die Isolierung einzelner Arbeitsprozesse innerhalb der Amacont-Architektur stellte aufgrund ihrer Komplexität ebenfalls eine Schwierigkeit dar, welche jedoch ebenfalls im Erstellungsverlauf gelöst wurde. Die Benutzermodell-Rücksetzung zu Testzwecken ist derzeit recht kompliziert, konnte aber, wie auch die Umgehung des Cocoon Session-Managements, erfüllt werden. Komponenten wie der trainCDL4-Transformator reagieren sehr sensibel auf Leerzeichen innerhalb der Request-XML-Struktur, was deren Bearbeitung mit externen Programmen erschwert. Ebenfalls traten Probleme bei der Nutzung exotischer Browser wie Mozilla Firefox auf. Leider konnten die Performance-Tests nicht durch das sehr interessante Hyades Framework durchgeführt werden, da dieses aus nicht nachvollziehbaren Gründen und trotz mehrmaliger Neuinstallation bei der Test-Generierung Laufzeitfehler verursachte. Es wurde JMeter als vergleichbarer Ersatz und bewährtes Testtool herangezogen. Tests mit verschiedenen Nutzeranzahlen werden schnellstmöglich erneut ausgeführt, so dass zur Verteidigung dieser Arbeit ebenfalls betreffende Resultate vorliegen.
Mit der Bearbeitung der gestellten Belegaufgabe entstand eine Vielzahl aussagekräftiger Ergebnisse. So wurde eine Übersicht aktueller Methoden der Softwaretestung erarbeitet, welche in Äquivalenzklassen eingeteilt und an geeigneten Stellen mit Vertretern des OpenSource-Umfeldes untermauert werden konnte. Auf zwei positive Vertreter wurde genauer eingegangen, wobei Jakarta JMeter (Apache Software Foundation) den Quasi-Standard für Blackbox-Tests darstellt und das unter der CPL-Lizenz erstellte Hyades Framework die Vorteile des Eclipse IDE zur allumfassenden und vielseitigen Entwicklungsumgebung steigert.
Fortführend konnten geeignete Testpläne auf die Amacont-Architektur angepasst und mit Hilfe von JMeter ausgeführt werden. Die dabei entstandenen Messergebnisse wurden interpretiert, wobei beispielsweise eine exponentielle Belastungssteigerung innerhalb der Dokumentengröße prägnant hervortrat. Neben der Identifizierung der Schwachstelle Ama2xHTML-Stylesheet konnten Optimierungsvorschläge erarbeitet und ein javabasierter Beispiel-Transformator erstellt werden. Dieser ermöglicht eine deutliche Performancesteigerung gegenüber der Anfangskonfiguration, unterstützt ebenso die zyklische Parameter-Abarbeitung zur Cache-Generierung und ist damit eine Aufwertung der Systemarchitektur.
Das Amacont-Projekt ist richtungweisend auf dem Gebiet der XML-basierten adaptiven Dokumenten-Generierungssysteme. Es baut tiefgründig auf ein freies und aussichtsreiches Framework-System auf und erfüllt eine Vielzahl derzeit vorhandener Standards. Um dabei eine zu statischen Websystemen vergleichbare Performance erreichen zu können, sollen an dieser Stelle vier isolierte Untersuchungsrichtungen rekapituliert werden.
Teiltransformierte Dokumente der Pipeline können für Nutzer der gleichen Äquivalenzklasse zwischengespeichert werden, um in diesem Fall den Generierungsprozess zu verkürzen und Ressourcen einzusparen. Diese erfolgsversprechende Lösung ist sowohl bei der Logik-Anpassung der Endgeräte als auch in Kombination mit der Einführung eines Recommender-Systems anwendbar. Dadurch werden Nutzer nach ihren persönlichen Präferenzen gruppiert und dementsprechende Pipeline-Zwischenschritte gecached. Der bearbeitete evalLogic-Transformator stellt dafür eine gute Basis dar.
Die Umwandlung weiterer XSLT-Stylesheets, wie das der xHTML-Übersetzung, in Javabasierte Transformatoren erhöht ebenfalls die Performance spürbar. Durch die clientseitige Auslagerung von Adaptions- und Präsentationseigenschaften mit Hilfe von “Cascading Stylesheets” und JavaScript-basierten Algorithmen kann bei Nutzern weit verbreiteter Browser (Bsp.: Microsoft Internet Explorer 5.x) eine weitere Entlastung der Serverarchitektur erfolgen.
Arbeitsschritte
Auf den vorangegangenen Seiten wurde zunächst der Versuch der Einordnung des Amacont-Projektes in die Gesamtstruktur webbasierter Softwaresysteme unternommen und deren allgemeinen Netzwerkstrukturen, Systemkomponenten und Arbeitsabläufe näher vorgestellt. Die Recherche nach Grundlagen für geeignete Testmethoden führte zu der Einteilung in statische sowie dynamische Whitebox-, Greybox- und Blackbox-Tests. Gekoppelt mit den Erkenntnissen des ersten Kapitels ließen sich daraus Ansatzpunkte für Tests innerhalb des aktuellen Kontextes herausstellen. Die Recherche und Installation dafür geeigneter Programme, welche vornehmlich aus dem Bereich der freien Software stammen, und deren Einordnung in das erarbeitete Schema stellten den nächsten Schwerpunkt dar.
Auf die Vorstellung der Komponenten und Arbeitsabläufe innerhalb der Amacont-Architektur folgte nun die Ermittlung verschiedener die Performance beeinflussender Parameter. Aufbauend darauf wurden Testpläne zur Informationsgewinnung des Performanz- und Lastverhaltens aufgestellt und entsprechend durchgeführt. Engpässe konnten dadurch identifiziert und mögliche Lösungsansätze sowie Optimierungsmethoden abgeleitet werden. Den Abschluss bildete die Umsetzung des auf einer XSLT-Vorlage beruhenden Cocoon-Transformators, welcher in die Amacont Systemarchitektur implementiert und während Leistungstests erfolgreich erprobt wurde.
Einschränkungen
Die Analyse der Amacont-Architektur beschränkt sich hauptsächlich auf Bereiche, welche für Tests und eine Transformator-Erstellung benötigt werden. Sie stellt daher keinen Anspruch auf Vollständigkeit.
Die Tests umfassten die am Dokument-Generierungsprozess beteiligten Transformatoren, so dass diese isoliert von äußeren Einflussfaktoren stattfinden sollten. Dass in diesem Zusammenhang die Architektur ähnlich statischen Tests partiell verifiziert und auf Schwachstellen in der Robustheit einzelner Elemente hingewiesen wurde, sollte nicht vordergründig verfolgt werden, weswegen auch hier kein Vollständigkeitsanspruch erhebar ist.
Die Entwicklung eines Transformators baut auf bereits existierenden Methoden des Cocoon-Frameworks sowie der W3C auf und wurde anhand einer XSLT-Vorlage ausgeführt. Für Schwächen und semantische Programmierfehler dieser Basis wird ebenso keine Verantwortung übernommen (vergl. Kapitel 5.3).
Schwierigkeiten
Bei der Bearbeitung einer neuartigen und auf innovativen Entwicklungen beruhenden Aufgabe lassen sich Probleme nie vollständig vermeiden. So sind erwartungsgemäß aufgrund der Spezialisierung des untersuchten Systems wenige Unterlagen zu passenden freien Testtools vorhanden, was jedoch durch den vom Lehrstuhl genutzten Watch-Transformator sehr gut gelöst werden konnte. Die Isolierung einzelner Arbeitsprozesse innerhalb der Amacont-Architektur stellte aufgrund ihrer Komplexität ebenfalls eine Schwierigkeit dar, welche jedoch ebenfalls im Erstellungsverlauf gelöst wurde. Die Benutzermodell-Rücksetzung zu Testzwecken ist derzeit recht kompliziert, konnte aber, wie auch die Umgehung des Cocoon Session-Managements, erfüllt werden. Komponenten wie der trainCDL4-Transformator reagieren sehr sensibel auf Leerzeichen innerhalb der Request-XML-Struktur, was deren Bearbeitung mit externen Programmen erschwert. Ebenfalls traten Probleme bei der Nutzung exotischer Browser wie Mozilla Firefox auf. Leider konnten die Performance-Tests nicht durch das sehr interessante Hyades Framework durchgeführt werden, da dieses aus nicht nachvollziehbaren Gründen und trotz mehrmaliger Neuinstallation bei der Test-Generierung Laufzeitfehler verursachte. Es wurde JMeter als vergleichbarer Ersatz und bewährtes Testtool herangezogen. Tests mit verschiedenen Nutzeranzahlen werden schnellstmöglich erneut ausgeführt, so dass zur Verteidigung dieser Arbeit ebenfalls betreffende Resultate vorliegen.
Ergebnisse
Mit der Bearbeitung der gestellten Belegaufgabe entstand eine Vielzahl aussagekräftiger Ergebnisse. So wurde eine Übersicht aktueller Methoden der Softwaretestung erarbeitet, welche in Äquivalenzklassen eingeteilt und an geeigneten Stellen mit Vertretern des OpenSource-Umfeldes untermauert werden konnte. Auf zwei positive Vertreter wurde genauer eingegangen, wobei Jakarta JMeter (Apache Software Foundation) den Quasi-Standard für Blackbox-Tests darstellt und das unter der CPL-Lizenz erstellte Hyades Framework die Vorteile des Eclipse IDE zur allumfassenden und vielseitigen Entwicklungsumgebung steigert.
Fortführend konnten geeignete Testpläne auf die Amacont-Architektur angepasst und mit Hilfe von JMeter ausgeführt werden. Die dabei entstandenen Messergebnisse wurden interpretiert, wobei beispielsweise eine exponentielle Belastungssteigerung innerhalb der Dokumentengröße prägnant hervortrat. Neben der Identifizierung der Schwachstelle Ama2xHTML-Stylesheet konnten Optimierungsvorschläge erarbeitet und ein javabasierter Beispiel-Transformator erstellt werden. Dieser ermöglicht eine deutliche Performancesteigerung gegenüber der Anfangskonfiguration, unterstützt ebenso die zyklische Parameter-Abarbeitung zur Cache-Generierung und ist damit eine Aufwertung der Systemarchitektur.
Ausblick
Das Amacont-Projekt ist richtungweisend auf dem Gebiet der XML-basierten adaptiven Dokumenten-Generierungssysteme. Es baut tiefgründig auf ein freies und aussichtsreiches Framework-System auf und erfüllt eine Vielzahl derzeit vorhandener Standards. Um dabei eine zu statischen Websystemen vergleichbare Performance erreichen zu können, sollen an dieser Stelle vier isolierte Untersuchungsrichtungen rekapituliert werden.
Teiltransformierte Dokumente der Pipeline können für Nutzer der gleichen Äquivalenzklasse zwischengespeichert werden, um in diesem Fall den Generierungsprozess zu verkürzen und Ressourcen einzusparen. Diese erfolgsversprechende Lösung ist sowohl bei der Logik-Anpassung der Endgeräte als auch in Kombination mit der Einführung eines Recommender-Systems anwendbar. Dadurch werden Nutzer nach ihren persönlichen Präferenzen gruppiert und dementsprechende Pipeline-Zwischenschritte gecached. Der bearbeitete evalLogic-Transformator stellt dafür eine gute Basis dar.
Die Umwandlung weiterer XSLT-Stylesheets, wie das der xHTML-Übersetzung, in Javabasierte Transformatoren erhöht ebenfalls die Performance spürbar. Durch die clientseitige Auslagerung von Adaptions- und Präsentationseigenschaften mit Hilfe von “Cascading Stylesheets” und JavaScript-basierten Algorithmen kann bei Nutzern weit verbreiteter Browser (Bsp.: Microsoft Internet Explorer 5.x) eine weitere Entlastung der Serverarchitektur erfolgen.
Arbeitsschritte
Auf den vorangegangenen Seiten wurde zunächst der Versuch der Einordnung des Amacont-Projektes in die Gesamtstruktur webbasierter Softwaresysteme unternommen und deren allgemeinen Netzwerkstrukturen, Systemkomponenten und Arbeitsabläufe näher vorgestellt. Die Recherche nach Grundlagen für geeignete Testmethoden führte zu der Einteilung in statische sowie dynamische Whitebox-, Greybox- und Blackbox-Tests. Gekoppelt mit den Erkenntnissen des ersten Kapitels ließen sich daraus Ansatzpunkte für Tests innerhalb des aktuellen Kontextes herausstellen. Die Recherche und Installation dafür geeigneter Programme, welche vornehmlich aus dem Bereich der freien Software stammen, und deren Einordnung in das erarbeitete Schema stellten den nächsten Schwerpunkt dar.
Auf die Vorstellung der Komponenten und Arbeitsabläufe innerhalb der Amacont-Architektur folgte nun die Ermittlung verschiedener die Performance beeinflussender Parameter. Aufbauend darauf wurden Testpläne zur Informationsgewinnung des Performanz- und Lastverhaltens aufgestellt und entsprechend durchgeführt. Engpässe konnten dadurch identifiziert und mögliche Lösungsansätze sowie Optimierungsmethoden abgeleitet werden. Den Abschluss bildete die Umsetzung des auf einer XSLT-Vorlage beruhenden Cocoon-Transformators, welcher in die Amacont Systemarchitektur implementiert und während Leistungstests erfolgreich erprobt wurde.
Einschränkungen
Die Analyse der Amacont-Architektur beschränkt sich hauptsächlich auf Bereiche, welche für Tests und eine Transformator-Erstellung benötigt werden. Sie stellt daher keinen Anspruch auf Vollständigkeit.
Die Tests umfassten die am Dokument-Generierungsprozess beteiligten Transformatoren, so dass diese isoliert von äußeren Einflussfaktoren stattfinden sollten. Dass in diesem Zusammenhang die Architektur ähnlich statischen Tests partiell verifiziert und auf Schwachstellen in der Robustheit einzelner Elemente hingewiesen wurde, sollte nicht vordergründig verfolgt werden, weswegen auch hier kein Vollständigkeitsanspruch erhebar ist.
Die Entwicklung eines Transformators baut auf bereits existierenden Methoden des Cocoon-Frameworks sowie der W3C auf und wurde anhand einer XSLT-Vorlage ausgeführt. Für Schwächen und semantische Programmierfehler dieser Basis wird ebenso keine Verantwortung übernommen (vergl. Kapitel 5.3).
Schwierigkeiten
Bei der Bearbeitung einer neuartigen und auf innovativen Entwicklungen beruhenden Aufgabe lassen sich Probleme nie vollständig vermeiden. So sind erwartungsgemäß aufgrund der Spezialisierung des untersuchten Systems wenige Unterlagen zu passenden freien Testtools vorhanden, was jedoch durch den vom Lehrstuhl genutzten Watch-Transformator sehr gut gelöst werden konnte. Die Isolierung einzelner Arbeitsprozesse innerhalb der Amacont-Architektur stellte aufgrund ihrer Komplexität ebenfalls eine Schwierigkeit dar, welche jedoch ebenfalls im Erstellungsverlauf gelöst wurde. Die Benutzermodell-Rücksetzung zu Testzwecken ist derzeit recht kompliziert, konnte aber, wie auch die Umgehung des Cocoon Session-Managements, erfüllt werden. Komponenten wie der trainCDL4-Transformator reagieren sehr sensibel auf Leerzeichen innerhalb der Request-XML-Struktur, was deren Bearbeitung mit externen Programmen erschwert. Ebenfalls traten Probleme bei der Nutzung exotischer Browser wie Mozilla Firefox auf. Leider konnten die Performance-Tests nicht durch das sehr interessante Hyades Framework durchgeführt werden, da dieses aus nicht nachvollziehbaren Gründen und trotz mehrmaliger Neuinstallation bei der Test-Generierung Laufzeitfehler verursachte. Es wurde JMeter als vergleichbarer Ersatz und bewährtes Testtool herangezogen. Tests mit verschiedenen Nutzeranzahlen werden schnellstmöglich erneut ausgeführt, so dass zur Verteidigung dieser Arbeit ebenfalls betreffende Resultate vorliegen.
Ergebnisse
Mit der Bearbeitung der gestellten Belegaufgabe entstand eine Vielzahl aussagekräftiger Ergebnisse. So wurde eine Übersicht aktueller Methoden der Softwaretestung erarbeitet, welche in Äquivalenzklassen eingeteilt und an geeigneten Stellen mit Vertretern des OpenSource-Umfeldes untermauert werden konnte. Auf zwei positive Vertreter wurde genauer eingegangen, wobei Jakarta JMeter (Apache Software Foundation) den Quasi-Standard für Blackbox-Tests darstellt und das unter der CPL-Lizenz erstellte Hyades Framework die Vorteile des Eclipse IDE zur allumfassenden und vielseitigen Entwicklungsumgebung steigert.
Fortführend konnten geeignete Testpläne auf die Amacont-Architektur angepasst und mit Hilfe von JMeter ausgeführt werden. Die dabei entstandenen Messergebnisse wurden interpretiert, wobei beispielsweise eine exponentielle Belastungssteigerung innerhalb der Dokumentengröße prägnant hervortrat. Neben der Identifizierung der Schwachstelle Ama2xHTML-Stylesheet konnten Optimierungsvorschläge erarbeitet und ein javabasierter Beispiel-Transformator erstellt werden. Dieser ermöglicht eine deutliche Performancesteigerung gegenüber der Anfangskonfiguration, unterstützt ebenso die zyklische Parameter-Abarbeitung zur Cache-Generierung und ist damit eine Aufwertung der Systemarchitektur.
Ausblick
Das Amacont-Projekt ist richtungweisend auf dem Gebiet der XML-basierten adaptiven Dokumenten-Generierungssysteme. Es baut tiefgründig auf ein freies und aussichtsreiches Framework-System auf und erfüllt eine Vielzahl derzeit vorhandener Standards. Um dabei eine zu statischen Websystemen vergleichbare Performance erreichen zu können, sollen an dieser Stelle vier isolierte Untersuchungsrichtungen rekapituliert werden.
Teiltransformierte Dokumente der Pipeline können für Nutzer der gleichen Äquivalenzklasse zwischengespeichert werden, um in diesem Fall den Generierungsprozess zu verkürzen und Ressourcen einzusparen. Diese erfolgsversprechende Lösung ist sowohl bei der Logik-Anpassung der Endgeräte als auch in Kombination mit der Einführung eines Recommender-Systems anwendbar. Dadurch werden Nutzer nach ihren persönlichen Präferenzen gruppiert und dementsprechende Pipeline-Zwischenschritte gecached. Der bearbeitete evalLogic-Transformator stellt dafür eine gute Basis dar.
Die Umwandlung weiterer XSLT-Stylesheets, wie das der xHTML-Übersetzung, in Javabasierte Transformatoren erhöht ebenfalls die Performance spürbar. Durch die clientseitige Auslagerung von Adaptions- und Präsentationseigenschaften mit Hilfe von “Cascading Stylesheets” und JavaScript-basierten Algorithmen kann bei Nutzern weit verbreiteter Browser (Bsp.: Microsoft Internet Explorer 5.x) eine weitere Entlastung der Serverarchitektur erfolgen.
Arbeitsschritte
Auf den vorangegangenen Seiten wurde zunächst der Versuch der Einordnung des Amacont-Projektes in die Gesamtstruktur webbasierter Softwaresysteme unternommen und deren allgemeinen Netzwerkstrukturen, Systemkomponenten und Arbeitsabläufe näher vorgestellt. Die Recherche nach Grundlagen für geeignete Testmethoden führte zu der Einteilung in statische sowie dynamische Whitebox-, Greybox- und Blackbox-Tests. Gekoppelt mit den Erkenntnissen des ersten Kapitels ließen sich daraus Ansatzpunkte für Tests innerhalb des aktuellen Kontextes herausstellen. Die Recherche und Installation dafür geeigneter Programme, welche vornehmlich aus dem Bereich der freien Software stammen, und deren Einordnung in das erarbeitete Schema stellten den nächsten Schwerpunkt dar.
Auf die Vorstellung der Komponenten und Arbeitsabläufe innerhalb der Amacont-Architektur folgte nun die Ermittlung verschiedener die Performance beeinflussender Parameter. Aufbauend darauf wurden Testpläne zur Informationsgewinnung des Performanz- und Lastverhaltens aufgestellt und entsprechend durchgeführt. Engpässe konnten dadurch identifiziert und mögliche Lösungsansätze sowie Optimierungsmethoden abgeleitet werden. Den Abschluss bildete die Umsetzung des auf einer XSLT-Vorlage beruhenden Cocoon-Transformators, welcher in die Amacont Systemarchitektur implementiert und während Leistungstests erfolgreich erprobt wurde.
Einschränkungen
Die Analyse der Amacont-Architektur beschränkt sich hauptsächlich auf Bereiche, welche für Tests und eine Transformator-Erstellung benötigt werden. Sie stellt daher keinen Anspruch auf Vollständigkeit.
Die Tests umfassten die am Dokument-Generierungsprozess beteiligten Transformatoren, so dass diese isoliert von äußeren Einflussfaktoren stattfinden sollten. Dass in diesem Zusammenhang die Architektur ähnlich statischen Tests partiell verifiziert und auf Schwachstellen in der Robustheit einzelner Elemente hingewiesen wurde, sollte nicht vordergründig verfolgt werden, weswegen auch hier kein Vollständigkeitsanspruch erhebar ist.
Die Entwicklung eines Transformators baut auf bereits existierenden Methoden des Cocoon-Frameworks sowie der W3C auf und wurde anhand einer XSLT-Vorlage ausgeführt. Für Schwächen und semantische Programmierfehler dieser Basis wird ebenso keine Verantwortung übernommen (vergl. Kapitel 5.3).
Schwierigkeiten
Bei der Bearbeitung einer neuartigen und auf innovativen Entwicklungen beruhenden Aufgabe lassen sich Probleme nie vollständig vermeiden. So sind erwartungsgemäß aufgrund der Spezialisierung des untersuchten Systems wenige Unterlagen zu passenden freien Testtools vorhanden, was jedoch durch den vom Lehrstuhl genutzten Watch-Transformator sehr gut gelöst werden konnte. Die Isolierung einzelner Arbeitsprozesse innerhalb der Amacont-Architektur stellte aufgrund ihrer Komplexität ebenfalls eine Schwierigkeit dar, welche jedoch ebenfalls im Erstellungsverlauf gelöst wurde. Die Benutzermodell-Rücksetzung zu Testzwecken ist derzeit recht kompliziert, konnte aber, wie auch die Umgehung des Cocoon Session-Managements, erfüllt werden. Komponenten wie der trainCDL4-Transformator reagieren sehr sensibel auf Leerzeichen innerhalb der Request-XML-Struktur, was deren Bearbeitung mit externen Programmen erschwert. Ebenfalls traten Probleme bei der Nutzung exotischer Browser wie Mozilla Firefox auf. Leider konnten die Performance-Tests nicht durch das sehr interessante Hyades Framework durchgeführt werden, da dieses aus nicht nachvollziehbaren Gründen und trotz mehrmaliger Neuinstallation bei der Test-Generierung Laufzeitfehler verursachte. Es wurde JMeter als vergleichbarer Ersatz und bewährtes Testtool herangezogen. Tests mit verschiedenen Nutzeranzahlen werden schnellstmöglich erneut ausgeführt, so dass zur Verteidigung dieser Arbeit ebenfalls betreffende Resultate vorliegen.
Ergebnisse
Mit der Bearbeitung der gestellten Belegaufgabe entstand eine Vielzahl aussagekräftiger Ergebnisse. So wurde eine Übersicht aktueller Methoden der Softwaretestung erarbeitet, welche in Äquivalenzklassen eingeteilt und an geeigneten Stellen mit Vertretern des OpenSource-Umfeldes untermauert werden konnte. Auf zwei positive Vertreter wurde genauer eingegangen, wobei Jakarta JMeter (Apache Software Foundation) den Quasi-Standard für Blackbox-Tests darstellt und das unter der CPL-Lizenz erstellte Hyades Framework die Vorteile des Eclipse IDE zur allumfassenden und vielseitigen Entwicklungsumgebung steigert.
Fortführend konnten geeignete Testpläne auf die Amacont-Architektur angepasst und mit Hilfe von JMeter ausgeführt werden. Die dabei entstandenen Messergebnisse wurden interpretiert, wobei beispielsweise eine exponentielle Belastungssteigerung innerhalb der Dokumentengröße prägnant hervortrat. Neben der Identifizierung der Schwachstelle Ama2xHTML-Stylesheet konnten Optimierungsvorschläge erarbeitet und ein javabasierter Beispiel-Transformator erstellt werden. Dieser ermöglicht eine deutliche Performancesteigerung gegenüber der Anfangskonfiguration, unterstützt ebenso die zyklische Parameter-Abarbeitung zur Cache-Generierung und ist damit eine Aufwertung der Systemarchitektur.
Ausblick
Das Amacont-Projekt ist richtungweisend auf dem Gebiet der XML-basierten adaptiven Dokumenten-Generierungssysteme. Es baut tiefgründig auf ein freies und aussichtsreiches Framework-System auf und erfüllt eine Vielzahl derzeit vorhandener Standards. Um dabei eine zu statischen Websystemen vergleichbare Performance erreichen zu können, sollen an dieser Stelle vier isolierte Untersuchungsrichtungen rekapituliert werden.
Teiltransformierte Dokumente der Pipeline können für Nutzer der gleichen Äquivalenzklasse zwischengespeichert werden, um in diesem Fall den Generierungsprozess zu verkürzen und Ressourcen einzusparen. Diese erfolgsversprechende Lösung ist sowohl bei der Logik-Anpassung der Endgeräte als auch in Kombination mit der Einführung eines Recommender-Systems anwendbar. Dadurch werden Nutzer nach ihren persönlichen Präferenzen gruppiert und dementsprechende Pipeline-Zwischenschritte gecached. Der bearbeitete evalLogic-Transformator stellt dafür eine gute Basis dar.
Die Umwandlung weiterer XSLT-Stylesheets, wie das der xHTML-Übersetzung, in Javabasierte Transformatoren erhöht ebenfalls die Performance spürbar. Durch die clientseitige Auslagerung von Adaptions- und Präsentationseigenschaften mit Hilfe von “Cascading Stylesheets” und JavaScript-basierten Algorithmen kann bei Nutzern weit verbreiteter Browser (Bsp.: Microsoft Internet Explorer 5.x) eine weitere Entlastung der Serverarchitektur erfolgen.
Arbeitsschritte
Auf den vorangegangenen Seiten wurde zunächst der Versuch der Einordnung des Amacont-Projektes in die Gesamtstruktur webbasierter Softwaresysteme unternommen und deren allgemeinen Netzwerkstrukturen, Systemkomponenten und Arbeitsabläufe näher vorgestellt. Die Recherche nach Grundlagen für geeignete Testmethoden führte zu der Einteilung in statische sowie dynamische Whitebox-, Greybox- und Blackbox-Tests. Gekoppelt mit den Erkenntnissen des ersten Kapitels ließen sich daraus Ansatzpunkte für Tests innerhalb des aktuellen Kontextes herausstellen. Die Recherche und Installation dafür geeigneter Programme, welche vornehmlich aus dem Bereich der freien Software stammen, und deren Einordnung in das erarbeitete Schema stellten den nächsten Schwerpunkt dar.
Auf die Vorstellung der Komponenten und Arbeitsabläufe innerhalb der Amacont-Architektur folgte nun die Ermittlung verschiedener die Performance beeinflussender Parameter. Aufbauend darauf wurden Testpläne zur Informationsgewinnung des Performanz- und Lastverhaltens aufgestellt und entsprechend durchgeführt. Engpässe konnten dadurch identifiziert und mögliche Lösungsansätze sowie Optimierungsmethoden abgeleitet werden. Den Abschluss bildete die Umsetzung des auf einer XSLT-Vorlage beruhenden Cocoon-Transformators, welcher in die Amacont Systemarchitektur implementiert und während Leistungstests erfolgreich erprobt wurde.
Einschränkungen
Die Analyse der Amacont-Architektur beschränkt sich hauptsächlich auf Bereiche, welche für Tests und eine Transformator-Erstellung benötigt werden. Sie stellt daher keinen Anspruch auf Vollständigkeit.
Die Tests umfassten die am Dokument-Generierungsprozess beteiligten Transformatoren, so dass diese isoliert von äußeren Einflussfaktoren stattfinden sollten. Dass in diesem Zusammenhang die Architektur ähnlich statischen Tests partiell verifiziert und auf Schwachstellen in der Robustheit einzelner Elemente hingewiesen wurde, sollte nicht vordergründig verfolgt werden, weswegen auch hier kein Vollständigkeitsanspruch erhebar ist.
Die Entwicklung eines Transformators baut auf bereits existierenden Methoden des Cocoon-Frameworks sowie der W3C auf und wurde anhand einer XSLT-Vorlage ausgeführt. Für Schwächen und semantische Programmierfehler dieser Basis wird ebenso keine Verantwortung übernommen (vergl. Kapitel 5.3).
Schwierigkeiten
Bei der Bearbeitung einer neuartigen und auf innovativen Entwicklungen beruhenden Aufgabe lassen sich Probleme nie vollständig vermeiden. So sind erwartungsgemäß aufgrund der Spezialisierung des untersuchten Systems wenige Unterlagen zu passenden freien Testtools vorhanden, was jedoch durch den vom Lehrstuhl genutzten Watch-Transformator sehr gut gelöst werden konnte. Die Isolierung einzelner Arbeitsprozesse innerhalb der Amacont-Architektur stellte aufgrund ihrer Komplexität ebenfalls eine Schwierigkeit dar, welche jedoch ebenfalls im Erstellungsverlauf gelöst wurde. Die Benutzermodell-Rücksetzung zu Testzwecken ist derzeit recht kompliziert, konnte aber, wie auch die Umgehung des Cocoon Session-Managements, erfüllt werden. Komponenten wie der trainCDL4-Transformator reagieren sehr sensibel auf Leerzeichen innerhalb der Request-XML-Struktur, was deren Bearbeitung mit externen Programmen erschwert. Ebenfalls traten Probleme bei der Nutzung exotischer Browser wie Mozilla Firefox auf. Leider konnten die Performance-Tests nicht durch das sehr interessante Hyades Framework durchgeführt werden, da dieses aus nicht nachvollziehbaren Gründen und trotz mehrmaliger Neuinstallation bei der Test-Generierung Laufzeitfehler verursachte. Es wurde JMeter als vergleichbarer Ersatz und bewährtes Testtool herangezogen. Tests mit verschiedenen Nutzeranzahlen werden schnellstmöglich erneut ausgeführt, so dass zur Verteidigung dieser Arbeit ebenfalls betreffende Resultate vorliegen.
Ergebnisse
Mit der Bearbeitung der gestellten Belegaufgabe entstand eine Vielzahl aussagekräftiger Ergebnisse. So wurde eine Übersicht aktueller Methoden der Softwaretestung erarbeitet, welche in Äquivalenzklassen eingeteilt und an geeigneten Stellen mit Vertretern des OpenSource-Umfeldes untermauert werden konnte. Auf zwei positive Vertreter wurde genauer eingegangen, wobei Jakarta JMeter (Apache Software Foundation) den Quasi-Standard für Blackbox-Tests darstellt und das unter der CPL-Lizenz erstellte Hyades Framework die Vorteile des Eclipse IDE zur allumfassenden und vielseitigen Entwicklungsumgebung steigert.
Fortführend konnten geeignete Testpläne auf die Amacont-Architektur angepasst und mit Hilfe von JMeter ausgeführt werden. Die dabei entstandenen Messergebnisse wurden interpretiert, wobei beispielsweise eine exponentielle Belastungssteigerung innerhalb der Dokumentengröße prägnant hervortrat. Neben der Identifizierung der Schwachstelle Ama2xHTML-Stylesheet konnten Optimierungsvorschläge erarbeitet und ein javabasierter Beispiel-Transformator erstellt werden. Dieser ermöglicht eine deutliche Performancesteigerung gegenüber der Anfangskonfiguration, unterstützt ebenso die zyklische Parameter-Abarbeitung zur Cache-Generierung und ist damit eine Aufwertung der Systemarchitektur.
Ausblick
Das Amacont-Projekt ist richtungweisend auf dem Gebiet der XML-basierten adaptiven Dokumenten-Generierungssysteme. Es baut tiefgründig auf ein freies und aussichtsreiches Framework-System auf und erfüllt eine Vielzahl derzeit vorhandener Standards. Um dabei eine zu statischen Websystemen vergleichbare Performance erreichen zu können, sollen an dieser Stelle vier isolierte Untersuchungsrichtungen rekapituliert werden.
Teiltransformierte Dokumente der Pipeline können für Nutzer der gleichen Äquivalenzklasse zwischengespeichert werden, um in diesem Fall den Generierungsprozess zu verkürzen und Ressourcen einzusparen. Diese erfolgsversprechende Lösung ist sowohl bei der Logik-Anpassung der Endgeräte als auch in Kombination mit der Einführung eines Recommender-Systems anwendbar. Dadurch werden Nutzer nach ihren persönlichen Präferenzen gruppiert und dementsprechende Pipeline-Zwischenschritte gecached. Der bearbeitete evalLogic-Transformator stellt dafür eine gute Basis dar.
Die Umwandlung weiterer XSLT-Stylesheets, wie das der xHTML-Übersetzung, in Javabasierte Transformatoren erhöht ebenfalls die Performance spürbar. Durch die clientseitige Auslagerung von Adaptions- und Präsentationseigenschaften mit Hilfe von “Cascading Stylesheets” und JavaScript-basierten Algorithmen kann bei Nutzern weit verbreiteter Browser (Bsp.: Microsoft Internet Explorer 5.x) eine weitere Entlastung der Serverarchitektur erfolgen.
Arbeitsschritte
Auf den vorangegangenen Seiten wurde zunächst der Versuch der Einordnung des Amacont-Projektes in die Gesamtstruktur webbasierter Softwaresysteme unternommen und deren allgemeinen Netzwerkstrukturen, Systemkomponenten und Arbeitsabläufe näher vorgestellt. Die Recherche nach Grundlagen für geeignete Testmethoden führte zu der Einteilung in statische sowie dynamische Whitebox-, Greybox- und Blackbox-Tests. Gekoppelt mit den Erkenntnissen des ersten Kapitels ließen sich daraus Ansatzpunkte für Tests innerhalb des aktuellen Kontextes herausstellen. Die Recherche und Installation dafür geeigneter Programme, welche vornehmlich aus dem Bereich der freien Software stammen, und deren Einordnung in das erarbeitete Schema stellten den nächsten Schwerpunkt dar.
Auf die Vorstellung der Komponenten und Arbeitsabläufe innerhalb der Amacont-Architektur folgte nun die Ermittlung verschiedener die Performance beeinflussender Parameter. Aufbauend darauf wurden Testpläne zur Informationsgewinnung des Performanz- und Lastverhaltens aufgestellt und entsprechend durchgeführt. Engpässe konnten dadurch identifiziert und mögliche Lösungsansätze sowie Optimierungsmethoden abgeleitet werden. Den Abschluss bildete die Umsetzung des auf einer XSLT-Vorlage beruhenden Cocoon-Transformators, welcher in die Amacont Systemarchitektur implementiert und während Leistungstests erfolgreich erprobt wurde.
Einschränkungen
Die Analyse der Amacont-Architektur beschränkt sich hauptsächlich auf Bereiche, welche für Tests und eine Transformator-Erstellung benötigt werden. Sie stellt daher keinen Anspruch auf Vollständigkeit.
Die Tests umfassten die am Dokument-Generierungsprozess beteiligten Transformatoren, so dass diese isoliert von äußeren Einflussfaktoren stattfinden sollten. Dass in diesem Zusammenhang die Architektur ähnlich statischen Tests partiell verifiziert und auf Schwachstellen in der Robustheit einzelner Elemente hingewiesen wurde, sollte nicht vordergründig verfolgt werden, weswegen auch hier kein Vollständigkeitsanspruch erhebar ist.
Die Entwicklung eines Transformators baut auf bereits existierenden Methoden des Cocoon-Frameworks sowie der W3C auf und wurde anhand einer XSLT-Vorlage ausgeführt. Für Schwächen und semantische Programmierfehler dieser Basis wird ebenso keine Verantwortung übernommen (vergl. Kapitel 5.3).
Schwierigkeiten
Bei der Bearbeitung einer neuartigen und auf innovativen Entwicklungen beruhenden Aufgabe lassen sich Probleme nie vollständig vermeiden. So sind erwartungsgemäß aufgrund der Spezialisierung des untersuchten Systems wenige Unterlagen zu passenden freien Testtools vorhanden, was jedoch durch den vom Lehrstuhl genutzten Watch-Transformator sehr gut gelöst werden konnte. Die Isolierung einzelner Arbeitsprozesse innerhalb der Amacont-Architektur stellte aufgrund ihrer Komplexität ebenfalls eine Schwierigkeit dar, welche jedoch ebenfalls im Erstellungsverlauf gelöst wurde. Die Benutzermodell-Rücksetzung zu Testzwecken ist derzeit recht kompliziert, konnte aber, wie auch die Umgehung des Cocoon Session-Managements, erfüllt werden. Komponenten wie der trainCDL4-Transformator reagieren sehr sensibel auf Leerzeichen innerhalb der Request-XML-Struktur, was deren Bearbeitung mit externen Programmen erschwert. Ebenfalls traten Probleme bei der Nutzung exotischer Browser wie Mozilla Firefox auf. Leider konnten die Performance-Tests nicht durch das sehr interessante Hyades Framework durchgeführt werden, da dieses aus nicht nachvollziehbaren Gründen und trotz mehrmaliger Neuinstallation bei der Test-Generierung Laufzeitfehler verursachte. Es wurde JMeter als vergleichbarer Ersatz und bewährtes Testtool herangezogen. Tests mit verschiedenen Nutzeranzahlen werden schnellstmöglich erneut ausgeführt, so dass zur Verteidigung dieser Arbeit ebenfalls betreffende Resultate vorliegen.
Ergebnisse
Mit der Bearbeitung der gestellten Belegaufgabe entstand eine Vielzahl aussagekräftiger Ergebnisse. So wurde eine Übersicht aktueller Methoden der Softwaretestung erarbeitet, welche in Äquivalenzklassen eingeteilt und an geeigneten Stellen mit Vertretern des OpenSource-Umfeldes untermauert werden konnte. Auf zwei positive Vertreter wurde genauer eingegangen, wobei Jakarta JMeter (Apache Software Foundation) den Quasi-Standard für Blackbox-Tests darstellt und das unter der CPL-Lizenz erstellte Hyades Framework die Vorteile des Eclipse IDE zur allumfassenden und vielseitigen Entwicklungsumgebung steigert.
Fortführend konnten geeignete Testpläne auf die Amacont-Architektur angepasst und mit Hilfe von JMeter ausgeführt werden. Die dabei entstandenen Messergebnisse wurden interpretiert, wobei beispielsweise eine exponentielle Belastungssteigerung innerhalb der Dokumentengröße prägnant hervortrat. Neben der Identifizierung der Schwachstelle Ama2xHTML-Stylesheet konnten Optimierungsvorschläge erarbeitet und ein javabasierter Beispiel-Transformator erstellt werden. Dieser ermöglicht eine deutliche Performancesteigerung gegenüber der Anfangskonfiguration, unterstützt ebenso die zyklische Parameter-Abarbeitung zur Cache-Generierung und ist damit eine Aufwertung der Systemarchitektur.
Ausblick
Das Amacont-Projekt ist richtungweisend auf dem Gebiet der XML-basierten adaptiven Dokumenten-Generierungssysteme. Es baut tiefgründig auf ein freies und aussichtsreiches Framework-System auf und erfüllt eine Vielzahl derzeit vorhandener Standards. Um dabei eine zu statischen Websystemen vergleichbare Performance erreichen zu können, sollen an dieser Stelle vier isolierte Untersuchungsrichtungen rekapituliert werden.
Teiltransformierte Dokumente der Pipeline können für Nutzer der gleichen Äquivalenzklasse zwischengespeichert werden, um in diesem Fall den Generierungsprozess zu verkürzen und Ressourcen einzusparen. Diese erfolgsversprechende Lösung ist sowohl bei der Logik-Anpassung der Endgeräte als auch in Kombination mit der Einführung eines Recommender-Systems anwendbar. Dadurch werden Nutzer nach ihren persönlichen Präferenzen gruppiert und dementsprechende Pipeline-Zwischenschritte gecached. Der bearbeitete evalLogic-Transformator stellt dafür eine gute Basis dar.
Die Umwandlung weiterer XSLT-Stylesheets, wie das der xHTML-Übersetzung, in Javabasierte Transformatoren erhöht ebenfalls die Performance spürbar. Durch die clientseitige Auslagerung von Adaptions- und Präsentationseigenschaften mit Hilfe von “Cascading Stylesheets” und JavaScript-basierten Algorithmen kann bei Nutzern weit verbreiteter Browser (Bsp.: Microsoft Internet Explorer 5.x) eine weitere Entlastung der Serverarchitektur erfolgen.
Arbeitsschritte
Auf den vorangegangenen Seiten wurde zunächst der Versuch der Einordnung des Amacont-Projektes in die Gesamtstruktur webbasierter Softwaresysteme unternommen und deren allgemeinen Netzwerkstrukturen, Systemkomponenten und Arbeitsabläufe näher vorgestellt. Die Recherche nach Grundlagen für geeignete Testmethoden führte zu der Einteilung in statische sowie dynamische Whitebox-, Greybox- und Blackbox-Tests. Gekoppelt mit den Erkenntnissen des ersten Kapitels ließen sich daraus Ansatzpunkte für Tests innerhalb des aktuellen Kontextes herausstellen. Die Recherche und Installation dafür geeigneter Programme, welche vornehmlich aus dem Bereich der freien Software stammen, und deren Einordnung in das erarbeitete Schema stellten den nächsten Schwerpunkt dar.
Auf die Vorstellung der Komponenten und Arbeitsabläufe innerhalb der Amacont-Architektur folgte nun die Ermittlung verschiedener die Performance beeinflussender Parameter. Aufbauend darauf wurden Testpläne zur Informationsgewinnung des Performanz- und Lastverhaltens aufgestellt und entsprechend durchgeführt. Engpässe konnten dadurch identifiziert und mögliche Lösungsansätze sowie Optimierungsmethoden abgeleitet werden. Den Abschluss bildete die Umsetzung des auf einer XSLT-Vorlage beruhenden Cocoon-Transformators, welcher in die Amacont Systemarchitektur implementiert und während Leistungstests erfolgreich erprobt wurde.
Einschränkungen
Die Analyse der Amacont-Architektur beschränkt sich hauptsächlich auf Bereiche, welche für Tests und eine Transformator-Erstellung benötigt werden. Sie stellt daher keinen Anspruch auf Vollständigkeit.
Die Tests umfassten die am Dokument-Generierungsprozess beteiligten Transformatoren, so dass diese isoliert von äußeren Einflussfaktoren stattfinden sollten. Dass in diesem Zusammenhang die Architektur ähnlich statischen Tests partiell verifiziert und auf Schwachstellen in der Robustheit einzelner Elemente hingewiesen wurde, sollte nicht vordergründig verfolgt werden, weswegen auch hier kein Vollständigkeitsanspruch erhebar ist.
Die Entwicklung eines Transformators baut auf bereits existierenden Methoden des Cocoon-Frameworks sowie der W3C auf und wurde anhand einer XSLT-Vorlage ausgeführt. Für Schwächen und semantische Programmierfehler dieser Basis wird ebenso keine Verantwortung übernommen (vergl. Kapitel 5.3).
Schwierigkeiten
Bei der Bearbeitung einer neuartigen und auf innovativen Entwicklungen beruhenden Aufgabe lassen sich Probleme nie vollständig vermeiden. So sind erwartungsgemäß aufgrund der Spezialisierung des untersuchten Systems wenige Unterlagen zu passenden freien Testtools vorhanden, was jedoch durch den vom Lehrstuhl genutzten Watch-Transformator sehr gut gelöst werden konnte. Die Isolierung einzelner Arbeitsprozesse innerhalb der Amacont-Architektur stellte aufgrund ihrer Komplexität ebenfalls eine Schwierigkeit dar, welche jedoch ebenfalls im Erstellungsverlauf gelöst wurde. Die Benutzermodell-Rücksetzung zu Testzwecken ist derzeit recht kompliziert, konnte aber, wie auch die Umgehung des Cocoon Session-Managements, erfüllt werden. Komponenten wie der trainCDL4-Transformator reagieren sehr sensibel auf Leerzeichen innerhalb der Request-XML-Struktur, was deren Bearbeitung mit externen Programmen erschwert. Ebenfalls traten Probleme bei der Nutzung exotischer Browser wie Mozilla Firefox auf. Leider konnten die Performance-Tests nicht durch das sehr interessante Hyades Framework durchgeführt werden, da dieses aus nicht nachvollziehbaren Gründen und trotz mehrmaliger Neuinstallation bei der Test-Generierung Laufzeitfehler verursachte. Es wurde JMeter als vergleichbarer Ersatz und bewährtes Testtool herangezogen. Tests mit verschiedenen Nutzeranzahlen werden schnellstmöglich erneut ausgeführt, so dass zur Verteidigung dieser Arbeit ebenfalls betreffende Resultate vorliegen.
Ergebnisse
Mit der Bearbeitung der gestellten Belegaufgabe entstand eine Vielzahl aussagekräftiger Ergebnisse. So wurde eine Übersicht aktueller Methoden der Softwaretestung erarbeitet, welche in Äquivalenzklassen eingeteilt und an geeigneten Stellen mit Vertretern des OpenSource-Umfeldes untermauert werden konnte. Auf zwei positive Vertreter wurde genauer eingegangen, wobei Jakarta JMeter (Apache Software Foundation) den Quasi-Standard für Blackbox-Tests darstellt und das unter der CPL-Lizenz erstellte Hyades Framework die Vorteile des Eclipse IDE zur allumfassenden und vielseitigen Entwicklungsumgebung steigert.
Fortführend konnten geeignete Testpläne auf die Amacont-Architektur angepasst und mit Hilfe von JMeter ausgeführt werden. Die dabei entstandenen Messergebnisse wurden interpretiert, wobei beispielsweise eine exponentielle Belastungssteigerung innerhalb der Dokumentengröße prägnant hervortrat. Neben der Identifizierung der Schwachstelle Ama2xHTML-Stylesheet konnten Optimierungsvorschläge erarbeitet und ein javabasierter Beispiel-Transformator erstellt werden. Dieser ermöglicht eine deutliche Performancesteigerung gegenüber der Anfangskonfiguration, unterstützt ebenso die zyklische Parameter-Abarbeitung zur Cache-Generierung und ist damit eine Aufwertung der Systemarchitektur.
Ausblick
Das Amacont-Projekt ist richtungweisend auf dem Gebiet der XML-basierten adaptiven Dokumenten-Generierungssysteme. Es baut tiefgründig auf ein freies und aussichtsreiches Framework-System auf und erfüllt eine Vielzahl derzeit vorhandener Standards. Um dabei eine zu statischen Websystemen vergleichbare Performance erreichen zu können, sollen an dieser Stelle vier isolierte Untersuchungsrichtungen rekapituliert werden.
Teiltransformierte Dokumente der Pipeline können für Nutzer der gleichen Äquivalenzklasse zwischengespeichert werden, um in diesem Fall den Generierungsprozess zu verkürzen und Ressourcen einzusparen. Diese erfolgsversprechende Lösung ist sowohl bei der Logik-Anpassung der Endgeräte als auch in Kombination mit der Einführung eines Recommender-Systems anwendbar. Dadurch werden Nutzer nach ihren persönlichen Präferenzen gruppiert und dementsprechende Pipeline-Zwischenschritte gecached. Der bearbeitete evalLogic-Transformator stellt dafür eine gute Basis dar.
Die Umwandlung weiterer XSLT-Stylesheets, wie das der xHTML-Übersetzung, in Javabasierte Transformatoren erhöht ebenfalls die Performance spürbar. Durch die clientseitige Auslagerung von Adaptions- und Präsentationseigenschaften mit Hilfe von “Cascading Stylesheets” und JavaScript-basierten Algorithmen kann bei Nutzern weit verbreiteter Browser (Bsp.: Microsoft Internet Explorer 5.x) eine weitere Entlastung der Serverarchitektur erfolgen.
Arbeitsschritte
Auf den vorangegangenen Seiten wurde zunächst der Versuch der Einordnung des Amacont-Projektes in die Gesamtstruktur webbasierter Softwaresysteme unternommen und deren allgemeinen Netzwerkstrukturen, Systemkomponenten und Arbeitsabläufe näher vorgestellt. Die Recherche nach Grundlagen für geeignete Testmethoden führte zu der Einteilung in statische sowie dynamische Whitebox-, Greybox- und Blackbox-Tests. Gekoppelt mit den Erkenntnissen des ersten Kapitels ließen sich daraus Ansatzpunkte für Tests innerhalb des aktuellen Kontextes herausstellen. Die Recherche und Installation dafür geeigneter Programme, welche vornehmlich aus dem Bereich der freien Software stammen, und deren Einordnung in das erarbeitete Schema stellten den nächsten Schwerpunkt dar.
Auf die Vorstellung der Komponenten und Arbeitsabläufe innerhalb der Amacont-Architektur folgte nun die Ermittlung verschiedener die Performance beeinflussender Parameter. Aufbauend darauf wurden Testpläne zur Informationsgewinnung des Performanz- und Lastverhaltens aufgestellt und entsprechend durchgeführt. Engpässe konnten dadurch identifiziert und mögliche Lösungsansätze sowie Optimierungsmethoden abgeleitet werden. Den Abschluss bildete die Umsetzung des auf einer XSLT-Vorlage beruhenden Cocoon-Transformators, welcher in die Amacont Systemarchitektur implementiert und während Leistungstests erfolgreich erprobt wurde.
Einschränkungen
Die Analyse der Amacont-Architektur beschränkt sich hauptsächlich auf Bereiche, welche für Tests und eine Transformator-Erstellung benötigt werden. Sie stellt daher keinen Anspruch auf Vollständigkeit.
Die Tests umfassten die am Dokument-Generierungsprozess beteiligten Transformatoren, so dass diese isoliert von äußeren Einflussfaktoren stattfinden sollten. Dass in diesem Zusammenhang die Architektur ähnlich statischen Tests partiell verifiziert und auf Schwachstellen in der Robustheit einzelner Elemente hingewiesen wurde, sollte nicht vordergründig verfolgt werden, weswegen auch hier kein Vollständigkeitsanspruch erhebar ist.
Die Entwicklung eines Transformators baut auf bereits existierenden Methoden des Cocoon-Frameworks sowie der W3C auf und wurde anhand einer XSLT-Vorlage ausgeführt. Für Schwächen und semantische Programmierfehler dieser Basis wird ebenso keine Verantwortung übernommen (vergl. Kapitel 5.3).
Schwierigkeiten
Bei der Bearbeitung einer neuartigen und auf innovativen Entwicklungen beruhenden Aufgabe lassen sich Probleme nie vollständig vermeiden. So sind erwartungsgemäß aufgrund der Spezialisierung des untersuchten Systems wenige Unterlagen zu passenden freien Testtools vorhanden, was jedoch durch den vom Lehrstuhl genutzten Watch-Transformator sehr gut gelöst werden konnte. Die Isolierung einzelner Arbeitsprozesse innerhalb der Amacont-Architektur stellte aufgrund ihrer Komplexität ebenfalls eine Schwierigkeit dar, welche jedoch ebenfalls im Erstellungsverlauf gelöst wurde. Die Benutzermodell-Rücksetzung zu Testzwecken ist derzeit recht kompliziert, konnte aber, wie auch die Umgehung des Cocoon Session-Managements, erfüllt werden. Komponenten wie der trainCDL4-Transformator reagieren sehr sensibel auf Leerzeichen innerhalb der Request-XML-Struktur, was deren Bearbeitung mit externen Programmen erschwert. Ebenfalls traten Probleme bei der Nutzung exotischer Browser wie Mozilla Firefox auf. Leider konnten die Performance-Tests nicht durch das sehr interessante Hyades Framework durchgeführt werden, da dieses aus nicht nachvollziehbaren Gründen und trotz mehrmaliger Neuinstallation bei der Test-Generierung Laufzeitfehler verursachte. Es wurde JMeter als vergleichbarer Ersatz und bewährtes Testtool herangezogen. Tests mit verschiedenen Nutzeranzahlen werden schnellstmöglich erneut ausgeführt, so dass zur Verteidigung dieser Arbeit ebenfalls betreffende Resultate vorliegen.
Ergebnisse
Mit der Bearbeitung der gestellten Belegaufgabe entstand eine Vielzahl aussagekräftiger Ergebnisse. So wurde eine Übersicht aktueller Methoden der Softwaretestung erarbeitet, welche in Äquivalenzklassen eingeteilt und an geeigneten Stellen mit Vertretern des OpenSource-Umfeldes untermauert werden konnte. Auf zwei positive Vertreter wurde genauer eingegangen, wobei Jakarta JMeter (Apache Software Foundation) den Quasi-Standard für Blackbox-Tests darstellt und das unter der CPL-Lizenz erstellte Hyades Framework die Vorteile des Eclipse IDE zur allumfassenden und vielseitigen Entwicklungsumgebung steigert.
Fortführend konnten geeignete Testpläne auf die Amacont-Architektur angepasst und mit Hilfe von JMeter ausgeführt werden. Die dabei entstandenen Messergebnisse wurden interpretiert, wobei beispielsweise eine exponentielle Belastungssteigerung innerhalb der Dokumentengröße prägnant hervortrat. Neben der Identifizierung der Schwachstelle Ama2xHTML-Stylesheet konnten Optimierungsvorschläge erarbeitet und ein javabasierter Beispiel-Transformator erstellt werden. Dieser ermöglicht eine deutliche Performancesteigerung gegenüber der Anfangskonfiguration, unterstützt ebenso die zyklische Parameter-Abarbeitung zur Cache-Generierung und ist damit eine Aufwertung der Systemarchitektur.
Ausblick
Das Amacont-Projekt ist richtungweisend auf dem Gebiet der XML-basierten adaptiven Dokumenten-Generierungssysteme. Es baut tiefgründig auf ein freies und aussichtsreiches Framework-System auf und erfüllt eine Vielzahl derzeit vorhandener Standards. Um dabei eine zu statischen Websystemen vergleichbare Performance erreichen zu können, sollen an dieser Stelle vier isolierte Untersuchungsrichtungen rekapituliert werden.
Teiltransformierte Dokumente der Pipeline können für Nutzer der gleichen Äquivalenzklasse zwischengespeichert werden, um in diesem Fall den Generierungsprozess zu verkürzen und Ressourcen einzusparen. Diese erfolgsversprechende Lösung ist sowohl bei der Logik-Anpassung der Endgeräte als auch in Kombination mit der Einführung eines Recommender-Systems anwendbar. Dadurch werden Nutzer nach ihren persönlichen Präferenzen gruppiert und dementsprechende Pipeline-Zwischenschritte gecached. Der bearbeitete evalLogic-Transformator stellt dafür eine gute Basis dar.
Die Umwandlung weiterer XSLT-Stylesheets, wie das der xHTML-Übersetzung, in Javabasierte Transformatoren erhöht ebenfalls die Performance spürbar. Durch die clientseitige Auslagerung von Adaptions- und Präsentationseigenschaften mit Hilfe von “Cascading Stylesheets” und JavaScript-basierten Algorithmen kann bei Nutzern weit verbreiteter Browser (Bsp.: Microsoft Internet Explorer 5.x) eine weitere Entlastung der Serverarchitektur erfolgen.