TMS RemoteDB

Set of Delphi components that allows you to create high performance, cross-platform, scalable, 3-tier database applications

Feature overview

TMS RemoteDB allows you to create database applications that perform SQL operations on a remote http server, instead of a database server, using a TDataset descendant. This makes it easy to convert existing Delphi client-server applications into 3-tier applications with minimal changes in source code.

Overall features
  • Cross-platform
  • Scalable
  • Blazing fast
  • Optimized memory usage
  • Keeps existing component behavior (like TFieldDefs, for example)
  • Requires minimum code change in client application
  • Supports FireDac, dbExpress, UniDac, among others

Overview of RemoteDB architecture.

The RemoteDB Server is a Delphi application/service that listen to http requests. When clients perform requests, the RemoteDB Server will forward the requests to the actual database server being used, using the specified database-access component. The SQL is performed and the results are returned back to the client. You can choose the components that will perform the SQL statements from a wide-range of options such as FireDac, dbExpress, dbGo (ADO), among others, using component adapters. The SQL database can be any database server supported by the components used, and must be thread-safe (most are).

From the Delphi client application, you can use as many TXDataset components as you need to perform the regular SQL operations. All TXDataset components are linked to a TRemoteDBDatabase component via a Database property. The RemoteDBDatabase component is the one in charge of forwarding the SQL requests to the RemoteDB Server and retrieving back the values. All operations on the client are transparent and just like any TDataset usage: you specify the SQL statement, Open the dataset (or ExecSQL), define the list TField components, Params, connect TDatasource components to it, etc..

Wide Range of Database Component Access at Server Side

When building the server, you can use a wide range of database-access component to connect to your database. This has many advantages:

  • You can use your existing know-how on a specific component set;
  • You can fine-tune your server side with specific options that your components provide to you;
  • Your client application will behave exactly like the component you use on server side. This allows you much bigger compatibility and easy transition to TMS RemoteDB. If your existing client application uses FireDAC, for example, you can use it at server side, making your client-side TXDataset behaves almost exactly as a TFDQuery. It's the same for all other components supported by TMS RemoteDB.
Client features:
  • Http client available in Windows, macOS, iOS and Android
  • Support for Http Secure (Https)
  • Transparent handling of chunked and gzip-encoded responses
Server features:
  • Http server based on http.sys stack (Windows only - minimum Vista and Server 2008)
  • Support for Http Secure (Https)
  • TGenericDatabase component for direct database server connections, in a traditional client-server architecture
  • Kernel-mode caching and kernel-mode request queuing (less overhead in context switching)
  • Multiple applications/process can share (respond) the same port (at different addresses)
  • Secure Sockets Layer (SSL) support in kernel-mode

TMS Aurelius Integration

If your application is already using our ORM framework TMS Aurelius for database access, then making it a 3-tier application with TMS RemoteDB will require just a few lines of code. TMS Aurelius provides a new adapter for RemoteDB that you can use as the connection to your database (IDBConnection interface) pretty much like the other options like FireDac, dbExpress, UniDac, etc ... You don't need to change a single line in your Aurelius application - just change the connection to use TMS RemoteDB and it becomes 3-tier.

Supported Data-Access components

  • dbExpress
  • dbGo (ADO)
  • ElevateDB
  • FireDac
  • NexusDB
  • SQL-Direct
  • UniDac
  • Advantage Database server

Supported platforms

TMS Aurelius iOSandroid

  • Windows 32-Bit (Client and Server)
  • Windows 64-Bit (Client and Server)
  • macOS (Client)
  • iOS (Client)
  • Android (Client)


What our customers say

I was able to successfully replace Asta with remotedb and it's absolutely awesome!!!! I've been trying to replace for 8 years. Loving the product - performance is fantastic!

- Rhett Price

In the past I have purchased other components from other parties. I will say proudly that TMS is the best in support, price and style. Whenever I need a help your team is always there to help me. Keep up the good work

- Mohamed Thooloon

Hi Bruno Just want to drop you a line about how great your presentation was today. We often fail to point out to someone when they do a great job! You did a great job, you gave me a lot of ideas, and you answered my question very well. THANK you for your great products & super support.

- Lawrence Green

Thank you for developing components where I can best describe it like this: TMS components is a case where "The wheels fit the car, and NOT the car fit the wheels". Well done.

- Sathiparsad

As always your support is extraordinary and lightning fast.


Single developer license

license for 1 developer € 395

order now
add to cart

Small team license

license for 2 developers € 595

order now
add to cart

Site license

unlimited developers in the company € 1355

order now
add to cart

CreditCards and PayPal Accepted


    Delphi XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria (Professional/Enterprise/Architect)


Included In