Está en la página 1de 2

29.04.

2011

SAP Community Network Wiki - Wiki -


Log In Register About Us How to Contribute Welcome Guest

SDN Communit y
Home Forums Wiki Blogs

BPX Communit y
Articles eLearning

Business Analytics
Downloads Code Exchange

University Alliances
Career Center Events

SAP EcoHub
InnoCentive Idea Place

Performance
Added by Sabine Kirschner, last edited by Alexander Pohoyda on May 08, 2008

Performance aspects
This information should help you to analyze performance problems with ITSmobile services. Performance problems are always difficult to analyze but you should be at least able to verify if the performance gap is related to your sap system, your application, your network or your mobile device. We will not exactly measure response times and the data traffic of ITSmobile services, neither we will dive into the performance analyzing of the sap system, instead we will try with a couple of simple basic tests to configure out where the performance gap is related to and where it makes sense to invest more time to get a better overall response time. Please keep in mind, that mobile services are ABAP based. Always call the services you are going to analyze a first time to let the SAP system compile the ABAP sources and fill the buffers. The ITS also needs this first call to pre-parse the templates and store them into the its template cache. The ICMAN has to read the mimes out of the database into his HTTP-Plugin server cache. All this has to be done during the first access, so in general the first call of a service is not of interest for performance analyzing.

Content:
1) Performance checklist 2) Known performance issues with mobile devices 3) Conclusion

1) Performance checklist
First step is analyzing and understanding the performance problem. That means we have to check the performance of each involved component. In rare cases, you have additionally to check if the problem is related to a specific SAP server, to a single location, to a specific application or to single screens of an application. Involved components: ? SAP system ? Application ? ICMAN/ITS ? Mobile Device

SAP system
To check the system performance, start the SAPGUI for Windows and call a couple of SAP basis transactions like SE38, RZ11, SM50 or SM04 to get an idea of the application servers performance. If the performance of this transaction is already poor it does not make sense to continue with performance analyzing of the mobile services. Use the SAP basic tools to find the reason for the poor system performance.

Application
ITSmobile Services are ABAP based, that means the mobile transactions can be called with the SAPGUI for Windows. Logon to the system and call the mobile transactions with the SAPGUI for Windows. You will find the transaction of the mobile service within the ICF service tree (transaction SICF), in the GUI settings, parameter name ~transaction. Sometimes, if you start this transaction within the SAPgui you will get an error message, that the transaction could not be started. Simply terminate the easy access menu ( enter "/n" in the okcode field until you get the "Start Easy Access Menu" screen.). Now the transaction can be started in the SAPGUI forWindows. Input exact the same data as on your mobile device and you will get an idea of the performance of the transaction. It doesn't matter if you call the transaction using SAPGUI for Windows or via Browser using HTTP, in both cases the same application code is running and will need the same execution time to reproduce the same results. If the performance of the transaction is bad, use ABAP tools to find out the reason. It does not make sense to continue with analyzing the performance of the mobile service.

ICMAN / ITS
Next step is to check the response time of the HTML/HTTP related components in the backend. Start your favorite browser on your desktop PC and call the ping service. ( URL: http://<server>: <port>/sap/public/ping?sap-client=000 ) to get an idea how long the access of an http service in the backend takes. After testing the ping service, start the ITSmobile service itsmobile00 (URL: http://<server>:<port>/sap/bc/gui/sap/its/test/mobile/itsmobile00?sap-client=000 ). On your desktop PC you probably do not experience a big difference between both services, despite the fact that the service itsmobile00 has to run a small piece of application coding, the ITS has to convert the data stream to HTML and the browser has to draw the html page. If possible repeat the test with your desktop PC connected using the same WLAN as your mobile devices, that gives you an idea if the wireless network has any effects on the response time.

Mobile device
Test on your mobile device Do the same test, calling service ping and calling service itsmobile00 on your mobile device. If there is a big difference between the response times on your desktop PC and your mobile device the performance problem is related to the mobile device. The performance problem is NOT backend related.

2) Known performance issues with mobile devices


If you run the tests described in 1) "Performance checklist" you usually end up with the insight, that as long as no mobile device is involved the performance is perfect. The ping test from above is the only test case which is pretty fast on mobile devices too. The reason is, that the transferred data rate is pretty small and there is not much to paint for the browser. If you start the itsmobile00 test service on your mobile device you probably already recognize a much longer response time. This longer response time is the result of the limited CPU power and the poor rendering performance of the browser on many mobile devices. Let us know look closer to this limitations and discuss how we can get around it to improve the performance on mobile devices.

Configuration: battery lifetime versus CPU speed/RAM retention


On many mobile devices you will find under a menu path like "Settings->System->Power->Battery" a slider where you can configure the mobile device to increase battery lifetime by decreasing RAM retension/performance. Check this settings on your mobile device.

Mobile browsers without cache


The HTTP data stream of ITSmobile services can be divided into mimes and template data. The template data contains application values and is changing with every application screen. Mime data is very

wiki.sdn.sap.com/wiki//Performance

1/2

29.04.2011

SAP Community Network Wiki - Wiki -

stable, the content of mime files usually changes only during the developing phase of a service or if you implement bugfixes. If a mobile device has no browser cache, the mime data is requested and send again and again from the server with every submit even if the content does not change. You can use the ITS publish service to store the mime data directly on each mobile device and avoid unnecessary network traffic. To access the local stored mime data you have to set the ITS parameter ~urlmime to the local storage location. That's it. At runtime the ITS will read the ~urlmime parameter and use its content to generate the mime links in your html templates referring to the local storage location. The mimes will not longer be sent over the network, the mimes will be read from the local file system instead. The disadvantage is the administrative overhead. You have to copy the mimes onto every mobile device. If a mime file changes, you have to get the changed file to every mobile device. By the way, many mobile devices already has software available which helps you to automate the distribution of files to many single devices. Sample, store mime files in local file system on the mobile device 1) Logon to SAP system. Call transaction se80 ( ABAP workbench ). 2) Change publish location for ITS. In the workbench menu select Utilities->Settings. Change to tabstrip page "Internet Transaction Server". Select tabstrip page "Publish". Select "To local directory" instead of "INTERNAL" and specify a local directory path. Save the setting. 3) Change to your ITS services in the ABAP workbench. Select your service, use the right mouse button and select "Publish->Complete Service". Check the message line to verify that the service has been published to the local file system. 4) Change to ITSMOBILE default service in the ABAP workbench. Publish this service to local file system too. 5) Restore the default. Select "Utilities->Settings" in the workbench menu again, Select tabstrip page "Internet Transaction Server", Select page "Publish" and reset to SITE INTERNAL. 6) The local directory to which we published the services should now have the following subdirectories: mimes services templates Move the directory mimes (including all subdirectories) to the mobile device e.g. under path : \sap\mobile (the folders services and templates can be ignored) 7) Change ~urlmime parameter to local directory path Call transaction SICF, select your service, edit GUI settings and set the ITS parameter ~urlmime to "file://\sap\mobile\mimes" to redirect the mime access to the local directory. Save the setting. 8) Test the service on the mobile device and verify that the mimes are accessed locally. To check the new url access path, do a view html source on your desktop browser: The mime requests in the templates like: src="`mimeURL(~service=" itsmobile",~theme=99,~language="",~name="scripts/all/mobile.js")`" should be resolved in the html source to the local directory: src="file://\sap\mobile\mimes/itsmobile/99/scripts/all/mobile.js"

Mobile browsers, not supporting table-layout style (slow table rendering)


Some mobile browsers do not support absolute positioning in HTML pages therefore the ITS template generator has to use html tables for the page layout. The table layout is done with a character table spanning the complete screen using the character positions from the dynpro for the single fields. This produces an HTML layout pretty close to the dynro screens. To help the browser to render this pages faster the style "table-layout:fixed" is set. Mobile browser which do not support this attribute need much more time for rendering because they have to calculate each single cell and column size based on the content. Tables are also used for rendering subscreens, frames and step loops. Having a dynpro screen, containing a subscreen with a step loop on it leads to html page containing 3 nested tables. The result is a poor rendering performance on browsers not supporting fixed table layouts. If possible, avoid such constructions on mobile screens. Anyway it's always a good idea to keep mobile screens simple. If you don't like to change the dynpro layout, you have to manually change the generated template to speed up the rendering. The ITS template generator can not do this, because of it's generic way creating the templates. If you manually change the generated template, try to replace the <table> with a <div> tag, convert the table lines (<tr></tr>) to line breaks (<br>) and use the <span> tag for cells (<td>). This could reduce the rendering time to less than 50% of the original, generated, page if nested tables occurs on the page. You may optimize the html for a single screen only, or create your own template generator to optimize all screens for your specific browser. Please keep in mind, optimizing the generated html is a consulting issue. You need detailed html knowledge.

3) Conclusion The performance of ITSmobile services mainly depends on the used mobile devices. Saving money here has to be paid for effort to optimize the generated html or to admistrate local mime files on each device to improve the performance.

Labels
itsmobile

Contact Us Site Index Marketing Opportunities Powered by SAP NetWeaver

Legal Terms

Privacy

Impressum

wiki.sdn.sap.com/wiki//Performance

2/2

También podría gustarte