skip to main content
OpenEdge Development: AppBuilder
Data-Access Objects : DataViews
 
DataViews
A data view is a logical view of data. The structure of a data view does not reflect the structure of data in a particular data source. Rather, the data view’s structure represents a convenient arrangement of data for a particular task. A data view might include calculated data or even data from several different data sources.
The OpenEdge DataView is an ADM2 implementation of a data view. The DataView provides data binding between an ADM2 UI and a ProDataSet. The DataView is based on ProDataSets to take advantage of their efficiency. To make integrating DataViews into your applications easier, DataViews have the same object type as SDOs. This type enables existing visual objects to connect to DataViews exactly as they do to SDOs.
When you look at how a data object gets data from the data source to the UI, the process has these main parts:
*The interface between the data object and the UI
*The in-memory data storage
*The data access from the data source
In the SDO, these parts are encapsulated in a single object. When you work with DataViews, the process is spread between several objects. The DataView handles the data interface with the UI. The data interface transfers data between the UI and the in-memory data storage. One or more ProDataSets, managed by a DataContainer, handle the in-memory data storage. Finally, a Service Interface that you create serves as the gateway to the back-end process that handles data access with the ultimate data source.
This separation fits well with the OpenEdge Reference Architecture style of programming. The reference architecture also calls for a Service Interface between the back-end processes of the Business Services layer and the front-end processes of the Presentation and Integration layers. The DataView fits neatly into this prescription.
Note: For more information on programming with DataViews, see the development whitepapers on PSDN Web site: http://www.psdn.com/library/index.jspa