Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Enterprise PHP5 - Serviceorientierte und webbasierte Anwendungen für den Unternehmenseinsatz

von: Johann-Peter Hartmann, Björn Schotte

Carl Hanser Fachbuchverlag, 2008

ISBN: 9783446410114, 263 Seiten

Format: PDF, OL

Mac OSX,Windows PC,Mac OSX,Windows PC Bookeen Cybook Orizon,Ectaco Lite,Aluratek Libre,eLyricon EBX-500.TFT,PocketBook 302,FlatReader,BeBook 'One',iRiver Story,Sony Reader PRS-3xx,Bookeen CyBook Opus,Hanvon/Hexaglot N518,PocketBook 301+,COOL-ER eReader,Inves-Book 600,eLyricon EBX-600.E-Ink, Bookeen CyBook Gen3 ab Rev: 1.9,Italica Reader,Sony Reader PRS-505, -6xx, -7xx,Pocketbook 360,Hanvon N516 Weltbild Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 39,90 EUR

  • J2EE mit Struts & Co.: Java-Projekte mit Struts, Tomcat, JBoss und Eclipse
    Oracle 10g
    GIMP2
    JBoss
    IBM WebSphere Applikationsserver
    E-Commerce Programmierung mit ASP - in 21 Tagen
    Datenbank-Anwendungen mit PostgreSQL
    Oracle-Programmierung
  • Outlook 2003 - Sicher kommunizieren, perfekt organisieren
    Web Application Development mit ColdFusion 4.5
    Apache Webserver 2
    ISA Server 2004 - Das Handbuch für Installation und Administration

     

     

     

     

     

 

Mehr zum Inhalt

Enterprise PHP5 - Serviceorientierte und webbasierte Anwendungen für den Unternehmenseinsatz


 

Inhalt

6

Vorwort

10

1 PHP im Enterprise-Einsatz

14

1.1 Vorgeschichte

14

1.2 Vorteile von PHP und der Enterprise-Einsatz

16

1.2.1 Rapid Prototyping

16

1.2.2 Schnelligkeit von PHP

17

1.2.3 Vernetzung der Entwickler

17

1.2.4 Wertvolle Ressourcen

19

1.2.5 Tools im Enterprise PHP-Bereich

20

1.2.5.1 Versionskontrollsysteme

20

1.2.5.2 CVSSpam bzw. SVNSpam

21

1.2.5.3 Entwicklungsumgebung

21

1.2.5.4 Lebenszyklus verwalten

22

1.2.5.5 Kontinuierliche Integration

23

1.2.6 Release- und Deployment-Prozesse

26

1.2.7 Codedokumentation

27

1.2.8 Fazit

30

2 Web 2.0: Architektur und Theorie

32

2.1 Das Web 2.0

32

2.1.1 Was ist Web 2.0?

32

2.1.2 Plain-Vanilla Web Applications vs. Web 2.0

33

2.1.3 Social Collaboration – Let Others Work

34

2.2 Innovationen im Web 2.0

35

2.2.1 RSS und Podcasting

35

2.2.1.1 RSS

35

2.2.1.2 Podcasting

36

2.2.2 Weblog

37

2.2.2.1 Permalinks

37

2.2.3 Wiki

37

2.2.3.1 Wiki-Vandalismus

38

2.2.4 Mashups

39

2.2.5 Tagging

41

2.2.6 Semantic Web

42

2.2.6.1 Semantik im Web

42

2.2.6.2 RDF

42

2.2.7 Die neuen GUI-Elemente des Web 2.0

42

2.2.7.1 Slider

43

2.2.7.2 Fisheye

44

2.2.7.3 Desktop-Menüs im Web

44

2.2.7.4 Strukturierung anhand der Baumstruktur

45

2.2.7.5 Desktop-Fenster im Web

45

2.2.8 Malleable Content

46

2.2.9 Suggestion Pattern

47

2.3 Der Paradigmenwechsel in der Architektur

48

2.3.1 Der Client und JavaScript im Rampenlicht

48

2.3.2 Ajax

49

2.3.2.1 Polling

50

2.3.2.2 Sicherheit

51

2.3.2.3 Alternativen

51

2.3.3 REST

52

2.3.3.1 Permutation Pattern

53

2.3.4 Serviceorientiertes MVC mit Ajax und REST

54

2.3.4.1 Wieso MVC?

54

2.3.4.2 Modell – Analyse der Daten und Identifizierung der Ressourcen

55

2.3.4.3 View – der Representation Layer

55

2.3.4.4 Controller

56

2.3.5 Serverseitige Codegenerierung für den Client

56

2.3.6 Helper-Funktionen

58

2.3.7 Scaffolding

59

2.3.8 Webanwendungen in Echtzeit

59

2.3.8.1 Die persistente Verbindung zwischen Client und Server

60

2.3.8.2 PUSH! via COMET

61

2.3.8.3 Echtzeit braucht noch echt Zeit

62

2.4 Fazit

63

3 Web 2.0 – Praxis

66

3.1 Veränderte Architektur

66

3.1.1 DOM-Veränderungen

67

3.1.1.1 Hinzufügen von Knoten

67

3.1.1.2 Entfernen von Knoten

68

3.1.1.3 Verändern von Knoten

68

3.1.1.4 Verändern des Inhalts von Knoten

69

3.1.2 Ajax-Calls

69

3.2 Frameworks, APIs und JavaScript-Bibliotheken

70

3.2.1 Prototype und script.aculo.us

71

3.2.1.1 Einführung

71

3.2.1.2 Anwendung

73

3.2.2 Dojo

74

3.2.2.1 Einführung

74

3.2.2.2 Anwendung

75

3.2.3 TurboWidgets

76

3.2.3.1 Einführung

76

3.2.3.2 Anwendung

76

3.2.4 Yahoo! User Interface Library (yui)

77

3.2.4.1 Einführung

77

3.2.4.2 Anwendung

79

3.2.5 MochiKit

81

3.2.5.1 Einführung

81

3.2.5.2 Anwendung

81

3.2.6 Vergleich der Frameworks

82

3.2.7 Weitere Ansätze

83

3.2.8 Integration der Frameworks in PHP

84

3.3 GUI-Elemente in Web 2.0-Anwendungen

84

3.3.1 Form Widgets

84

3.3.1.1 Buttons

84

3.3.1.2 Eingabefelder

85

3.3.1.3 Inline-Editing

92

3.3.1.4 Schieberegler

95

3.3.2 Drag & Drop

98

3.3.3 Ajax-Calls

104

3.4 Beispielanwendung

108

3.4.1 Vorgabe

109

3.4.2 Vorgehensweise

109

3.4.3 Resultat

111

4 Web 2.0 Security

112

4.1 Schöne neue (Hacker-)Welt

112

4.1.1 Alles beim Alten?

113

4.1.1.1 Klassische Sicherheit bei Webapplikationen

113

4.2 XSS und CSRF oder neue Probleme mit altenBekannten

114

4.2.1 Cross Site Scripting (XSS)

114

4.2.1.1 Dom-basierte XSS

115

4.2.1.2 Nichtpersistente, reflektierte XSS-Attacken

116

4.2.1.3 Persistente XSS-Attacken

117

4.2.2 Cross Site Request Forging (CSRF)

118

4.2.2.1 HTML-basierte CSRF

118

4.2.2.2 JavaScript-basierte CSRF

118

4.2.2.3 XMLHttpRequest-basierte CSRF

119

4.2.2.4 Schutzmaßnahmen gegen CSRF

119

4.2.2.5 XSS und CSRF

120

4.2.2.6 Security und Ajax

120

4.3 Ajax Malware

121

4.3.1 JavaScript-Viren

121

4.3.1.1 Der MySpace-Wurm

121

4.3.1.2 „Samy ist mein Held&ldquo

122

4.3.1.3 Freunde finden mit Ajax

122

4.3.2 JavaScript Spyware

124

4.3.2.1 Keylogger

124

4.3.2.2 Clipboard-Diebstahl

124

4.3.3 Was die Zukunft bringt

125

4.3.3.1 Beispiel: Browserbasiertes Botnet

125

4.3.3.2 Beispiel: Per JavaScript in das Intranet einbrechen

126

4.4 JavaScript Security

127

4.4.1 Plattform und Sprache

128

4.4.2 Die JavaScript Sandbox

128

4.4.3 Same Origin Policy

129

4.4.4 Seitenkontext

130

4.4.5 CSRF und Web 2.0

130

4.4.6 Hijacking JavaScript

131

4.4.6.1 Man in the Middle in JavaScript

131

4.4.6.2 Der Dojo-Ajax-Sniffer

131

4.5 Web 2.0 und Security

132

4.5.1 Statischer Seitenkontext

132

4.5.2 Immer eingeloggt – oder warum CSRF ein wirkliches Problem ist

133

4.5.3 Gut vernetzt

134

4.6 Komplexe XSS-Attacken

135

4.6.1 Auslesen von Formularen

135

4.6.2 History des Browsers ermitteln

136

4.7 XSS verhindern

138

4.7.1 HTML filtern

138

4.8 XSS-Filter umgehen

139

4.8.1 Einfache Filter-Evasions

139

4.8.2 Filter Evasions über Codepages

139

4.8.2.1 UTF-7-Filter Evasion

139

4.8.2.2 Variable-Width Filter Evasions

140

4.8.3 Filter Evasions mit JavaScript-Bibliotheken

141

4.8.4 JSON

142

4.8.4.1 Was ist JSON?

142

4.8.4.2 Wie wird JSON erzeugt?

143

4.8.4.3 Wie wird JSON geparsed?

143

4.9 Sichere Ajax-Applikationen entwickeln

144

4.9.1 Die JavaScript-Problematik

144

4.9.2 Validierung

144

4.9.3 Filtern und Säuberung

144

4.9.4 Escaping

145

4.9.4.1 Skript

145

4.9.4.2 Text

145

4.9.4.3 Stylesheets

145

4.9.4.4 URLs

146

4.9.4.5 Formularfeldwerte und Attribute

146

5 Software-Tests in PHP-Applikationen

148

5.1 Test als effektiver Teil des PHP-Entwicklungszyklus

149

5.1.1 Qualitätskriterien und Umfeld

151

5.1.2 Risikobewertung

156

5.1.3 Test-Workflows

157

5.2 Automatisierte Akzeptanztests

160

5.2.1 Automatisierung

160

5.2.2 Selenium IDE und Testrunner

164

5.2.3 Selenium RC

165

5.2.4 Selenium im eigenen Projekt einsetzen

166

5.3 Unit-Tests

170

5.3.1 Wann Unit-Testing betreiben?

171

5.3.2 Blackbox und Whitebox

172

5.3.3 Testfälle aufstellen

173

5.3.4 Grenzwerte

177

5.3.5 Und das war schon alles?

178

5.4 Code Coverage

178

5.5 Weitere Möglichkeiten

178

5.5.1 Externe Testgruppen

178

5.5.2 Benchmarking und Lasttests

180

5.5.3 Lesbarkeit und Notationsstandards

182

5.5.4 Code Reviews

183

5.6 Ausblick

183

6 Agiles Projektmanagement für PHP-Projekte

186

6.1 Erlernen der Spezifikation

187

6.2 Einsatzgebiet von PHP in Projekten

188

6.2.1 Daily Business in PHP-Projekten

189

6.3 Klassisches Projektmanagement

189

6.3.1 Definitionsphase

190

6.3.2 Phase der Planung

191

6.3.3 Die Durchführung

191

6.3.4 Der Abschluss

191

6.3.5 Problematik in heutigen IT-Projekten

192

6.4 Prozessmanagement

193

6.5 Agile Software-Entwicklung

196

6.5.1 Extremprogrammierung

199

6.5.1.1 Vorgehen im XP-Projekt

200

6.5.2 Crystal Clear

204

6.6 Scrums Basics

208

6.6.1 Scrum-Typen A, B, C

214

6.6.2 Scrum bei PHP

217

6.7 Fazit

217

7 Die Grenzen des agilen Ansatzes – ITIL

220

7.1 „Prozesse müssen gelebt werden"

220

7.2 IT-Service-Management nach ITIL

222

7.2.1 Der Service-Support

223

7.2.2 Der Service-Desk

224

7.2.3 Incident-Management

225

7.2.4 Problemmanagement

227

7.2.5 Change-Management

229

7.2.6 Release-Management

232

7.2.7 Configuration-Management

234

7.3 Der LAMP-Stack in einer ITIL-Umgebung

235

7.3.1 Software-Entwicklung mit PHP im ITIL-Umfeld

237

7.3.2 Versionsverwaltung und Paketmanagement

240

7.3.3 Dokumentation

246

7.3.4 Der produktive Betrieb

248

7.4 Bewertung, Probleme und Fazit

249

8 Literatur

252

9 Über die Autoren

256

Register

260