Web Dynpro Architecture

Definition

Web Dynpro is the SAP NetWeaver programming model for user interfaces (UIs).

The Web Dynpro model is based on the Model View Controller paradigm, and has the following features that build on the classic dynpro model:

·        Clear separation of business logic and display logic

·        Uniform metamodel for all types of user interfaces

·        Execution on a number of client platforms.

·        Extensive platform independence of interfaces

Web Dynpro is available both in the Java and the ABAP development environment. Platform-specific information is available under:

Web Dynpro for Java

Web Dynpro for ABAP

Structure

Metamodel Concept

Web Dynpro provides support for developing Web representation of a business application. You use specific tools to describe the properties of a Web Dynpro application in the form of Web Dynpro metadata. The necessary source code is then generated automatically and executed at runtime. In addition to the events offered by the framework, you can also define your own events for a Web Dynpro application. However, the event handling must always be programmed in separate source code areas which are executed automatically when the event is triggered at runtime.

In Web Dynpro, each user interface is always made up of the same basic elements. These elements of the metamodel can be statically declared using Web Dynpro tools.

It is also possible to implement elements of the metamodel at runtime and to change them or reintegrate them at runtime. Using these implementations, you can make any changes or enhancements to a user interface that has been created by declarative methods by generating new interface structures at runtime.

This means that you can combine declarative processes and the implementation of source code.

Graphical Development Tools

To support this declarative concept, both the SAP NetWeaver Developer Studio and the ABAP Workbench contain a range of Web Dynpro tools. You can therefore generate a large proportion of a Web Dynpro application using the tools provided, without having to create your own source code. This applies to the following parts of the application:

·        Data flow between the front end and back end

·        Layout of the user interface

·        Properties of user interface elements

The Web Dynpro tools enable you to create source text areas manually within generated source texts. These areas are not changed if the source code is regenerated.

Separation of Business and Application Logic

Using Web Dynpro enables a clear separation of business logic and display logic. A Web Dynpro application runs on the front end and has local or remote access to the back end system via a service. This means that the display logic is contained in the Web Dynpro application, while the business logic and the persistence of the business objects run in the back end system. The following options are currently available for connecting Web Dynpro applications and the back-end system:

·        An interface generated using adaptive RFC, through which BAPIs of an SAP system can be called

·        An interface for calling Web services

·        A self-generated interface

The source code required for connecting the Web Dynpro application can be generated from a UML definition of the Web Dynpro interface. A UML definition can be imported into the Web Dynpro tools as an XML file.

Conversion of the Model-View-Controller Programming Model

Every Web Dynpro application is structured according to the Model View Controller programming model:

·        The model forms the interface to the back end system and thus enables the Web Dynpro application access to data.

·        The view is responsible for the representation of the data in the browser.

·        The controller lies between the view and the model. The controller formats the model data to be displayed in the view, processes the user entries made by the user, and returns them to the model.

·