Remote Data Adapters

 

The Remote Data Adapter (or RDA, for short) maintains a Remote Service that provides the information on how to communicate with the server using Remoting SDK (the Remote Service is basically a combination of a Client Channel, a Message and the name of the data service). It also holds an instance of a data streamer - the same class that is used on the server, to encode/decode data sent to and received from the server.

With this, the RDA is capable of requesting data tables from the server - be it by fetching tables by name, subsets of these tables using Dynamic Where and Dynamic Select, or - once again - running ore complex queries using DA SQL, which cause the server to construct a data table dynamically.

Table of contents

.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 ths syntax:

from x in lindrda.GetTable<TableName> ...

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.


Cocoa

The DARemoteDataAdapter 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).

Java

The RemoteDataAdapter provides client-side access to a set of data tables published on the server and can be used to retrieve schema information, execute commands, fill data tables with data and apply changes to the data back to 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.

By default, a newly instantiated RemoteDataAdapter class is configured for the standard services provided by Data Abstract 4.0 servers, like IDataAbstractService and IBaseLoginService with correspondent names DataService LoginService.

Essential Properties


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.


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.

Components