Controllers and Their InterfacesPrimarily Web Dynpro follows principles of declarative, model-based user interface development which minimize coding and maximize design. Nevertheless the implementation of a Web Dynpro controller class demands a good understanding of the underlying controller class and interface architecture. This architecture is based on extensive code-generation which highly simplifies your application coding.
To implement Web Dynpro controller code an application developer must know about the following issues:
● How do the controller declarations, which are done by the application developer, affect the generated controller classes and interfaces?
● Which interfaces can be used in a Web Dynpro controller class to invoke inbuilt, or generated controller functions?
● Which public controller interfaces can be used to call one controller from another.
● Which controller interfaces, implemented by the Web Dynpro Java Runtime, can be used to invoke generic controller functions?
This section comprises a detailed description of the Web Dynpro controller and interface concept and answers the above questions. It is separated into the following three sections:
1.
Concepts: Two sections on the
controller concept
and the
controller interface
concept explain the technical principles
behind all Web Dynpro controllers and behind the layered controller interface
architecture (IPrivate, IPublic and generic controller interfaces).
2.
Example: Based on a
concrete
sample component
with three controllers you learn how different declarations affect the
generated controller classes and interfaces. Various programming tasks are
described and solved by invoking generated or generic controller interfaces.
3.
Reference: The
Controller Class and
Interface Reference comprises a detailed description of all generated Web
Dynpro controllers and interfaces. It documents how the specific controller
definitions like controller usages, public methods,
events, event handlers or navigation plugs
affect the automatically generated Web Dynpro controller classes and
interfaces. In contrast to the generic Web Dynpro
controller APIs (IWDController, IWDComponent, IWDViewController and IWDWindowController) the generated classes and interfaces cannot
generally be documented with JavaDoc. This gap is
filled by the controller class and interface reference.

This section is focusing on a single Web Dynpro component and does not cover scenarios with multiple components. Therefore the controller-specific aspects of implementing local and standalone component interface definitions are not described in this section.