Documente Academic
Documente Profesional
Documente Cultură
Andreas Fahle
Agenda
Introduction What is Web Dynpro? Objectives and approaches Basic concepts Example Views, Controllers, and Models Components and Applications Contexts Meta-model Development process Declarative vs. procedural programming Common steps Execution Summary
view EmployeeForm
control
component controller
model Human Ressources model class Employee model property "name" attribute
control property
context element
context element
model property
This is a simple example: simple data types, one view, no further controllers beyond component and view controller.
start
component
window
use
have
consist of
consist of
component controller
view controller
model have
context
model class
have
bind
context element
developer Generator
Java Code
Declarative programming of layout and navigation application data and data binding Procedural programming of event handlers additional methods
//@@begin javadoc:onActionBack(ServerEvent) /** Declared validating event handler. */ //@@end public void onActionBack(<...> IWDCustomEvent wdEvent ) { //@@begin onActionBack(ServerEvent) wdThis.wdFirePlugToStartView(); //@@end }
declarative
graphical
graph/decl procedural
graph/decl graph/decl
procedural
Execution
screen data Web-Dynprobased application
R
Backend application
business data
RMI
User
R
R
Web browser
HTTP
Web server
Client
Presentation server
SOAP
Web-Dynpro-based application runs on presentation server. Web Dynpro client knows only about screen data (e.g. HTML widgets), not about data binding and contexts. Use of widgets (i.e. entering text) may cause events, which trigger a roundtrip: message from client to server, and context update possibly further activity by controllers at the server message from server to client, and screen update
HPI, Seminar System Modeling - SS2005 / 14
Summary
Web Dynpro is a powerful UI Framework for SAP NetWeaver. Most of the programming can be done in a graphical and/or declarative manner. Web Dynpro is open for new backend types, frontend types, as well as further programming languages. Component-orientation supports re-use. Data are mapped and synchronized between UI controls and the backend via models and contexts. All activity (i.e. roundtrips) is initiated from the client.
References
Kessler, K., Tillert, P., Dobrikov, P.: Java-Programmierung mit dem SAP Web Application Server. Galileo Press, Bonn 2005. McNulty, P.: Web Dynpro Overview. SAP AG, 2002. Tillert, P., Wilson, A.: Web Dynpro Introduction/Concepts. SAP AG, 2003. SAP Library Development Manual, Web Dynpro. SAP Library Architecture Manual, Web Dynpro Architecture. SAP Online Help, Creating Your First Web Dynpro Application. Knpfel, A.: Konzepte der Beschreibung interaktiver Systeme. Universittsverlag Potsdam, Potsdam 2005.