1 Einleitung. 1
1.1 Abgrenzung. 3
1.2 Aufbau der Arbeit 3
2 Architektur J2EE-Webanwendung. 4
2.1 N-Tier-Architekturen. 5
2.1.1 2-Tier-Architektur 6
2.1.2 3-Tier-Architektur 7
2.1.3 4- und Mehr-Tier-Architektur 8
2.2 Eingesetzte Frameworks und Standards. 9
2.2.1 Design-Patterns. 10
2.2.1.1 Begriffsklärung MVC. 13
2.2.1.2 Patternvariation MVC im Web. 15
2.2.2 Struts2 16
2.2.2.1 Geschichte. 17
2.2.2.2 Einsatzgebiet 18
2.2.2.3 Architektur 18
2.2.2.4 Vorteile. 22
2.2.3 Hibernate. 22
2.2.3.1 Geschichte. 22
2.2.3.2 Architektur 23
2.2.3.3 Einsatzgebiet 25
2.2.3.4 Vorteile. 28
2.2.4 Spring-Framework. 28
2.2.4.1 Geschichte. 28
2.2.4.2 Architektur 29
2.2.4.3 Einsatzgebiet 32
2.2.4.4 Vorteile. 32
3 Tools für Messungen. 32
3.1 Begriffsdefinition Performance. 33
3.2 JMX-Standard für Monitoring. 33
3.2.1 Hintergrund. 33
3.2.2 JConsole. 34
3.3 JMeter 35
4 Verteilte Anwendungen. 37
4.1 Grenzen von nicht verteilten Anwendungen. 37
4.2 Definition des Begriffs „Verteilte Systeme“ 38
4.3 Arten von verteilten Anwendungen. 39
4.4 Mögliche Probleme innerhalb verteilter Webanwendungen. 40
4.4.1 Session-Replikation. 40
4.4.2 OR-Mapper-Cache. 42
4.4.3 POJO-Clustering. 42
5 Strategien zur Serverlast-Verteilung. 43
5.1 Programmatische Strategien. 43
5.1.1 Remote Method Invocation (RMI) 43
5.1.1.1 Geschichte. 43
5.1.1.2 Architektur 43
5.1.1.3 Beispiel 45
5.1.1.4 Aufwand. 49
5.1.2 JMS 50
5.1.2.1 Geschichte. 50
5.1.2.2 Architektur 51
5.1.2.3 Beispiele. 52
5.1.2.4 Aufwand. 55
5.1.3 Webservices. 56
5.1.3.1 Geschichte. 56
5.1.3.2 Architektur 56
5.1.3.3 Beispiele. 58
5.1.3.4 Aufwand. 61
5.2 Nicht-programmatische Strategien. 62
5.2.1 Vertikale Skalierung. 62
5.2.2 Aufwand. 62
5.2.3 Horizontale Skalierung. 64
5.2.3.1 Beispiel JBoss-Cluster 65
5.2.3.2 Aufwand. 67
5.2.3.3 Alternative Terracotta. 68
5.2.3.4 Aufwand. 71
6 Fazit 72
7 Anhangsverzeichnis. 77
Darstellungsverzeichnis. 78
Abkürzungsverzeichnis. 80
Abkürzungsverzeichnis. 80
Literaturverzeichnis. 81
Erklärung
Lebenslauf