ABAP - Web Dynpro
            An Overview by Manoj Dhir.




01/10/13                Manoj Dhir       1
Introduction
 This    presentation will be a starter package for
     all who are and want to be a part of new age
     SAP UI development and moreover are here
     to make a change..




01/10/13                 Manoj Dhir                2
Before I share the Agenda..
 Who  is a developer ?
 What can we call a good UI ?

 What do you thing ABAP - Web Dynpro is ?

 What is the take away you expect after this
  course?




01/10/13             Manoj Dhir                 3
Agenda
1.         Web Dynpro – The Motivation

2.     Web Dynpro ABAP –The Programming Model
     2.1. Views and UI Elements
     2.2. Controllers and Context
     2.3. Navigation and Plugs
     2.4.Component Usage

3.     Web Dynpro Features
     3.1. ALV
     3.2. Object Value Selector
4.     Lets Wrap up. Anyone?
5.     Any Questions ?
6.     Ok! Can I ask now?

01/10/13                          Manoj Dhir    4
Objectives of Web Dynpro
    Model-based UI development
          Enforce clear separation between UI logic and business logic
          Little coding, lots of design
          Declarative UI development
    Future Proof UI Declaration
          Browser, Web Dynpro Client, Mobile Device,…
          Client technology independent UI definition
    Central implementation of user interface standards
          Accessibility support
          Adobe Forms integration
          Centrally provided UI elements
          Internationalization support
    Supports major platforms
          Java (as of SAP NetWeaver '04), ABAP (as of SAP NetWeaver 7.0)



01/10/13                                    Manoj Dhir                      5
Motivation Web Dynpro
 Web         Dynpro
          UI definition independent of
           client technology
          As much abstract declaration as possible
          Different rendering engines for different (future) UI
           technologies without adapting application coding




01/10/13                        Manoj Dhir                     6
Application Scenarios With Web
 Dynpro       SAP NetWeaver Portal
                                                                                  NetWeaver
                          Web Dynpro iView            Web Dynpro iView
                                                                                Business Client




              Web Dynpro            J2EE                  ABAP                  Web Dynpro
       Web Dynpro App         Web Dynpro                  Web Dynpro     Web Dynpro App
          App                                                               App
                                 Runtime                  Runtime

                                                                                ABAP
   SAP
                                        RFC, WS                                 Workbench
NetWeaver
Developer
  Studio
                   RMI


   J2EE                                               ABAP          Business
   Server    EJB (e.a.)                               Server       API (BAPI,
                                                                            BackendBusiness
                             Business
                                                                           Application
                                                                  Web Services)
                               Data                                                    Data

 01/10/13                                    Manoj Dhir                                           7
Come to the point -The
Development
    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
    ABAP lifecycle management
          Transport
          Translation
          Enhancements
01/10/13                           Manoj Dhir              8
Meta-Model Declarations and
Custom Coding
    Meta-model                                            Custom Coding
     Declarations                                           Guarantees universality
    Guarantees common app. design                          Good for data-driven, dynamic
    Good for graphical tool support                        apps
          Screen Layout and Nesting                           Implementation of business rules
          Navigation and Error Handling                       Dynamic screen modifications
          Data Flow                                           Access to services (files etc.)
          Componentization                                    Portal eventing
          ...                                                 ...
                       Meta-data




                                                                                         Run able App
                                                 Generated




                                                                              Compiler
 Web                                               Code
Dynpro                 Generator
 Tools                                             Custom
                                                    Code
01/10/13                                   Manoj Dhir                                                   9
Model View Controller (MVC)
                                                       Generates the application
                                                       data without caring how it
                                        Model          will be displayed.
Binds the user and business
interaction layers together. All
intermediate processing is
performed here.
                                   Business Interaction Layer


                                   User Interaction Layer
            Controller
                                                      Visualizes the application
                                                      data without caring how it
            Binding Layer                             was generated.



                                          View
 01/10/13                          Manoj Dhir                                      10
Defining View Layout

UI element
                                    UI
 libraries
                                element
                                 tree of
                                  view




                              Properties of
                               selected UI
                                element




 View
layout
 01/10/13        Manoj Dhir            11
UI Element Categories
                 e.g. Button, InputField,
                 Label




                 e.g. DateNavigator,
                 Table, Tree




                 e.g.
                 TransparentContainer,
                 Tray


 Each UI element object is represented as an abstract class that is independent
 of any client presentation layer.

01/10/13                                    Manoj Dhir                       12
Lets Wrap up. Anyone?
    Web Dynpro is SAP’s UI strategy
    Declarative, MVC based UI programming model
    UI definition independent of rendering technology
    Web Dynpro for ABAP available with SAP
     NetWeaver 7.0
    Programming model similar to Web Dynpro for Java
    Completely Integrated into the SAP NetWeaver
     Application Server ABAP


01/10/13                  Manoj Dhir                 13
Any Questions ?




01/10/13       Manoj Dhir   14
Thank you !

Can I ask ?




01/10/13      Manoj Dhir   15
Where to Get More Information
 www.sap.com




01/10/13        Manoj Dhir      16

Abap web dynpro

  • 1.
    ABAP - WebDynpro An Overview by Manoj Dhir. 01/10/13 Manoj Dhir 1
  • 2.
    Introduction  This presentation will be a starter package for all who are and want to be a part of new age SAP UI development and moreover are here to make a change.. 01/10/13 Manoj Dhir 2
  • 3.
    Before I sharethe Agenda..  Who is a developer ?  What can we call a good UI ?  What do you thing ABAP - Web Dynpro is ?  What is the take away you expect after this course? 01/10/13 Manoj Dhir 3
  • 4.
    Agenda 1. Web Dynpro – The Motivation 2. Web Dynpro ABAP –The Programming Model 2.1. Views and UI Elements 2.2. Controllers and Context 2.3. Navigation and Plugs 2.4.Component Usage 3. Web Dynpro Features 3.1. ALV 3.2. Object Value Selector 4. Lets Wrap up. Anyone? 5. Any Questions ? 6. Ok! Can I ask now? 01/10/13 Manoj Dhir 4
  • 5.
    Objectives of WebDynpro  Model-based UI development  Enforce clear separation between UI logic and business logic  Little coding, lots of design  Declarative UI development  Future Proof UI Declaration  Browser, Web Dynpro Client, Mobile Device,…  Client technology independent UI definition  Central implementation of user interface standards  Accessibility support  Adobe Forms integration  Centrally provided UI elements  Internationalization support  Supports major platforms  Java (as of SAP NetWeaver '04), ABAP (as of SAP NetWeaver 7.0) 01/10/13 Manoj Dhir 5
  • 6.
    Motivation Web Dynpro Web Dynpro  UI definition independent of client technology  As much abstract declaration as possible  Different rendering engines for different (future) UI technologies without adapting application coding 01/10/13 Manoj Dhir 6
  • 7.
    Application Scenarios WithWeb Dynpro SAP NetWeaver Portal NetWeaver Web Dynpro iView Web Dynpro iView Business Client Web Dynpro J2EE ABAP Web Dynpro Web Dynpro App Web Dynpro Web Dynpro Web Dynpro App App App Runtime Runtime ABAP SAP RFC, WS Workbench NetWeaver Developer Studio RMI J2EE ABAP Business Server EJB (e.a.) Server API (BAPI, BackendBusiness Business Application Web Services) Data Data 01/10/13 Manoj Dhir 7
  • 8.
    Come to thepoint -The Development  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  ABAP lifecycle management  Transport  Translation  Enhancements 01/10/13 Manoj Dhir 8
  • 9.
    Meta-Model Declarations and CustomCoding  Meta-model  Custom Coding Declarations  Guarantees universality  Guarantees common app. design  Good for data-driven, dynamic  Good for graphical tool support apps  Screen Layout and Nesting  Implementation of business rules  Navigation and Error Handling  Dynamic screen modifications  Data Flow  Access to services (files etc.)  Componentization  Portal eventing  ...  ... Meta-data Run able App Generated Compiler Web Code Dynpro Generator Tools Custom Code 01/10/13 Manoj Dhir 9
  • 10.
    Model View Controller(MVC) Generates the application data without caring how it Model will be displayed. Binds the user and business interaction layers together. All intermediate processing is performed here. Business Interaction Layer User Interaction Layer Controller Visualizes the application data without caring how it Binding Layer was generated. View 01/10/13 Manoj Dhir 10
  • 11.
    Defining View Layout UIelement UI libraries element tree of view Properties of selected UI element View layout 01/10/13 Manoj Dhir 11
  • 12.
    UI Element Categories e.g. Button, InputField, Label e.g. DateNavigator, Table, Tree e.g. TransparentContainer, Tray Each UI element object is represented as an abstract class that is independent of any client presentation layer. 01/10/13 Manoj Dhir 12
  • 13.
    Lets Wrap up.Anyone?  Web Dynpro is SAP’s UI strategy  Declarative, MVC based UI programming model  UI definition independent of rendering technology  Web Dynpro for ABAP available with SAP NetWeaver 7.0  Programming model similar to Web Dynpro for Java  Completely Integrated into the SAP NetWeaver Application Server ABAP 01/10/13 Manoj Dhir 13
  • 14.
  • 15.
    Thank you ! CanI ask ? 01/10/13 Manoj Dhir 15
  • 16.
    Where to GetMore Information  www.sap.com 01/10/13 Manoj Dhir 16

Editor's Notes

  • #4 UI development should be independent of rendering technology: developer should just think about UI design and not worry about HTTP request/response cycles No HTML or JavaScript code part of UI definition no need to care about browser platform, not even if the client is a web browser at all Whole UI definition (layout, eventing, data binding,...) stored in format independent of client technology allows rendering for different UI technologies: browsers, rich clients, future technologies clients in case of future UI technology paradigms (“WWW forever?”) the application UI should still be usable without redesigning
  • #9 Forward Navigation is possible in Web Dynpro, however objects cannot be created using forward navigation
  • #10 Metamodel Concept and Declarative Programming A Web Dynpro application is developed using a declarative programming approach. Within the ABAP Workbench there are special tools that allow you to build and abstract representation of your application in the form of a Web Dynpro metamodel. The necessary source code is then generated automatically and conforms to a standard architecture known as the Web Dynpro Framework (WDF). The WDF allows each controller within a component to have a set of standard hook methods. It is within these hook methods that any required custom coding can be placed. In addition to the events provided by the WDF, you can also define your own events for a Web Dynpro application. All Web Dynpro applications are constructed from the same basic units. However, through the use of custom coding in the standard hook methods, the standard framework can be extended to supply any required business functionality. Not all implementation decisions need to be made at design time. It is perfectly possible to implement a Web Dynpro application in which the appearance of the user interface is decided at runtime. This allows a highly flexible application to be written without requiring the need to directly write any HTML or JavaScript.
  • #11 The roots of Web Dynpro – Model-View-Controller SAP’s Web Dynpro is built on the foundation of the Model-View-Controller (MVC) design paradigm. MVC was a revolutionary design paradigm because it was the first to describe software components in terms of: The functional responsibilities each should fulfil. The message protocols to which each component should respond. SAP has modified and extended the original MVC specification in order to create the Web Dynpro toolset.
  • #12 UI elements are provided in several UI element libraries on the left hand side The hierarchy of the UI elements can be seen and changed in the UI element hierarchy at the top right of the workbench. A view layout is defined by placing UI elements on the view via drag and drop or changing the UI element hierarchy directly. Properties of a selected UI element can be defined at the lower right corner Visible UI elements can be arranged by container UI elements (transparent container, tray,…) with specific layout properties (Matrix, Flow Layout,…)
  • #16 What has been extended from standard MVC in Web Dynpro ?