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"
- whitepaper: http://edn.embarcadero.com/article/41293
- source code: http://cc.embarcadero.com/item/28232
- video: http://www.youtube.com/watch?v=GE4FJDJI9RI
{ 6 } Comments
Thanks Pawel,
I thinks is the a powerful technique. I plan on using it myself.
Keep up the good work.
@Keith, Go for it:-)
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
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
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
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