Wednesday, May 20, 2009

DataSnap the fastest multi-tier development

The new approach was introduced with RAD Studio 2009 (including Delphi & C++Builder) and was based on a NON-COM/DCOM approach. The new approach used JSON (JavaScript Object Notation) http://www.json.org/ housed on a TCP/IP message layer wrapped in the DataSnap technology.

What makes this approach great is that it is simple to implement:


  1. Create a DataSnap Server

    1. Create a VCL Form application

    2. Add the 3 DataSnap Server components

    3. Connect the Server components

    4. Add a ServerModule (this is where the developer exposes business logic and data from the backend storage)

    5. Connect the ServerModule to the Server components for the wire protocol and transfer of information

  2. Create a client (generic client)

    1. Create a VCL form application, Web application, ASP.NET (Prism) application

    2. Drop a TSQLConnection component

    3. Set the connection properties (3 in all)

    4. Right-mouse click on the TSQLConnection and generate Client Proxy

    5. Use Proxy to connect to the remote server and call logic at will

    6. Expose information on client

  3. Done

This is a nine minute demo with explanations, 5 without… at best and IMO, it is the fastest multi-tier approach out there compared to JEE, CORBA, RMI, COM/DCOM, or plain old RPC.


This approach isolates the database layer to the middle tier; there is no reason for the client to know that you are even connecting to a backend database. The exposure of business logic is as simple as writing public functions and the building of the actual server is a form and three (3) components. There are no 7 helper files like with Java’s EJB, or 3 helper files with CORBA, or IDL/RIDL with COM/DCOM, and you surely don’t have to define each side of the communication like with RPC.


So there must be a downside to the technology… there always is… isn’t there? As far as I can see today, there are no advert downsides. There is no royalty to use it, it is simple to understand, it helps to reduce database connections, it very fast, it scales well, and it uses open protocols. What is not to like?


Now could there be more features added or could it even become simpler to use in future releases of the feature/functionality? Sure, but then again, if you are a diehard Delphi/C++Builder developer you already know that we don’t rest on the past implementation we are always trying to push the technology to the next level.


This leads to the next item; I’m going to be publishing the roadmap for RAD Studio very soon and also an audio recording of the presentation. There will be more details about where the technology of DataSnap is going in the future and should give every Delphi/C++Builder/Prism developer some great piece of mind to see the investment being put into our beloved product with Embarcadero!

1 comment:

william said...

ITSoulsenz.com - Software Development has become very popular with more and more companies including, software development services,software development technologies, software outsourcing,their international business prospects.