TMS RemoteDB 1.9.1 XE2-D10.2 Tokyo Full Source » Developer.Team

TMS RemoteDB 1.9.1 XE2-D10.2 Tokyo Full Source

TMS RemoteDB 1.9.1 XE2-D10.2 Tokyo Full Source
TMS RemoteDB 1.9.1 XE2-D10.2 Tokyo Full Source


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

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

v1.9.1
New : TXDataset.ParamByName method.

v1.9
New : TRemoteDBDatabase.OnRequestSending property.

v1.8
Improved : RemoteDB IDBStatement now implements IDBDatasetStatement
Fixed : AV when setting TXDataset.Database property to a TGenericDatabase without having is Connection property set.

v1.7
New : Option for custom proxy configuration for Windows clients or automatic proxy detection on Windows 8.1 and later
New : Delphi 10.2 Tokyo Support

v1.6
Fixed : Memo parameter values not being sent correctly when using TDatasetProvider
Fixed : Index out of bounds when using TXDataset as a dataset provider and dbGo (ADO) at RemoteDB server side

v1.5
New : Support for IProviderSupport allows using RemoteDB dataset (TXDataset) as a dataset provider - for example, in a setup using TClientDataset + TDatasetProvider + TXDataset

v1.4
New : Delphi 10.1 Berlin support

v1.3
New : Design-time wizard to create new RemoteDB Server with a few clicks
Fixed : Error when executing SQL statements with string literals containing quotes or double quotes.

v1.2.4
New : Delphi 10 Seattle support

v1.2.3
Fixed : Setting TRemoteDBDatabase.Connected to true at design-time was causing error at runtime

v1.2.2
New : Support for Delphi XE8

v1.2.1
Fixed : Client sending wrong data in memo fields with empty strings

v1.2.0.1
Improved : Installer

v1.2
New : TGenericDatabase component allows using TXDataset to connect to database servers directly in old client-server style
New : Support for Advantage Database Server
Improved : Server database objects lifetime: now objects expire right after timeout period has passed
Improved : Client transactions now can get longer than timeout of server db objects, RemoteDB keeps server-side objects alive automatically
Fixed : Wrong initial values when inserting a record using TXDataset in Delphi XE4 and up
Fixed : Sporadic "CoInitialize not called" error in RemoteDB demo
Fixed : Server issues when queries caused infinite deadlocks
Fixed : Error with long-running queries that take longer than timeout of server db objects

v1.1.1
New : Added Delphi XE7 support

v1.1
New : TXDataset.Unidirectional property improves memory usage and performance when using dataset in forward-only (unidirectional) mode.
New : TRemoteDBDatabase.Timeout property allows specifying lifetime of inactive database connections on server side.
Improved : Server now returns a better error message if a transaction commit/rollback request fails.
Fixed : Server instability in rare situations when connection/disconnection to database at server side raised errors.
Fixed : Error when executing data modification SQL statements (Insert, Delete, Update) using Open method instead of Execute, when using SQL-Direct and some other specific components.


Only for V.I.P
Warning! You are not allowed to view this text.