Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
BeGanz
Product and Topic Expert
Product and Topic Expert
0 Kudos




In this WebLog I want to announce the first single-source knowledge resource on Web Dynpro Java Performance Guidelines available on SDN:

Best Practices for Optimizing Web Dynpro Java Application Performance

In this presentation hand-out document you can find a collection of best practices, dos & don'ts or tips & tricks to optimize your Web Dynpro application performance in respect of enhanced UI responsiveness on client side and minimized memory consumption on server side. The performance guide applies to SAP NetWeaver CE 7.11 EhP1and partially to SAP NetWeaver 04 and 7.0 (rules are marked correspondingly).

The Web Dynpro Java Performance Guidlines were first presented at SAP TechEd '08, llecture COMP204 on "Best Practices for Optimizing Web Dynpro Java Application Performance". Watch full COMP 204 session video with your Virtual SAP TechEd Content Subscription.

Enjoy Web Dynpro Java,

Bertram Ganz, Senior Product Specialist, NW Core UI&AM F OPS, SAP AG

See also



Presentation Abstract


In this new presentation you learn the most effective best-practices to optimize the performance of your Web Dynpro Java application regarding an enhanced UI responsiveness on client side and minimized memory consumption on server side.

The given recommendations and best-practice rules focus on different aspects related to user interface design, component granularity, component and controller lifecycle management, controller contexts, on-demand resources, table paging or models likethe Adaptive RFC model.

This session is based on Web Dynpro Java in SAP NetWeaver CE 7.11 EhP1 so that performance rules related to the newest Web Dynpro Java Ajax features like the different flavors of suggestion, asynchronous input validation or the new UI element event onChange are also considered.

Table of Content


Overview of Web Dynpro Java Performance Aspects


 

  • End-to-End Time: Who eats my TIME?

  • On Server Side: Who eats my MEMORY?

  • Another Performance Flavor: TCD* and Development Efficiency

  • Main Objective: „Know to Tackle Web Dynpro Java Performance Gremlins as a Developer"


 

Web Dynpro Java Performance Guidelines


 

Focus: User Interface


 

  • Apply Container Layouting Rules and - Avoid Deep Container Nesting

  • Exchange Transparent Root Container UI  Element with other Container Types in CE 7.1

  • Load Large Trees on Demand - Use New Table Selection Change Behavior

  • Make UI Containers Invisible Instead of UI Elements

  • Adobe Interactive Forms Dos and Don'ts (1, 2)


 

Focus: Programming Model


 

  • Implement wdDoModify() Hook Judiciously - Use Context for Fine Grain UI Manipulations

  • Optimize Controller Lifespans - How to Determine a View Controller's Lifespan

  • Correctly Initialize Component Controllers - Use Additional Custom Controllers

  • Create Static URLs for Static MIMEs


 

Focus: Controller Contexts


 

  • Minimize Generation of Typed Context APIs - Avoid Context Mapping if not Needed

  • Don't Declare Context Model Nodes and Attri-butes NOT used for Data Binding Purposes

  • Apply Alternative Techniques to Share Data Across Controller and Component Borders

  • Prefer Singleton to Non-Singleton Context Nodes

  • When to Define Non-Singleton Context Nodes

  • When to Use the Validate-By-Rendering Technique (1, 2)

  • Create Resources on-Demand to Download Large or Many MIME Files


 

Focus: Componentization


 

  • Finding the Best Web Dynpro (Development) Component Granularity

  • Accelerate Single Development Cycles

  • Apply Inverse Search Function to Resolve Usage Dependencies

  • Split your Web Dynpro Application into separate Web Dynpro DCs

  • Apply Component Interface Definitions For Loose Component Coupling (Strategy Pattern)

  • Optimize Component Lifecycle Management

  • Favor Java Utility Classes over Faceless Web Dynpro Components

  • Read SPJ Article Series on Component-Based Architecture in Web Dynpro Java


 

Focus: Models


 

  • Adaptive RFC Model Dos and Dont's (1, 2)


 

Focus: New Ajax Functions


 

  • New Suggestion Support in CE 7.11 EhP1 Potentially Increases Number of Roundtrips!

  • Asynchronous Input Validation in CE 7.11 EhP1 - Increases Number of Server Roundtrips!

  • New onChange Event in CE 7.11 EhP1 - Increases Number of Server Roundtrips!


 

Special: Web Dynpro Table Paging


 

 

Performance Tools Overview


 

  • Available CTRL+SHIFT+ALT Shortcuts

  • Show detailed HTML DOM analysis

  • Show „Stacked" Performance Infos for ALL Roundtrips in Running Client Session

  • Analyzing Web Dynpro Java Application Performance with a Simple URL-Parameter

  • Reporting the Memory Consumption of a Web Dynpro Application in Browser Window


 

Summary


 

  • Main Objective: „Know to Tackle Web Dynpro Java Performance Gremlins as a Developer"

  • Now You know „How to tackle the Web Dynpro Java Performance Gremlins"