Siebel Medical Handheld Guide > Working with Siebel Handheld Applications >
Guidelines for Improving Siebel Handheld Application Performance
If you find that the performance of the Siebel Handheld application is very slow or begins to degrade, the following can help to improve the application performance:
- Verify that you are using a Siebel supported device for your application. See Siebel System Requirements and Supported Platforms on Oracle Technology Network.
- Maximize the amount of memory that is available to run the Siebel Handheld application. When you run the Siebel Handheld application, it is recommended that you do not run any other applications.
- Increase the amount of memory that is allocated for running applications.
- Install the binaries to a CompactFlash card. For more information about this task, see Setting Up Siebel Handheld Application Installation on a CompactFlash Card.
To increase application memory
- From the Start menu, select Settings.
- Select the System tab and tap Memory.
- Move the slider bar so that more memory is allocated to Program Memory, then tap OK.
The following topics contain guidelines to help reduce the Repository Meta Language (RML) file size, database file (dbfile) size, and synchronization time.
Guidelines for Reducing the Synchronization Time
The process of reducing the sync time and improving performance for the Siebel Handheld application depends on your ability to:
- Reduce the amount of data that is downloaded
- Reduce the period of time it takes to extract the data
- Reduce the size of the .RML file
Follow these guidelines:
- Keep the Siebel Handheld application database file under 3 megabytes (MB).
- Keep the RML file under 1.5 MB.
- Limit the amount of views in the application to 30.
Limit the size of the dbfile.txt file to less than 3 megabytes (MB). The RDBMS on the handheld device will be approximately three times the size of dbfile.txt. If the data files are so large that they cannot be imported into the database with the available memory, users will not be able to successfully synchronize their data. Design data filters to limit the amount of data that is synchronized with the handheld device.
If too many records are downloaded, this increases the length of time it takes to synchronize the handheld device and slows down the Siebel Handheld application performance.
For more information about checking to see how much data is downloaded to your handheld device, see Monitoring Synchronization Sessions for Siebel Handheld Applications.
NOTE: You can also check the Siebel Server log file to see how many records are downloaded for each business component. However, you must turn on logging to capture this information in the log file. For more information about enabling logging for Direct Server Synchronization, see Configuring Logging Levels for Direct Server Synchronization. For more information about enabling logging for Companion Synchronization, see Configuring Logging Levels for Companion Synchronization.
Guidelines for Designing Data Filters
Oracle suggests the following general steps for developing synchronization filters for the Siebel Handheld application:
- Ensure you have configured the Business Object filters, in addition to the Business Component filters. Failure to optimize or set Business Object filters will lead to more data being downloaded, which negatively affects the overall synchronization time. Therefore, set the Business Object filters for your Siebel Handheld application deployment.
- Identify the screens and views of your Siebel Handheld application. Also, identify the business components that are required to support each screen and view, noting the areas where each business component occurs. For example, identify the form, list, or pick applets that are based on each business component.
- Set expectations as what data and how many records will be shown to a user for each view (Low, Avg, High). For Child records, make sure you specify a number based on the parent record.
- List the expected record counts for the picklist and pick applets.
- Prioritize the value of the data that is downloaded.
- Within Siebel Tools, establish the base parent-child relationships and any reverse relationships at the component level.
- Create the appropriate business object synchronization filters for each business object or screen and make sure that each screen includes a default filter. Default filters help to ensure that users avoid accidentally downloading an excessive number of records.
- Review the business components that occur in picklists and consider creating default synchronization filter declarations for those that will cause large numbers of records to synchronize to the handheld device. These declarations are maintained in the PDAQBE file.
- Pay attention to the business components containing enterprise visible data and create suitable filters for:
- Employees (for large organizations)
- Positions (for large organizations)
- Products (for example, active, orderable products)
- Activities (for example, filter for current Activities, Activities of only certain kinds)
- Ensure that the filter queries are based on the indexed fields, and that they are optimized to download only the required data to the handheld device.
- Translate all parent business component filters to the default business component filters to boost performance significantly.
NOTE: Configuration file directives are used only in specific situations and do not consider them as the primary method for filtering data. Modify these filters and directives cautiously and only with the support of skilled Siebel configurators.
For more information about how to design data filters to limit the amount of data that is synchronized to the handheld device, see Data Filtering for Siebel Handheld Applications.
Guidelines for Reducing Synchronization Time
To reduce the synchronization time, filter the amount of data downloaded to the business objects first. Specifically, set the data filters in this order:
- Business Object filters. This setting restricts data to the necessary parent records.
- Business Component filters. This setting extracts the relevant child records from only those parent records that made it through the Business Object filters.
Guidelines for Reducing the Time of Data Extraction
Your Siebel Handheld application generates different types of log and output files. Review the generated log file to identify:
- Which business object, business component, views, applets, and picklists are being extracted and in what order?
- How many records are being extracted?
- How long it takes for each record to be extracted?
Based on the information in the log file you need to identify trouble spots, which might be caused by bad filter query, no indexes, or too much data. For more information about how to address some of these issues, see Siebel Handheld Application Performance.
You can also eliminate pick applets and set run-time property=False for read only fields to avoid the unnecessary extraction for data.
Review the data and evaluate if the same data is being extracted twice under two business components with different names. If this situation is the case, change the configuration to rectify this. Additional configuration information can be found Bulletin 476964.1 on My Oracle Support. This document was previously published as Siebel Technical Note 405.
Guidelines for Reducing the Size of the RML File
The Siebel Handheld application performs best if you use the following guidelines:
- Keep the number of views in your application to 30 or fewer.
- For optimal usability, limit each view to one or two applets.
- To minimize horizontal scrolling, limit the number of columns displayed in a list applet to no more than ten.
- There is no limit on the number of fields in form applets of single-applet views. However, to minimize scrolling, keep the number of fields to 20 or fewer.
- Use a form applet for the parent for each parent-child view.
- In a multi-applet view, limit the number of fields in form applets to five or fewer for Pocket PC and 10 or fewer for Handheld PC. Add additional fields only if the field width is short, for example, a check box field. Reduce the number of fields if the fields are multiline. for example, a Comments box that contains three lines of text.
- Limit the number of views within a screen to 12 or fewer so that the View drop-down list is not too long and unwieldy.
- Limit the number of screens to six or fewer so that the Screen drop-down list is not too long and unwieldy.
NOTE: You can control the RML file size by making changes to the CFG file used during Companion Sync. For more information, see Using Companion Synchronization with the Siebel Handheld Client.
The areas that affect the RML file size are:
- DefaultViewxxx. The greater the number of views, the larger the RML file size, which results in an increase in sync time.
- DefaultBusObjs. An increase in the number of business objects and business component results in a larger RML size and dbfile size.
- DefaultFields. An increase in the amount of fields also results in larger RML size and dbfile size.
Guidelines for Improving the Configuration of the Siebel Handheld Application
Use the following guidelines when reviewing your Siebel Handheld application:
- Multi-value fields with links to search specifications have a negative impact on extraction time.
- For custom or heavily configured business components, it might be beneficial in some cases to clone the business component for the Siebel Handheld application to reduce the number of joins, links, and fields that are needed.
- Force Active and Link Spec properties force a field to be extracted to the Siebel Handheld application. If possible, avoid using these properties for fields that do not need to be downloaded to the handheld device.
- Siebel Handheld applications rely on specialized classes and user properties. These might require some Out-Of-Box (OOB) fields to be present when configuring the Siebel Handheld application. During development, ensure to keep the logging levels at the maximum level and review the log files for any missing fields.
- Avoid over-customization because it usually causes performance degradation and problems during an upgrade.
For more information, see Configuration Guidelines for the Siebel Handheld Client.