Skip to content

Delphi Labs: DataSnap XE Transport Filters

Delphi Labs keep going! I have just published the latest episode in the "DataSnap XE" serie on communication filters. In DataSnap architecture you can use different communication protocols, like TCP/IP, HTTP or HTTPS, and you can also use transport filters that make it possible to programmatically access the raw stream of bytes that are transmitted between client and the server over the wire.

Delphi XE comes with three DataSnap communication filters preinstalled: two for encryption and one for compression.

In this lab we are going to build a simple system consisting of a server and a client application. Both applications will be standalone Delphi VCL Forms applications and they are going to communicate using TCP/IP as the transport protocol and use ZLib compression filters.

Next week I am off for winter holiday, so there will be no new article, but I am sure to have this background thread running somewhere at the back of my brain conceiving new ideas for the next, and next, and next episode…

"Delphi Labs: DataSnap XE - Transport Filters"

{ 6 } Comments

  1. Keith | February 18, 2011 at 2:28 am | Permalink

    Thanks Pawel,

    I thinks is the a powerful technique. I plan on using it myself.

    Keep up the good work.

  2. Paweł Głowacki | February 18, 2011 at 10:02 am | Permalink

    @Keith, Go for it:-)

  3. Dobrin Petkov | March 27, 2012 at 1:42 pm | Permalink

    Hi Pawel,

    I want to tell you that your presentation here in Sofia, Bulgaria is one of the reasons to do an update of my Delphi XE to Delphi XE2.
    Thanks a lot - I don’t regret for now.
    :)
    Also - your posts, videos and source code examples about DataSnap and XE2 are very useful for me and my current projects.

    I have some questions about transport filters and especially about RSA properties.
    What exactly means "UseGlobalKey=true" and what if "UseGlobalKey=false"?
    Can you do an example about the second case?
    Sorry if there (in the Delphi help) has description about this values but I can’t find it.
    Can we use RSA encryption with sertificates and if the answer is yes - how?
    I ask about sertificates because I have no feeling of security with the usage of "UseGlobalKey=true".
    Is this transport filter secure for the "man in the middle" attack?

    :)

    I apologize for my bad English.

    Best regards
    Dobrin Petkov

  4. Pawel | March 28, 2012 at 10:41 am | Permalink

    Hi Dobrin,
    Thanks a lot for kind words.
    Your English is great :-)
    I will check the use of "UseGlobalKey" setting and let you know.
    best regards,
    Pawel

  5. Dobrin Petkov | April 6, 2012 at 9:18 am | Permalink

    Hi Pawel,

    Believe me the usage of RSA encryption with sertificates is one of the most interesting problems for me now. I’ll look forward your post.

    I have another question but I do not know where to ask for it.
    How the server can notify the client that an event has occurred in the middle of the implementation of a method? If the execution of a method (math calculations for example) takes a long time - how the server can send the client information that it has undergone part xxL?

    I know you are busy person, so I hope my questions not to sound too roughly (or presumptuous).

    :)

    Best regards - your fan and follower
    Dobrin

  6. Dobrin Petkov | May 10, 2012 at 8:48 am | Permalink

    Hi Pawel,

    I saw your very useful post from "Delphi Labs" and from http://edn.embarcadero.com/article/41374
    too.
    I learned many things. Thanks a lot.

    Is there any news on what exactly means "UseGlobalKey=true" and what if "UseGlobalKey=false"?
    If you’re busy - can you tell me the contacts for more details and or questions?

    Best regards
    Dobrin Petkov

Post a Comment

Your email is never published nor shared. Required fields are marked *

Bad Behavior has blocked 2 access attempts in the last 7 days.

Close