Bitte warten
Bitte installieren Sie den Flash Player, wenn kein E-Book erscheint.
Autor: Nikolaus Pohle
Fach: Informatik - Programmierung
Details
Tags: Informatik JAVA J2EE MVC XML XSLT Web Development
Jahr: 2002
Seiten: 73
Note: 1,0
Sprache: Deutsch
Dateigröße: 1731 KB
ISBN (E-Book): 978-3-638-13039-4
Die Entwicklung eines webbasierten Informationssystems für den Customer Support einen führenden Mobilfunkanbieter zeigt exemplarisch wie XSLT zur Umsetzung des MVC - Paradigmas in einem J2EE Environment zum Einsatz kommen kann. Im Stil einer best practice Referenzimplementierung für Web Development Projekte werden dabei alle Designentscheidungen argumentativ untermauert.
Textauszug (computergeneriert)
Einsatz aktueller XML/XSL – Technologien
im Rahmen der objektorientierten Entwicklung von
Internet Applikationen
Abschlussarbeit an der
Leibniz – Akademie Hannover
Im Rahmen des Studiengangs zum Betriebswirt (BA) FR Informationsmanagement
vorgelegt von
Nikolaus Pohle
Februar 2002
Betreuer: Dipl. – Ing. Andreas Rinne
Inhaltsverzeichnis:
1. Einleitung ... 7
1.1. Motivation ... 7
1.2. Ziel der Arbeit ... 7
1.3. Kapitelübersicht ... 8
2. Die Applikation „handyEngine“ ... 9
2.1. Umfeld und Intention ... 9
2.2. Funktionsumfang ... 11
2.2.1. Nutzer - Interface ... 11
2.2.2. Admin - Interface ... 14
3. XML und Substandards ... 16
3.1. Ziele und Begriffe ... 16
3.1.1. Entwicklung ... 16
3.1.2. Ziele von XML ... 17
3.1.3. wellformed XML ... 18
3.1.4. valid XML ... 19
3.1.5. Namespaces ... 20
3.2. Dokumenttypdefinition ... 21
3.2.1. DTD ... 21
3.2.2. XML Schema ... 21
3.3. Parser ... 23
3.3.1. Begriffsdefinition ... 23
3.3.2. SAX ... 24
3.3.3. DOM ... 25
3.3.4. Einbindung ... 26
3.4. XPath ... 28
3.5. XSL ... 30
3.5.1. Transformations ... 30
3.5.2. Formatting Objects ... 34
4. Architektur von Webapplikationen ... 36
4.1. Evolution ... 36
4.2. n-Tier Konzeption ... 41
4.2.1. Einordnung ... 41
4.2.2. Data- / Backend Tier ... 42
4.2.3. Application Server Tier ... 43
4.2.4. Presentation Layer ... 45
4.3. Model – View – Controller ... 48
5. Implementierung der Applikation „handyEngine“ ... 50
5.1. Vorbemerkungen ... 50
5.1.1. Abgrenzung ... 50
5.1.2. Runtime Environment ... 50
5.2. Design ... 52
5.2.1. Model ... 52
5.2.2. Controller ... 53
5.2.3. View ... 56
5.3. Projektstatus ... 60
6. Ausblick ... 62
6.1. WebServices ... 62
6.1.1. Herausforderung ... 62
6.1.2. SOAP ... 64
6.1.3. WSDL ... 65
6.1.4. UDDI ... 66
6.1.5. Schlussfolgerung ... 66
6.2. komponentenbasierte Frameworks ... 67
6.2.1. J2EE ... 67
6.2.2. .NET ... 68
6.2.3. SunONE ... 69
7. Schlussbetrachtung ... 70
Literaturverzeichnis ... 71
Anhang ... 72
Erklärung ... 73
Verzeichnis der Abbildungen:
Abbildung 1: Komponentendiagramm EHB ... 9
Abbildung 2: Screenshot handyEngine Startseite ... 11
Abbildung 3: Screenshots handyEngine Funktionsseiten ... 12
Abbildung 4: Sequenzdiagramm Modellreferenzierung ... 14
Abbildung 5: Screenshot handyEngine-Admin Interface ... 15
Abbildung 6: Aufbau eines XML Dokuments ... 18
Abbildung 7: SAX Parser-Events ... 24
Abbildung 8: Aufbau eines DOM ... 25
Abbildung 9: Syntax eines XPath-Ausdrucks ... 28
Abbildung 10: XSLT Einsatzbeispiele ... 30
Abbildung 11: Beispiel einer XSLT - Transformation ... 31
Abbildung 12: XSL Spezifikationen ... 33
Abbildung 13: Architektur eines XSL Prozessors ... 34
Abbildung 14: Ablauf eines XSL:FO Renderings ... 35
Abbildung 15: Prinzip der CGI Programmierung ... 37
Abbildung 16: fastCGI Einbindung ... 38
Abbildung 17: Architektur der Servlet-Schnittstelle ... 39
Abbildung 18: 3-tier Konzeption ... 42
Abbildung 19: Die Rolle des Application Server ... 44
Abbildung 20: Komposition eines Presentation Layers ... 45
Abbildung 21: Anforderungen an clientbasierte Technologien ... 46
Abbildung 22: MVC – Desing Pattern ... 49
Abbildung 23: Anwendungsfalldiagramm handyEngine ... 50
Abbildung 24: Klassendiagramm Datenbeans ... 53
Abbildung 25: Klassendiagramm Controller ... 54
Abbildung 26: Sequenzdiagramm Referenzierung ... 55
Abbildung 27: verteilte Anwendung ... 63
Abbildung 28: Aufbau einer SOAP Message ... 64
Abbildung 29: Einsatz von UDDI ... 66
Abbildung 30: Architektur des .NET Frameworks ... 68
Abbildung 31: Bestandteile des SunONE Frameworks ... 69
1. Einleitung
1.1. Motivation
Am 15.11.2001 wurde der Mikroprozessor 30 Jahre alt1 und am 13.01.2001 das World Wide Web 10 Jahre2. Betrachtet man rückblickend die exponentielle Entwicklung, die dieses Medium in der relativ kurzen Zeit sowohl quantitativ als auch qualitativ genommen hat, kann man eine Vorstellung davon entwickeln, welche Entwicklungssprünge wir in Zukunft erleben werden. Allein im Jahr 2001 wurden 195 RFC veröffentlicht3, die die Entwicklung von Webanwendungen direkt oder indirekt beeinflussen. Diese Situation ist freilich nicht ungewöhnlich, zumal im IT – Bereich. In ihrer Massivität stellt die Entwicklung jedoch eine neue Qualität dar, der mit adäquaten Methoden begegnet werden muss. Das der präferierte Ansatz zur Beherrschung der Situation selbst ein Standard ist, erscheint nur auf den ersten Blick seltsam: XML ist mit dem Anspruch entwickelt worden, als eine Art Metastandard zunächst die Syntax zu vereinheitlichen. Das dieses Ziel auf den ersten Blick eher bescheiden ausfällt, darf dessen enormen Nutzen nicht marginalisieren.
Trotz der Bemühung einer Vereinheitlichung ist vor allem im Onlinebereich eine stetige Zunahme der Komplexität von Anwendungen zu verzeichnen, zumal auch ein Metastandard wie XML implementiert und beherrscht werden muss. Dies ist vor allem der vielerorts angestrebten vollständig browserbasierten Bedienung von Unternehmensanwendungen zuzuschreiben.
1.2. Ziel der Arbeit
Dabei kommt wirkt sich positiv aus, dass alle eingesetzten Standards nicht im luftleeren Raum entwickelt wurden, sondern immer ein dediziertes Problem adressieren und damit quasi einen „best practice“ – Ansatz für ihren Einsatz mitliefern. Diesen an einem konkreten Beispiel zu verdeutlichen soll Ziel der vorliegenden Arbeit sein. Einzelne Technologien und Konzepte sollen gezielt herausgegriffen werden um ihre Bedeutung innerhalb des „big picture“ darzustellen.
1.3. Kapitelübersicht
Da in der Darstellung immer wieder auf die Referenzapplikation „handyEngine“ zurückgegriffen werden wird, dient es der Verständlichkeit, eine kurze Einführung in diese Anwendung an den Anfang zu stellen. Kapitel 2 beschreibt deshalb das Userinterface für Administratoren und Nutzer.
Die in diesem Szenario verwendeten Technologien XML und Web Development werden in den beiden folgenden Kapiteln 3 und 4 fundiert dargestellt und erläutert. Der Schwerpunkt liegt dabei immer auf den Aspekten, die im Beispiel zum Tragen kommen. Die Metasprache XML wird dabei im Bottom – Up – Prinzip erläutert, d.h. zunächst werden elementare Regeln eingefügt um darauf aufbauend fortgeschrittenere Anwendungen wie XSL darzustellen. Der Themenkomplex Web Development im Kapitel 4 wird zunächst historisch betrachtet, da sich viele Gründe für die aktuellen Architekturprinzipien aus Erfahrungen in der Vergangenheit ableiten. Im Anschluss wird das MVC – Paradigma vorgestellt, welches heute als dominierendes Architekturprinzip gilt.
Im Kapitel 5 wird auf Basis der zuvor eingeführten Technologien und Paradigmen das anfangs eingeführte Beispiel im Detail beschrieben und dabei insbesondere auf die Verbindung von Theorie und Praxis abgestellt.
Im letzten Kapitel werden aktuelle Entwicklungen und Frameworks vorgestellt, die die Art und Weise der Entwicklung von Applikationen im Umfeld des Internets erheblich verändern werden. Hier soll vor allem deutlich werden, dass die vorliegende Arbeit lediglich ein Schnappschuss des gegenwärtigen Stands der Technik in einem sich permanent weiterentwickelnden Umfeld ist.
2. Die Applikation „handyEngine“
2.1. Umfeld und Intention
Das Mobilfunkunternehmen ePlus betreibt im Rahmen des Customer Relationship Managements eine Telefonhotline als 1st Level Support. Um die Kundenzufriedenheit auf einem hohen Niveau zu halten, ist es für die Hotline Agents essentiell schnell und umfassend zu allen Fragen der Kunden Auskunft erteilen zu können. Nicht nur die, zum Teil sehr komplexen, Vertragsarten und rechtlichen Rahmenbedingungen müssen jedem Agent bekannt sein, sondern auch aktuelle Informationen wie zum Beispiel Netzstörungen oder Aktionen des Kampagnenmanagements.
[...]
1 http://www.heise.de/newsticker/data/ciw-15.11.01-001/default.shtml
2 http://www.heise.de/newsticker/data/fr-13.01.01-001/default.shtml
3 http://www.ietf.org/iesg/1rfc_index.txt
Kommentare
Dieser Text kann über folgende URL aufgerufen und zitiert werden: