Abstract Data Proposal
From OpenLaszlo
Contents |
Introduction
This proposal is no longer valid. It was superceded by the Explicit_Replication proposal.
Proposal
The proposal is to introduce two new abstract types: datamanager, and abstractdataset, and concrete implementations for those types. This proposal should be considered along with the Explicit Replication proposal already available.
Datamanager provides a means of implementing a particular policy for interacting with network resources. There is a default datamanager provided in every OpenLaszlo application, which basically provides the network policy settings that are now available under LzDataLoader and LzCanvas. But developers can implement new datamangers with more sophisticated policies, such as request aggregation and logging.
Data Managers
Introduce a new tag, datamanager, which may be legally declared as a child of canvas or library. There can be multiple datamanagers declared in a single OpenLaszlo application, but each must have a unique name, and only one can be the "default" datamanager. Each dataset is associated with a single datamanager; if the dataset does not specify its datamanager by name, the default datamanager is used.
Data Sets
Introduce an interface for abstract data sets. This interface is the common API used for interaction with data managers and view replicators. The interface intentionally leaves out APIs for specifying the data itself or its source -- that is up to a concrete data set to specify. The interface with view replicators is essentially an API for accessing individual result nodes, rich enough to support page-requested data.
Replicators
We introduce a new collection of explicit view replicator classes. These view replicators use the new abstract data set access APIs. See the Explicit Replication proposal for more here.

