AnyDAC Architecture

From RemObjects Wiki

Jump to:navigation, search

This is the AnyDAC Architecture Overview
Feel free to add your links to other appropriate new or existing topics below.


AnyDAC Architecture.png

Contents

Non visible Components [Comp]

The layer represents the AnyDAC public interfaces as Delphi non-visual components, similar to other Delphi data access components. It includes components - TADConnection (establish connection), TADQuery (execute query), TADStoredProc (execute stored procedure), TADMemTable (in-memory dataset), TADScript (SQL script engine), etc. The main units are:

Visible Components [GUIx]

The layer provides a way to interact with the end user from an AnyDAC application. It is a set of high-level components allowing to add the end-user dialogs for the standard database operations, like a Login or a Wait-for-operation. It includes components - TADGUIxWaitCursor (wait cursor), TADGUIxFormsLoginDialog (login dialog), TADGUIxFormsErrorDialog (error dialog), TADGUIxFormsQBldrDialog (query builder dialog), etc.

Local Data Storage [DatS]

The layer is a Local Data Storage implementation, which is analog to the ADO.NET's DataSet and its related objects (DataTable, DataRow, DataView, etc). It is an in-memory data engine, actually storing and handling all client data and meta-data. It has flexible API, allowing you to use DatS in applications. The main unit is:

Data Adapter [DApt]

The layer allows automation and fine-tuning of a read operation with complex result sets (master-details, nested, ADT, etc) and allows posting updates back to the database system. It is controlled mostly through TField and UpdateOptions properites. The main units are:

Debug and Performance Monitor [Moni]

The layer represents AnyDAC debugging capabilities by implementing debug monitor interfaces, which allow monitoring and tracing interactions between the AnyDAC application and the DBMS. It is controlled mostly through [ADSettings] parameters of ADConnectionDefs.ini and the MonitorBy connection definition parameter. It includes components - TADMoniRemoteClientLink (monitoring using ADMonitor), TADMoniFlatFileClientLink (tracing into file), TADMoniCustomClientLink (custom tracing). The main units are:

Drivers [Phys]

The layer defines interfaces for physical data access. It implements them in separate packages as drivers, where each driver package belongs to the Phys layer and implements the required interfaces using appropriate DBMS API. See Connections for connectivity details. The main units are:

Native Drivers [Phys]

The native drivers are implementing access to a DBMS using a high perfromance low-level API recommended by the DBMS vendor. They precisely adapt DBMS specific features to the AnyDAC API. All native drivers have been tested and optimized for a DBMS. They include TADPhys<DBMS>DriverLink components . The main units are:

Bridging Drivers [Phys]

The bridging drivers are implementing generic access to a DBMS using generic data access API's - ODBC and dbExpress. The bridging drivers are using driver supplied information regarding DBMS features, which is not covering all DBMS features interesting to AnyDAC. It includes components - TADPhysDBXDriverLink (dbExpress v 1-3 driver), TADPhysTDBXDriverLink (dbExpress v 4 and higher driver), TADPhysODBCDriverLink (ODBC driver). The main units are:

Anydac-48.png

Product: RemObjects AnyDAC
Current version: AnyDAC 2.0

GlossaryArchitectureArticlesFeaturesLibrarySamples

Navigation
products
hubs
special
Toolbox