Um Web-Anwendungen mit einem SAP-System als Server und mit ABAP-Geschäftslogik zu erstellen, sind Business Server Pages (BSP) das Mittel der Wahl. Dieser Vortrag differenziert Web-Anwendungen von Web-Dynpro-Anwendungen. Ich habe den Vortrag auch in einem Blog ausformuliert: http://ruediger-plantiko.blogspot.ch/2012/06/warum-server-pages-bleiben-werden.html
2. Business Server Pages (BSP)
und
Web Dynpro (WD)
Architekturprinzip
Migros | SAP CC Entwicklung | BSP 18.02.2010 | Seite 2
3. 3 Tier Anwendungsarchitektur
Benutzeroberfläche
GUI Meist eigenständiger
Agent (Programm)
Regeln
Prüfungen
Applikationslogik Pflege von Belegen
Folgeverarbeitung
DB Datenbank-Layer
(*dumm*)
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 3
4. SAP GUI-Anwendung
N SAP Frontends (SAPGUI)
SAPGUI- Dynpro - Installation auf Client-PC
Protokoll Sprache: intern - Black Box
(DIAG)
Modellierung:
Screen Painter
Applikationslogik N SAP Appl.-Server
Sprache: ABAP
SAP DBI
DB conn.
open SQL DB Ein RDBMS
Sprache: SQL
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 4
5. Web-Anwendung (BSP oder WD)
Browser - Universelle User Agents
HTTP- Browser Keine separate Software nötig
Protokoll Sprachen: HTML, CSS, JavaScript
Applikationslogik N SAP Appl.-Server
Sprache: ABAP
SAP DBI
DB conn.
Open SQL DB Ein RDBMS
Sprache: SQL
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 5
6. Business Server Pages
Browser - Universelle User Agents
HTTP- Browser Keine separate Software nötig
Protokoll Sprachen: HTML, CSS, JavaScript
Entwickler spricht die
Sprache des Clients
Applikationslogik N SAP Appl.-Server
Sprache: ABAP
SAP DBI
DB conn.
Open SQL DB Ein RDBMS
Sprache: SQL
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 6
7. Web-Dynpro
Browser - Universelle User Agents
HTTP- Browser Keine separate Software nötig
Protokoll Sprachen: HTML, CSS, JavaScript
Modellierung
WD View
Applikationslogik N SAP Appl.-Server
Sprache: ABAP
SAP DBI
DB conn.
Open SQL DB Ein RDBMS
Sprache: SQL
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 7
8. Wie ist BSP realisiert?
Migros | SAP CC Entwicklung | BSP 18.02.2010 | Seite 8
9. BSP := Toolset für Pflege und Erzeugung von
HTML, CSS, JavaScript im ABAP Stack
HTML Editor
• Eingebaut in die Workbench
• View-Klassen, Scripting-Direktiven Verbindung mit ABAP
• Keine HTML-Generierung! (Generierungs-Tools scheitern, siehe MS Frontpage)
MIME Repositoy
• CSS und JavaScript mit externem Text-Editor bearbeitbar
MVC
• Saubere Anwendungs-Organisation nach Klassen
Tag Library
• Wiederverwendbare Custom UI-Elemente
• Best Practice: Je System (z.B. Obsonis, T&M, NewMSS) eine passende Tag Library
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 9
10. BSP "Kosten und Nutzen"
Migros | SAP CC Entwicklung | BSP 21.6.2012 | Seite 10
11. BSP Vorteile
• Flexibilität und Offenheit
• Geräte-Unabhängigkeit
• Clientseitige Validierungen
Migros | SAP CC Entwicklung | BSP 21.6.2012 | Seite 11
12. Flexibilität / Offenheit
• Reiche Auswahl von UI-Elementen
• Das ganze Internet als Lösungs-Pool !
• Neue Komponenten & Features können sofort eingesetzt werden
• Kein Entwicklungsantrag nach Walldorf, um das Feature XYZ im
Web-Dynpro eingebaut zu bekommen
• Reiche Palette an Entwickler-Tools für HTML, CSS, JavaScript
• Code-Validierung, Code-Generierung, Pretty Printer, Editoren, ...
• Open Source
• HTML, CSS und JavaScript sind Klartextformate
"BSP is freedom!"
Brian McKellar
BSP-Basis-Entwickler in Walldorf
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 12
13. Plattformunabhängigkeit
• Geräteunabhängig
• WebApps besser als iApps:
• iApps laufen nicht auf Android, AndroidApps nicht auf
iPhone
• WebApps laufen auf allen Geräten mit Browser
• Gerätespezifische Layoutangaben sind möglich
• Laufen auf allen standardkonformen Browsern
• Sorgenkind MSIE wird von Release zu Release besser
• Windows-Update – Browser-Update – SAP-Update?
• Standardkonformes HTML wird nicht beschädigt
• Allenfalls kleinere Darstellungsprobleme, aufgrund
unzureichender Browser-Implementierungen (meist IE).
Migros | SAP CC Entwicklung | BSP 21.6.2012 | Seite 13
14. Gegenbeispiel Web Dynpro: SRM-Portal: IE8 -> IE9 Upgrade
Im Oktober 2011
Migros | SAP CC Entwicklung | BSP 21.6.2012 | Seite 14
15. Clientseitige Logik
• Um neuen Bildaufbau zu vermeiden:
• Anwendungsspezifische Logik in JavaScript
• Komplexere Regeln per Ajax-Request einbindbar
• Beispiele
• Domänenwertprüfungen (Lieferanten-Nr. etc.)
• AutoCompletion-Felder (Eingabehilfe)
• Konsistenzprüfungen für mehrere Inputfelder
• Detailinformationen
Migros | SAP CC Entwicklung | BSP 21.6.2012 | Seite 15
16. BSP – der Preis
• Für gute Webanwendungen werden gute
Webanwendungsentwickler benötigt
Migros | SAP CC Entwicklung | BSP 18.02.2010 | Seite 16
17. BSP – der Preis
• Für gute Webanwendungen werden gute
Webanwendungsentwickler benötigt
Migros | SAP CC Entwicklung | BSP 18.02.2010 | Seite 17
18. Gute Webanwendungsentwickler...
• sind keine ABAP-Fachidioten
• beherrschen HTML, CSS und JavaScript (selbstverständlich)
• haben einen Blick für einheitliches Design
• kennen die Schwächen des HTTP-Protokolls
• z.B. Back-Button, Aktualisieren-Button
• können mit diesen Schwächen umgehen
• können die Stärken von HTTP ausnutzen
• sind wie alle guten Entwickler:
• vermeiden Wiederholungen
• bemühen sich um ausdrucksstarken, lesbaren, testbaren,
effizienten, => änderbaren Code
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 18
19. Wird BSP irgendwann einmal abgeschaltet?
Migros | SAP CC Entwicklung | BSP 18.02.2010 | Seite 19
20. Die BSP-Technik lässt sich nicht abschalten!
• Solange der HTTP-Port vom SAP NetWeaver (ICF) existiert,
sind auch BSP-Anwendungen möglich
• SAP selbst wartet das BSP-Framework weiterhin
• Es gibt nur unbedeutende, nicht essentielle
Weiterentwicklungen
• BSP ist nur Voraussetzung für das Schreiben von Web Apps
• Der Anschluss der HTML/CSS/JavaScript-Welt an ABAP
• Es gibt keinen Weiterentwicklungsbedarf für das SAP-BSP-
Framework (ist genau wie mit dem ICF).
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 20
22. Was sind strategische Standards in Web-
Anwendungen?
Migros | SAP CC Entwicklung | BSP 18.02.2010 | Seite 22
23. HTML, CSS und JavaScript
• HTML : Logische Dokumentstruktur
• Logische Dokumentstruktur,
• Inhalte, Graphik
• W3C-Standard (orig: CERN 1992)
• CSS : Eigentliche Präsentation
• Farbschema, Positionierung, Effekte
• W3C-Standard (orig: 1996)
• JavaScript : Präsentationslogik
• Ein-/Ausblenden, Austauschen von Bildteilen, Navigation
• Clientseitige Prüfungen
• ECMA-262 Standard (orig: 1997)
• DOM Standard (orig: 1998)
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 23
24. Mehr braucht man nicht für Web-Anwendungen!
• Frameworks oder Abstraktionen, die sich an die Stelle von
HTML, CSS und JavaScript setzen wollen, haben sich
bislang im Web nie durchgesetzt
• Z.B. Silverlight – von SAP für das BusinessByDesign UI
gewählt – wird von Microsoft nicht mehr weiterentwickelt.
• Hypes kommen, Hypes gehen – HTML, CSS, JavaScript sind
geblieben!
Migros | SAP CC Entwicklung | BSP 6.6.2012 | Seite 24
25. SAP-Entwicklung als Entwicklungs-Kompetenzträger
entscheidet über die jeweils richtige Technik
Unsere Kriterien sind:
• Wenn es Web-Anwendungen sein sollen:
• Beispiel: Public Internet
• Beispiel: Retail Store
... dann: BSP verwenden
• Bei Anwendern mit SAP-Erfahrung, z.B. CC-Mitarbeitern
... dann: GUI-Anwendung mit Dynpro,
oder WebDynpro-Anwendung (z.B. BRFplus)
Migros | SAP CC Entwicklung | BSP 21.6.2012 | Seite 25