Discuss business intelligence, integration, compliance and a host of other SAP-related topics – implementation, best practices and resources to negotiate the world of SAP better!

« ERP adoption trends-A Healthy change for Healthcare Industry | Main | Using BSP Element Expressions (BEEs) in HCM E-Recruiting »

Win the last mile battle by addressing Performance and Usability of SAP Netweaver based Web apps…PART I of IV- Browser Layer

Historically functional requirements have remained the key focus of organizations working with enterprise applications such as SAP. However, in their race to meet the functional requirements of business users, many times non-functional requirements (NFR) and usability may take back stage and are not updated.

Business demands for flexibility and responsiveness have always put pressure on IT departments to increase the speed at which new applications are created or changes are implemented. Newer tools (such as Portal, MDM, Composites etc.) and new way of architecting (SOA, Virtualization etc.) the solution are being used by IT for being quick and efficient to support business of the enterprise. Each of these new tools and architecture has their own demands for NFR (performance, availability and security) and usability.

From performance point of view, following four key layers play important role:

  • Browser layer
  • Network layer
  • Application server layer
  • Database layer

Browser plays important role for browser based applications. A proper configuration at both server and browser can go a long way in enhancing the application performance over WAN and poor network situations.

Minimize calls to backend servers –

Calls from client to backend server can be minimized by caching the pages (i.e. JS, CSS,  text and other type of files) at client side. This way when the page is opened, browser first checks for it in the local folder rather than making call to server. This improves the browser response time. There are configuration parameters that are required to be set at server side (i.e. Cache control for J2EE HTTP) related to page life by setting up the days for which page remain live.

For enabling client side caching, “Automatically” option should be selected under “Check for newer versions of stored pages” in the Settings dialog box as show below-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Further, it is important to keeping the cached pages intact and allow them to be stored at client side by setting the disk space for the cache to a reasonable value (100 – 250 MB).

However, if web cache is to be kept in disk then there is need to also enable “Advanced cache settings” otherwise entire cache will be erased as soon as the browser is closed. To enable advance cache, following property should be unchecked in Advanced tab:

  • Do not save encrypted pages to disk
  • Empty Temporary Internet Files Folder when browser is closed

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  
  

  

  

Minimize amount of data to be travelled between Browser and server over the Network-

Even after enabling client side caching, pages will still be pulled from server after they reach their expiry date. Further, data will still travel between client and server. Hence, the next possibility is to compresses the traffic over the network between client and server. Compressed data due to its lower size will need less time to travel over the network and will also significantly reduce network traffic. Again, configuration is required at both client and server side. HTTP settings at server side need to be enabled as “Always compressed” for selected set of file types alongwith MinimumGZipLength.  MinimumGZipLength should not be less than 1024 bytes as it can cause the client to consume more resources when decompressing the compressed content.

Client side caching configuration is set by enabling HTTP1.1 standard known as content-encoding protocol. HTTP1.1 enabled browser indicates to the server that it can accept content-encoding, server then compress the data and transmit it. The browser then decompresses the data from the server, and then renders the page.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Further, in case of JavaScript files on Netweaver server, configuration settings for the  scriptset property should be set as “Optimized”. This will ensure that JavaScript files when sent to browser does not comments and unnecessary spaces and hence will be smaller in size.

Minimize browser side processing to eliminate any delay caused by client side activities (read, write, toolbars and Add-ons)-

Minimize or eliminate any browser side components that slow down page loading. Toolbars/Add-ons are such components. They usually slow down the page loading because they require resources or add more processing overhead. For this “Manage Add-ons” under Tools in IE should be selected to disable the components that are not needed.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Finally, keep your browser up-to-date and add the domain of your application to the white list so that pop-blocker is disabled for the application.  There is a patch published for Internet Explorer 6 that solves slow Web browser performance when browsing pages with JavaScript code.

In the next edition, I will blog about Server related issues for performance.

TrackBack

TrackBack URL for this entry:
http://www.infosysblogs.com/apps/mt-tb.cgi/2784

Comments

Hi Ashish,
In wd-java do we have any programming technique to be followed incase the number of UI elements are plenty (2000+ records of data to be displayed in multiple tables)?

WD-java take lot time in painting the screen in that case.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.

Subscribe to this blog's feed

Follow us on

Blogger Profiles

Infosys on Twitter