Beschreibung:
Hermann Gahm ist Principal Consultant im Performance CoE der SAP Global IT Application Services. Dort ist er in erster Linie für die Performanceanalyse und -optimierung der SAP-internen ABAP-Systeme auf SAP HANA zuständig. Hermann Gahm war zwischen 2006 und 2012 zunächst SAP-Technologieberater bei der SAP SI AG und anschließend SAP Support Consultant im Bereich Technology & Performance in der Abteilung Active Global Support der SAP AG. Schwerpunkte seiner Aufgaben waren die Unterstützung von SAP-Großkunden bei Performanceproblemen im Rahmen von ABAP-Entwicklungen und das System-, Datenbank- und ABAP-Programm-Tuning. Während seiner berufsbegleitenden Weiterbildung zum Wirtschaftsinformatiker (IHK) arbeitete er zwischen 1998 und 2006 als ABAP-Entwickler in einem der größten Handelsunternehmen in Deutschland und als SAP-Systemadministrator beim Marktführer für industrielle Kredit- und Bausparproduktbearbeitung. Im Fokus seiner Tätigkeit standen dabei die Performanceanalyse und -optimierung von Massendatenverarbeitung in SAP-Systemen.Dr. Eric Westenberger hat an der Universität Kaiserslautern Mathematik studiert und im Bereich Singularitätentheorie promoviert. Seit 2005 arbeitet er für die SAP AG und ist aktuell als Produktmanager für SAP HANA und SAP NetWeaver tätig. Davor war er mehrere Jahre als Entwickler und Softwarearchitekt an der Entwicklung verschiedener Komponenten der SAP NetWeaver-Basistechnologie beteiligt.
Sie sind erfahrener ABAP-Programmierer oder Entwicklungsleiter und Ihre Anwendungen laufen, aber Sie wissen, dass es noch besser geht. Die Autoren zeigen Ihnen Best Practices aus ihrer beruflichen Praxis, die Sie direkt in Ihrem Code und Entwicklungsprojekten umsetzen können. Sie lernen Werkzeuge und Methoden zur Verbesserung von Performance, Sicherheit und Qualitätssicherung kennen und profitieren von zahlreichen praktischen Anleitungen, Tipps und Tricks.
Aus dem Inhalt:
- Eclipse
- Agile
- ABAP-Unit-Tests
- Fehlerbehandlung
- Performanceanalysen
- SAP Code Inspector
- SAP NetWeaver AS ABAP
- Sicherheitsprüfungen
- Legacy Software
- SAP NetWeaver Add-On Code Vulnerability Analyzer
Aus dem Inhalt:
- Qualität, Performance und Sicherheit in Eigenentwicklungen
- Modernes ABAP-Anwendungsdesign
- Clean Code
- Fehlerbehandlung
- Legacy Code
- ABAP-Unit-Tests
- Checkpoint-Gruppen
- SAP Code Inspector
- ABAP Test Cockpit
- Laufzeitanalyse
- Performance-Trace
- Datenbankzugriffe
- SQL-Monitor
- Remote Function Calls
- Verbuchung
- SAP HANA und ABAP-Programme
- SQL Injection
- Betriebssystemzugriffe
- Directory Traversal
- Cross-side Scripting
- Sicherheit dynamischer ABAP-Programme
- Code Vulnerability Analyzer
- Projektmanagement zur Qualitätssicherung
- Best Practices
Qualität, Sicherheit und Performance von ABAP-Entwicklungen
Einleitung ... 15
Teil I. ABAP -- gestern, heute und morgen ... 21
1. Qualität, Performance und Sicherheit in der aktuellen Softwareentwicklung ... 23
1.1 ... Motivation ... 24
1.2 ... Entwicklung im Kontext von SAP-Anwendungen ... 34
1.3 ... SAP-Produkte im Wandel der Zeit ... 41
2. Anwendungsentwicklung mit ABAP in der Praxis ... 49
2.1 ... Der ABAP-Anwendungsserver im Überblick ... 50
2.2 ... Modernes ABAP-Anwendungsdesign ... 64
2.3 ... Produkte und Serviceangebote in den Bereichen Qualität, Performance und Sicherheit ... 73
Teil II. Qualität ... 77
3. ABAP-Codequalität ... 79
3.1 ... Clean Code ... 80
3.2 ... Best Practices zur Sicherung der Qualität von ABAP-Code ... 102
3.3 ... Fehlerhandling -- gewusst wie! ... 120
3.4 ... Legacy-Code ... 130
4. Modultests mit ABAP Unit ... 135
4.1 ... Testbare Software entwickeln ... 136
4.2 ... ABAP-Unit-Tests erstellen ... 140
4.3 ... ABAP-Unit-Tests durchführen ... 147
4.4 ... Fortgeschrittene Techniken ... 152
5. Werkzeuge für die Qualitätssicherung ... 157
5.1 ... Qualitätssicherung mit dem Code Inspector ... 157
5.2 ... Qualitätssicherung mit dem ABAP Test Cockpit ... 173
5.3 ... Qualitätssicherung mit ABAP in Eclipse ... 183
6. Prozesse und Methoden ... 197
6.1 ... Agile Vorgehensmodelle ... 200
6.2 ... Extreme Programming (XP) ... 205
Teil III. Performance ... 211
7. Typische Performanceprobleme und Lösungen ... 213
7.1 ... Zugriffe auf die Datenbank ... 213
7.2 ... Zugriffe auf interne Tabellen ... 231
7.3 ... Zugriffe auf entfernte Systeme ... 246
7.4 ... Verbuchung ... 250
7.5 ... Programmdesign ... 255
8. Werkzeuge für die Performanceanalyse ... 259
8.1 ... Statische Prüfungen ... 259
8.2 ... Dynamische Prüfungen und Traces ... 263
8.3 ... Kombinierte Auswertung statischer und dynamischer Prüfungen (SWLT) ... 301
9. Durchführung von Performanceanalysen ... 305
9.1 ... Systemweite Performanceprobleme ... 305
9.2 ... Performanceanalyse eines ABAP-Programms ... 307
10. Neue Möglichkeiten zur Performanceoptimierung mit SAP HANA und Open SQL 7.4 ... 319
10.1 ... SAP HANA im Überblick ... 319
10.2 ... Open-SQL-Programmierung für SAP HANA mit SAP NetWeaver 7.4 ... 324
10.3 ... Code Pushdown ... 331
Teil IV. Sicherheit ... 337
11. Stellenwert von Sicherheitsaspekten in ABAP-Programmen ... 339
11.1 ... Klassifizierung der verschiedenen Sicherheitsrisiken ... 341
11.2 ... Typische Lösungsansätze ... 342
12. Schwachstellen und Schutzmaßnahmen ... 353
12.1 ... SQL-Injection ... 353
12.2 ... Unicode-Prüfung ... 366
12.3 ... Directory Traversal ... 372
12.4 ... Berechtigungsprüfung ... 381
12.5 ... Cross Site Scripting ... 392
12.6 ... Dynamischer ABAP-Quelltext ... 398
12.7 ... Remotefähige Funktionsbausteine ... 404
12.8 ... Betriebssystemzugriffe ... 413
12.9 ... Weitere Sicherheitsaspekte bei der ABAP-Entwicklung ... 420
13. Sicherheitsprüfungen für den ABAP-Quelltext durchführen ... 427
13.1 ... Sicherheitsanalysen aus Sicht des Entwicklers ... 431
13.2 ... Konfiguration des Code Vulnerability Analyzers ... 436
13.3 ... Sicherheitsanalysen aus Sicht des Qualitätsmanagements ... 441
13.4 ... Integration des Code Vulnerability Analyzers in die Entwicklungslandschaft ... 443
Teil V. Praxistipps ... 445
14. Qualitätsaspekte in der Projektplanung berücksichtigen ... 447
14.1 ... Qualitätsmanagement ... 448
14.2 ... Qualität messen und steuern ... 451
14.3 ... Empfehlungen für unterschiedliche Projekttypen ... 456
15. Empfehlungen für den Einsatz der Techniken und Werkzeuge ... 465
15.1 ... Praxistipps für die Entwicklung ... 466
15.2 ... Praxistipps für den Einsatz von Werkzeugen ... 469
15.3 ... Praxistipps zum Entwicklungsprozess ... 477
15.4 ... Top-Ten-Empfehlungen für besseres ABAP ... 481
Die Autoren ... 485
Index ... 487