Академический Документы
Профессиональный Документы
Культура Документы
Ulrich Klingels
Product Manager, SAP AG
Venky Varadadesigan
Product Manager, SAP Labs LLC
Dirk Feeken
Product Manager, SAP AG
Manfred Lutz
Product Specialist, SAP AG
Regina Breuer
Developer, SAP AG
SAP NetWeaver™
PEOPLE INTEGRATION
Custom Development
Master Data Mgmt
Data Unification
PROCESS INTEGRATION
Consolidation
Integration Business
Broker Process Mgmt
APPLICATION PLATFORM
J2EE ABAP
DB and OS Abstraction
Central Master-Data
Data Unification Master-Data Harmonization Master-Data Consolidation Enterprise Data Warehousing
Management
Business Information Enterprise Reporting, Query, and Business Planning and Analytical
Enterprise Data Warehousing
Management Analysis Services
Business Event
Business Event Resolution Business Task Management
Management
Enabling Application-
End-to-End Process Enabling Business-to- Business Process Enabling Platform Business Task
to-Application
Integration Business Processes Management Interoperability Management
Processes
Custom Development Developing, Configuring, and Adapting Applications Enabling Platform Interoperability
Unified Life-Cycle
Software Life-Cycle Management SAP NetWeaver Operations
Management
Application
Authentication and Single Sign-On Integrated User and Access Management
Governance & Security
Enterprise Service
Architecture – Design & Enabling Enterprise Services
Deployment
Web Dynpro
UI definition independent
of client technology
Web Smart other?
as much abstract
Browser Client
declaration as possible
Different rendering
engines for different
(future) UI technologies http://..... http://..... ???
without adapting HTML, JS XML, delta ???
application coding
Rendering Rendering Rendering
Engine Engine Engine
Meta Data
<xml>
<wd:xxx>
</xml>
Web Dynpro
SAP
SAP Enterprise
Enterprise Portal
Portal
Web Dynpro iView Web Dynpro iView MUSE Client
ABAP
ABAP
SAP
RFC, WS Workbench
Workbench
NetWeaver
Developer
Studio
RMI
J2EE
J2EE ABAP
ABAP Business
Server
Server EJB (e.a.) Server
Server API (BAPI,
BackendBusiness
Business
Data Application
Web Services) Data
Development completely
integrated into ABAP
Workbench
Graphical View Layout design
Declarative UI development
ABAP editor with forward
navigation
ABAP dictionary data types
directly available
Simple remote debugging
Functionality and services of
the ABAP environment directly
usable
Meta-data
Compiler
Web Code
Dynpro Generator
Tools Custom
Code
View
Usage declarations
Window Controller
Components
M
Contains Usage
declarations Model 1
View M
View Custom
Controller
Layout Controller Model 2
M
Business Logic
W e b D y n p r o C o m p o n e n t (Models)
View
Is embedded into window Window
Defines the visible layout via
predefined UI elements View
Don’t contain any HTML or
scripting
UI elements
Are the smallest UI building
blocks (button, input field,…)
Available as provided UI
element libraries
Have properties which steer
their behavior
Can be nested with Container
UI elements
Are positioned in hierarchical
structure
© SAP AG 2006, SAP TechEd ’06 / CD154 / 19
Defining View Layout
UI element
UI
libraries
element
tree of
view
Properties of
selected UI
element
View
layout
BusinessGraphics,
GeoMap
e.g. DateNavigator,
Table, Tree
BI Application Frame
OfficeControl
e.g.
TransparentContainer, MessageArea
Tray
Controller
Contains the logic of the UI View Controller
layer Context
Implements event handlers Root Node
Node N1
Reads and writes context LH Attribute CARR
node content Paris Attribute DEP_AIRP
Each view has its own view Node N2
controller
Window
Node N2
Controller
contains
methods... method WD_DO_INIT
node = wd_context->get_child_node(‘N1’).
node->set_attribute( name = ‘DEP_AIRP’
value = ‘Paris’).
...and events
for user Method onAction_GOTO_NEXT
interactions node = wd_context->get_child_node(‘N1’).
node->get_attribute( name = ‘CARR’
value = carrier ).
AA ABID
Airline AC Airline ID
www URL
www www URL
Node 2
Elements of a
context node
method WD_DO_INIT
* carriers: internal table
...
node->bind_elements( carriers ).
Logon to Windows
User: sap
pwd: BestRun06
Component Controller
Component Controller
Controller which is the
backbone of the component Component Controller
Context
Has its own Context
Root Node
Contains the logic for Node 1
interaction with the model
(ABAP class, function modules,
BAPIs, Web Services) Node 2 Model
Class,
Context Mapping
Node 3
ABAP
Nodes of Component Objects
Controller context can be API,
Method show_flights
mapped to nodes of other flights = BO->get…
BAPIs,
contexts node1 = wd_context->…
Other WD
node1->bind_elements(
Framework cares about data flights ). Compo-
transport (references) nent,
…
View Node 3
View View Controller
Label
Context
Label Contexth
Root Node Root Node
Label
Node 1 Node 1
Press
Attribut1
Attribut2 LH
Node 2
Node 2
Mapping of
Component context data Component Controller
Component Controller
Window Context
View View Controller
Root Node
Context Node 1
Root Node
Node 1
Node 2
Node 3
Model Class,
ABAP
Method show_flights
flights = BO->get… Objects API,
Component node1 = wd_context->…
controller connects node1->bind_elements( BAPIs,
to business logic flights ).
Other WD
and gets/sets data Component,
…
Window
Customer Customer
Search List
Out In
Inbound plug
Outbound plug
Navigation link
To define the navigation between two views, you need to create exit
and entry points for each view using outbound and inbound plugs.
Only then you can specify the navigation flow using navigation links
Outbound Plug
Window
OUT
SEARCH_FLIGHTS IN
Inbound Plug
Create
View Action View Controller
IN
OUT
IN
Navigation
between Views
© SAP AG 2006, SAP TechEd ’06 / CD154 / 36
Motivation of Web Dynpro
The Web Dynpro Programming Model
Views and UI elements
Controllers and Context
Navigation and Plugs
Supply Functions
Summary
Context Node at Design Time
Declaration of Context
Nodes
Create metadata which
Context
defines the structure of the
context Root Node
FLIGHTS (0...n)
Two dimensional hierarchy SQ Airline ID
like files and folders 203 Flight Nr
Context at runtime
Nodes with cardinality (0..n)
View Controller
can contain several elements
at runtime Context
Root Node
Each element can have its FLIGHTS (0...n)
own set of sub nodes at SQ SR
LH UA Airline ID
runtime which are again 203 Swiss
4030 0407 Flight Nr
collections of elements
051003 www
051223 052709 Date
BOOKINGS
Example: Flights with Booking Nr
bookings Customer
Supply Function
Is triggered if lead
selection of parent
element changes
Is implemented as method
of controller
Has access to parent
element
Typically used when
substructure of context
nodes with several
elements has to be filled.
Flights – Bookings,
Customers – Orders,…
Display Bookings
of selected Flight
© SAP AG 2006, SAP TechEd ’06 / CD154 / 41
Summary
Î Public Web:
www.sap.com
SAP Developer Network: www.sdn.sap.com
Î SAP NetWeaver Î Application Server Î ABAP and Web Dynpro
SDN Forums: Application Server Î Web Dynpro
SAP Customer Services Network: www.sap.com/services/
Thank You !