DataSnap Overview and Architecture

From RAD Studio
Jump to: navigation, search

Go Up to Developing DataSnap Applications

Formerly known as MIDAS, DataSnap is a Delphi technology that allows the development of multi-tier applications, most notably multi-tier database applications. There is also full support for C++Builder. DataSnap is independent of MIDAS. DataSnap offers the possibility to create Client-Server applications that communicate through the Internet, the local network, or the local host.

The main feature of DataSnap is the ability of the Client application to invoke methods that are implemented on a Server. DataSnap automatically generates the necessary interface for the Client to communicate with the Server, containing the prototypes of the Server methods.


DataSnap provides a way for the Client to safely communicate with the Server, using a secured transfer of JSON (JavaScript Object Notation) data content over TCP/IP or HTTP. The ability to define filters at both ends of the communication channel, for encryption and compression purposes, improves the security.

Another benefit of the DataSnap technology is that it offers the possibility to asynchronously notify all the Client applications about changes made to the Server, so that Clients can take appropriate actions. The callback does not require Clients to invoke any of the Server methods.

For an example of how to create an application using DataSnap, go to the following topics:

DataSnap Architecture

The DataSnap technology allows the development of Client-Server applications, where either or both Client and Server are running Delphi or C++Builder applications. The communication between the Client and the Server can be made through the local host, the local network, or through the Internet. You can choose the type of connection by setting the CommunicationProtocol property of a TSQLConnection component to TCP/IP or HTTP, at design time.

The Client-Server communication is achieved through the exchange of JSON (JavaScript Object Notation) data content. The server response can also be sent in HTML format, using the WebBroker technology.

If a firewall is running on either the Client or the Server, DataSnap provides the option to route the data transfer through a tunnel, overriding the firewall and allowing the communication between the Client and the Server to take place.

DataSnap allows the implementation of both the Client and Server in the same application, which is also known as in-process connectivity.

See Also