Progress
AppBuilder
Developer’s Guide
Configuring a SmartDataObject Instance
Every SmartDataObject instance has a number of default properties you might wish to change. Two of the most important are:
- Determinism — By default, every instance you place represents a particular master object, with a defined behavior. Under some circumstances, it might be more appropriate to treat the instance as a placeholder at design time, and conditionally load a particular SmartDataObject under program control at run time. The possible applications of this ability are numerous.
- Statelessness — By default, SmartDataObjects do not bind their AppServer session unless the AppServer Broker is configured to run statefully, with session-long connections. If the AppServer Broker is running in stateless (connectionless) mode, so will the SmartDataObject. Statelessness allows many more clients to share the available AppServer sessions. The cost is an increase—typically small—in the time it takes to re-establish connection for each request. To avoid this time penalty in selected cases, you can choose to force the SmartDataObject to bind its session and operate statefully.
To configure the SmartDataObject instance, follow these steps:
- Click the menu button to open the SmartDataObject menu. Choose the Properties item. The properties dialog box opens:
![]()
- Change the Object identifier to one that more accurately reflects the role of this SmartDataObject in your application.
- If you wish to use the object as a placeholder, see the "Creating a SmartObject Placeholder" section in "Frequently Used Dialogs."
- Choose OK to dismiss the dialog box. Click the menu button again, and choose the Instance Properties item. That dialog box opens:
![]()
- Set the properties and choose OK.
The Instance Properties you can change in Step 5 are:
- Partition — Normally cleared (set to None). If this SmartDataObject is to run on an AppServer, you must assign it to a partition from this list. If there are no partitions listed, you can define as many as you need using the AppServer Partition Deployment Tool, available from the PRO*Tools toolbar. Partition tags that you define in this way are immediately made available to AppBuilder, and appear in this list.
- Rows to Batch — Normally 200. This number represents the number of records fetched from the data source into the RowObject temp-table per read operation. Any choice you make here has performance implications that cannot be easily characterized. Experiment to see what number gives the best performance for your particular application.
- Force to Stateful Operating Mode — Cleared and cannot be set unless you assign this object to a partition. Setting this box will cause this object to bind its AppServer connection for the duration of the session. When the box is cleared, connection binding is determined by the AppServer itself.
The final two options are specific to use of the SmartDataObject in a WebSpeed context. They have no meaning in a standard client-server context. For further information, see the online help and the WebSpeed documentation.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |