DataSnap is a complete middleware technologoy that ships with Delphi XE6 Firemonkey. DataSnap is available as a client and server in Delphi, C++Builder, and AppMethod. The documentation about DataSnap is quite extensive and has some interesting information contained within it. For example, there are DataSnap clients for Objective-C, CSharp, and finally Java (with support for Android Blackberry) in addition to the DataSnap components in Delphi and C++ builder. These clients are called DataSnap Mobile Connector and allow you to talk to a DataSnap server from various popular languages other than Object Pascal and C++. DataSnap supports TCP/IP, HTTP, and HTTPS transport protocols. Data is usually passed via JSON between client and server. DataSnap servers can be either a stand alone application, ISAPI, or Apache WebBroker. There are a number of samples that ship with Delphi demonstrating the usage of DataSnape. Here is a list of the samples:
Authorization -- Role Authorization Sample
Basic -- Basic DataSnap Client and Server Samples
ChatRoomDemo -- Chat Room Sample
Failover -- DataSnap HTTP Tunneling Sample
JSONViewer -- JSON Viewer Sample
ProxyGenerator -- Proxy Generator Sample
SessionStoreObject -- Session Store Object Sample
ShowSessionData -- Show Session Data Sample
EchoToChannel -- Echo to Channel Sample
If you are going to be building infrastructure with DataSnap it is probably a good idea to browse the DataSnap documentation to get a feel for the technology prior to architecting your usage of it.
And finally there is a second half hour video from David I. about creating and consuming a custom DataSnap REST API.