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.
FMXExpress.com has over 700 tips and tricks for building cross platform apps on Android, IOS, OSX, Windows, and Linux with a single codebase and single UI using the FireMonkey framework found in Delphi and C++Builder.
FMXExpress covers top cross platform secrets for FireMonkey in C++Builder and Delphi XE5, XE6, XE7, XE8, Seattle, Berlin, Tokyo, Rio, and Sydney.