Remote Data Adapters

This is a Concept topic for Data Abstract
A remote data adapter is a centralized component for fetching data from a DataAbstract server and sending it back. It's a single component to retrieve all data tables published by a server. The RDA replaces the per-data table access used in DataAbstract v2 and v3.
.NET

The RemoteDataAdapter component represents client-side access to a set of data tables published on the server. There's also a LINQ specific version of the remote data adapter: the LinqRemoteDataAdapter. This class allows you to use LINQ queries to request data.
It's similar to the other DataAdapter descendants provided by the .NET Framework (SQLDataAdapter, OleDbDataAdapter, etc.) and can be used to retrieve schema information to fill a DataSet with data from the server or to apply local updates back to the server. The LINQ version supports LINQ queries using the from x in lindrda.GetTable<TableName> ... syntax.
Essential Properties
- The RemoteService specifies the service to call for fetching and updating data and for retrieving schema information.
- The DataStreamer specifies the type of streamer to be used for decoding and encoding data that is received from or sent back to the server.
- The Schema returns the data schema provided by the connected RemoteService.
Dynamic Method Binding
The RemoteDataAdapter supports Dynamic Method Binding to give you control over how methods are invoked on the remote server to fetch or apply data.
The following properties allow the manual binding of the adapter to any custom server interface:
- DataRequestCall defines the remote service call that will be executed to fill a dataset with data from the remote server.
- DataUpdateCall defines the remote service call that will be executed to update the server data with local changes.
- SchemaCall defines the remote service call that will be executed to fetch schema information from the remote server.
By default, a newly instantiated RemoteDataAdapter is configured for the standard methods provided by Data Abstract servers, as defined in the IDataAbstractService, but you can manually adjust the aforementioned properties to control the calls that are made.
Class Hierarchy
RemObjects.Common.BaseComponent->BaseDataAdapter->DataAdapter->RemoteDataAdapter
Delphi

The TDARemoteDataAdapter component forms the center of communication from the client to the server. It provides all the logic for retrieving data into TDADataTables, applying changes back to the server and handling any other data-related communication with the server, such as retrieving business rules scripts or schema information.
The adapter contains four specialized TDARemoteDataAdapterRequest classes to configure how communication with the server is handled. These requests can handle talking to the standard v3.0 or v4.0 service interfaces out of the box, or can be configured to any custom server interface you might be using, with Dynamic Method Binding.
Essential Properties
- The RemoteService specifies the data service that this adapter will communicate with.
- The DataStreamer specifies the type of data streamer to be used for reading and writing data from and to the network.
Dynamic Method Binding
The following aforementioned TDARemoteDataAdapterRequest-based properties allow the manual binding of the adapter to any custom server interface:
- GetDataCall describes the server call that will be used to fetch data from the server.
- UpdateDataCall describes the server call that will be used to apply changes back to the server.
- GetSchemaCall describes the server call that will be used to obtain schema info from the server (mostly at design-time).
- GetScriptsCall describes the server call that will be used to download business rules scripts.
All of these calls can be reset to the default settings for the v4.0 or v3.0 service at any time by calling the SetupDefaultRequest or SetupDefaultRequestV3 methods respectively, or by right-clicking the remote data adapter component at design-time and choosing the appropriate menu item. By default (when freshly dropped or created), the calls will be configured for the v4.0 interface.
Class Hierarchy
TDABaseDataAdapter->TDARemoteDataAdapter
Xcode

The RemoteDataAdapter component provides client-side access to a set of data tables published on the server. It encapsulates all the information needed to communicate with the server (via a Remote Service) and to encode and decode data for the wire via a Data Streamer.
Essential Properties
- dataService specifies the service to call for fetching and updating data and for retrieving schema information.
- loginService specifies the service to call if authentication with the server is needed.
- dataStreamer specifies the type of streamer to be used for decoding and encoding data that is received from or sent back to the server (by default, this references an internally created DABin2DataStreamer).
Class Hierarchy
DADataAdapter->DARemoteDataAdapter
JavaScript

The RemoteDataAdapter is responsible for retrieving table data from the server and sending changes back.
Essential Properties
- fService specifies the service to call for fetching and updating data and for retrieving schema information.
- fLoginService specifies the service to call if authentication with the server is needed.
- fStreamerClass specifies the type of streamer to be used for decoding and encoding data that is received from or sent back to the server.
Class Hierarchy
See Also
- Data Abstract Architecture
- Schemas — Data Tables — Column Mappings — Data Dictionaries
- Deltas — Updates — Connections — Drivers
- Data Adapters – Data Streamers — Business Processors
- DA SQL — DA LINQ — Dynamic Select — Dynamic Where
- Data Types
- Business Rules Scripting
- Schema Modeler — DA SQL Data Browser — Relativity — Server Explorer for Mac

Product: RemObjects Data Abstract
Available Editions: Data Abstract for .NET, Xcode, Delphi, Java and JavaScript