1
SAP AG 2001
WebDynpro Overview
WebDynpro Goals
SAP AG 2001
Utilize state-of-the-art, standards-based Web development technology Guide application development in creating consistent and user-friendly applications
Support existing ABAP/Dynpro programs with almost no changes!
Extend existing Web infrastructures with tools that allow to easily design, develop, deploy, maintain and customize 80% of business (Web) applications with 20% of the usual effort and cost! Make sure that Web Dynpro applications can run in the SAP Portal
WebDynpro
SAP AG 2001
What is WebDynpro?
A set of design- and deployment-time tools for
(dialog) process modeling view editing pattern-based view assembly business data types definition data-binding and input validation rendering error handling dialog flow customization personalization tracing and profiling batch input and automatic testing
plus a set of services like
utilized by the standards-based runtime environments underneath
WebDynpro Applications
SAP AG 2001
WebDynpro applications follow the MVC pattern
MVC means model, view, controller Model
retrieving
View View View
data from database / backend system
changed data
persisting
View
visualization
Controller
Controller Controller
Controller
selecting
views user input
Controller
processing
Data separation
State is kept in contexts Contexts are used for data transport between views, controllers and model
Model Model WebDynpro Application
WebDynpro Features
SAP AG 2001
UI Elements
Additional elements compared to Dynpro Possibility to construct composite UI elements from elementary ones
Dynamics
The UI (framework) allows for dynamically constructing a user interface at runtime (e.g. for reporting purposes) However, the recommended way is to define screens statically with welldefined exceptions (e.g. place-holder UI element serving as starting point for dynamically constructed sub-view)
WebDynpro Features (2)
SAP AG 2001
Input Validation
Syntactic validation can be done automatically (meta data information) To avoid redundancy (checks must be made on server too), the checks are derived from a single point of definition (e.g. data type repository)
Eventing
UI elements raise events as a result of user interaction Processing of events can take place on the server and on the client Both client and server logic operates on context only
Caching
Caching of layout and content are independent To allow client-side caching a location-independent data container derived from the context definition is used
WebDynpro Features (3)
SAP AG 2001
Usability
Three reuse pattern levels
composition component
patterns (views and viewsets and their interaction)
patterns
UI
element patterns
support the selection and usage of such patterns
The Web Dynpro development tools
optimally allow
to automatically derive as much plumbing code as possible from these patterns
Navigation
Declaration of the dialog flow/page sequence/view composition
allows eases
derivation of a lot of plumbing code automatically
the "upgrade pains"
WebDynpro Features (4)
SAP AG 2001
Data binding
UI elements are bound to application data via context At runtime, data container is used for data transport Data container is derived from current set of contexts
always
accessed using API (setter/getter) on client-side and server-
side
Location independent rendering
Rendering on server or client depending on client capabilities
enables
client-side caching rendering of screens
flicker-free
Location Independent Rendering
SAP AG 2001
Simple Client
ID
Server
Product Ov erv iew
De s c ri p ti o n av ailable
Data Merging
Chose a product from list to view the details.
WebDynpro Runtime Framework
Product Ov erv iew
ID De s c ri p ti o n av ailable ID
Product Ov erv iew
De s c ri p ti o n av ailable
Viewed Page
10 11 12 ABC 40 yes yes yes ABCPro ABC50+ Chose a product from list to view the details.
Page with Data
10 11 12 ABC 40 yes yes yes ABCPro ABC50+ Chose a product from list to view the details.
< Product ID= "11" Available= "yes"> < Description> ABC Pro < /Description> < /Product> < Product ID= "12" Available= "yes"> < Description> ABC 50+ < /Description> < /Product>
Application
WebDynpro Features (4)
Advanced Client
Product Ov erv iew
Product Ov erv iew
ID De s c ri p ti o n av ailable
Data Merging
Static Layout
ID De s c ri p ti o n av ailable
Chose a product from list to view the details.
Viewed Page
10 11 12 ABC 40 yes yes yes ABCPro ABC50+ Chose a product from list to view the details.
Dynamic Data
< Product ID= "12" Available= "yes"> < Description> ABC 50+ < /Description> < /Product>
< Product ID= "11" Available= "yes"> < Description> ABC Pro < /Description> < /Product>
Web Application Server And Web Dynpro
SAP AG 2001
10
Web AS Web Dynpro
Web AS: Web Application Server, contains InQMy, ITS, BSP, etc. Web Dynpro: Programming model for web apps (front end). Business logic remains in R/3, for J2EE uses RFCs to access R/3
Big Picture
SAP AG 2001
11
Dynpro Converter
Web Dynpro Tools
Web Dynpro Meta-Data
Platform-independent C# Java ABAP
Dynpros
C# Generator C# / .NET .NET Runtime
Java Generator Java / J2EE J2EE Runtime
ABAP Generator ABAP / BSP BSP Runtime Web Dynpro Common Native (Remote) WebAS Runtime Services Services
Web Dynpro Web Controls Web Dynpro Services .NET
Web Dynpro Taglib Web Dynpro Services J2EE
Web Dynpro Extension Web Dynpro Serv. WebAS
Current Picture
SAP AG 2001
12
Back end - R/3 se80 function modules
DATA
Communication via RFC (Java Connector JCO)
Front end Web Dynpro -> Eclipse Views PRESENTATION
Later
.Net ABAP (BSP)