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 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 SmartDataObjects (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.
The ADM2 API is considered self-documenting. Please see the source code in the OpenEdge-install-dir\src\adm2 directory for details on new APIs and properties.