Progress
AppBuilder
Developer’s Guide
Dynamic SmartDataObjects
The dynamic version of the SmartDataObject is designed particularly for distributed use.
A static client-side SmartDataObject can only deal with one particular data stream—the specific data stream being supplied by its counterpart on the server. This is a limitation that can be significant where many such streams are involved, if the client-side objects are not stored locally. The Progress WebClient is one such case—it is designed to be downloaded for use over a wide-area network such as the Internet. (See the book Progress on the Web, for detailed information about downloading and using the new WebClient.)
The dynamic SmartDataObject solves a large part of this problem.
The dynamic object acts as a generic, general-purpose data pump. It is not limited to handling a specific data stream, as a static SmartDataObject is. The dynamic object automatically cooperates with any static, server-side SmartDataObject and can be attached to any client-side display object such as a SmartDataBrowser or SmartDataViewer.
These broad capabilities come at the cost of client-side customization.
Because it is designed to handle a data stream of any composition, you cannot enhance the dynamic SmartDataObject with custom routines. This is true even of custom validation procedures. You can add custom client-side validation routines to the static object, if you choose, but you should remain aware that all such custom routines will actually run in the static object on the AppServer, not on the client.
Since any SmartDataObject is only a data pump, you must connect its data stream to other modules for display or manipulation. Those other objects can take a number of forms, both Progress and non-Progress. You define and create them separately from the SmartDataObject.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |