cancel
Showing results for 
Search instead for 
Did you mean: 

Suggestions for optimal solution to load application with dynaminc view

Former Member
0 Kudos

Hi Experts,

I have a Web service which is providing me data from database as well as data which will help to create UI of the view.

In my view i have to ceate tabs in a tabstrip. Number of tabs are dynamic depending on data from web service. In each tab i have to create tables with dynamic columns and some additional text views and edits. Now, tabs and columns of tables, coming from web service are in random order and i need to sort the tabs and tables depending on values filled in a database table. this database table is like a configuration table.

Creating view in a random order is done and for createing a sorted view i am planning to go with "bucket sort". Now my question here is as every thing is dynamic it will take lot of time for aplication to load which is not desired.

I need your expert suggestions on how can i reduce the time view takes to Load entire application.

Regards

Pranav

Accepted Solutions (1)

Accepted Solutions (1)

siarhei_pisarenka3
Active Contributor
0 Kudos

Hi Pranav

First of all only special Java Profiling tools like SAP JVM Profile, JProfiler, etc. can evaluate the real performance of your application and show the slowest places within it.

Here I'll just try to predict the following aspect based on the common sense and my practice:

If you are creating all the tabs in advance and also loading all the business data for the tabs in advance very likely you'll face with the performance issues.

As you are implementing a TabStrip for the best performance I'd suggest you make all the tabs lazy-loading. I mean that a content and business data for each tab shall be constructed only when user actually clicks on the tab. Try to put the UI structure of each tab into a separate view. Try to divide your huge initialization and UI construction phase onto small pieces. Each tab will be responsible for building of the corresponding piece of UI structure and loading the piece of business date.

Look at my blog also. Hope it'll help you:

[Effective WebDynpro Applications: Lazy Tabs in TabStrip|http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/17091] [original link is broken] [original link is broken] [original link is broken];

BR, Siarhei

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Everyone,

Thanks a lot for suggestions.

@ Armin: Yes WS is taking lot of time to load data. Also as i have too many dynamic columns and tabs, sorting data according to configuration database table is also taking time.

@ Siarhei: Yes, i am already following a similar concept. Creating tabs initially and when user clicks on a tab i am generating UI in that tab.

Regards

Pranav

Former Member
0 Kudos

Have you measured why loading the application is too slow? Is it the Web service invocation or the UI creation? If the Web service invocation takes the time you might show a simple UI first and invoke the Web service on some user interaction. Then the user would at least know that he has to wait some time for the final UI.

Armin

Former Member
0 Kudos

Hi Friend,

There are may ways to optimize the performance of the application,

First we need to concentrate on the basic web dynpro concepts like componentization. By implementing this concept we can achieve the gol. we need to know whether the monolithic component architecture or Multi component architecture which is suitable and the communication flow between them. More on this you can find here

[Use components in bigger Web Dynpro projects (componentization) |http://wiki.sdn.sap.com/wiki/display/WDJava/UsecomponentsinbiggerWebDynproprojects+(componentization)]

second you can check the proper implementation of the web DynPro hook methods. if this is done properly then most of the application flow will go very smoothly. there is one very good presentation available on this at SDN here

http://www.sdn.sap.com/irj/scn/elearn;jsessionid=(J2EE3417200)ID0393138650DB00661116440296043375End?...

You should also check these link it will be very Helpful.

[Best Practices for Optimizing Web Dynpro Java Application Performance|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/604ddc2f-ec9c-2b10-1682-be37e1c62dee?quicklink=index&overridelayout=true]

[Best-Practices for Building State-of-the-Art Web Dynpro Java User Interfaces - Exercises|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/50568365-ba9e-2b10-1188-a612a20edf31?quicklink=index&overridelayout=true]

Regards

Jeetendra