
| Learn to unleash the power of Delphi with Delphi Labs |
|
Through a series of step-by-step instructional tutorials, Paweł Głowacki, veteran Delphi trainer, guides you to a deeper understanding of the powerful technologies in Delphi. You will gain the solid foundation of knowledge upon which to unleash your creative genius. The beauty of rapid application development is that you can build complex systems by assembling components. This approach to building software applications shines when applied to Delphi DataSnap programming. In a matter of minutes, you can create a multithreaded server application, capable of servicing many concurrent clients and listening on multiple communication ports simultaneously. Series 1: DataSnapIn the first series of tutorials Paweł demonstrates the Delphi DataSnap technology for building distributed, scalable, multi-tier applications accessible from a wide range of client technologies from pure Delphi Win32 VCL Forms applications to pure JavaScript clients running on mobile devices. DataSnap technology is only available in Enterprise and Architect versions of Delphi, C++Builder and RAD Studio. These step-by-step tutorials are intentionally very simple, so even inexperienced Delphi programmers should be able to build projects described here and enjoy programming. ![]() This week on Delphi LabsApril 14, 2011
Episode 11 - DataSnap XE - Callbacks"
In this bonus episode, Pawel has created a simple example of using callbacks. Both client and server are Delphi VCL Forms applications. To keep it simple, his is using TCP/IP and DBX. This tutorial covers broadcasting to a channel and notifying a specific callback. ![]() Previously on Delphi LabsMar 29, 2011
Episode 10 - DataSnap - Passing "Plain Old Delphi Objects" Parameters
Today, Pawel shows us the use of TObject-descendant as parameter types in DataSnap server methods, a new feature in Delphi XE. Pawel will concentrate on this parameter type in this episode, if you are interested in seeing what other types are possible, please check out Jim Tierney's blog. In Java Enterprise Edition (JEE) there is a concept of “Plain Old Java Object” for passing data between applications. Here we are going to use the same pattern for exchanging data between clients and servers written in Delphi, so it should be OK to call these parameter types: “Plain Old Delphi Objects” or “PODOs” in short. ![]() Mar 22, 2011
Episode 09 - DataSnap XE - DataSnap Server implemented as Windows Service
In this episode, Pawel implements and installs a Delphi DataSnap server, which is a Windows Service application. This scenario is very useful when your services are deployed in the cloud and new machine images are started and stopped automatically by a load balancer. ![]() Mar 15, 2011 (Ides of March)
Episode 08-2 - DataSnap XE - jQueryMobile Web Frontend (Part 2/2)
This is a continuation from the last episode. Pawel demonstrates practical steps for building jQuery Mobile web frontend application for displaying InterBase XE “Employees” database data from a standalone Delphi DataSnap server. The system described is based on the "Delphi WebBroker jQuery Mobile Boilerplate" project described in the previous Delphi Labs tutorial. Pawel has uploaded the resulting application to Amazon EC2 cloud. You can find it at http://79.125.25.31:8080/. Please understand, however, that this link may not be there forever. ![]() Mar 14, 2011 (Pi Day)
Episode 08-1 - DataSnap XE - WebBroker jQueryMobile Boilerplate (Part l/2)
Pawel has been working hard to produce this episode on how we can use Delphi XE to build a web application for displaying database data coming from a DataSnap server using jQuery Mobile JavaScript library. The episode got so big that it has to be divided. Here's the first part of the lesson, and stay tuned for the second part. ![]() Feb 28, 2011
Episode 07 - DataSnap XE - REST Web App Tutorial
In this epidsode, we are using "Delphi REST Application" wizard to generate a complete project consisting of a web application running in the stand-alone VCL Forms web server application and a pure JavaScript client embedded in the html markup. ![]() Feb 17, 2011
Episode 06 - DataSnap XE Transport Filters
In DataSnap architecture, you can use different communication protocols like TCP/IP, HTTP or HTTPS, and you can also use transport filters to programmatically access the raw stream of bytes that are transmitted between client and the server over the wire. In this lab, Pawel builds a simple system consisting of a server and a client application. They will be using TCP/IP as the transport protocol and ZLib as compression filter. ![]() Feb 09, 2011
Episode 05 - Authentication and Authorization
Pawel demonstrates the basics of authentication and authorization with a simple role-based security scheme. ![]() Jan 28, 2011
Episode 04 - Testing DataSnap Servers in Data Explorer
In this episode, Pawel creates a DataSnap server listening on multiple TCP/IP and HTTP ports. Instead of building a client, however, Pawel shows you how he tests the server functionality using Data Explorer that is part of the RAD Studio IDE. ![]() Jan 22, 2011
Episode 03 - Server Methods Lifecycle (Part 2/2)
In this second part, both server and client are extended. Ultimately at the end of the demo, we verify that server method instances are global to all clients, session instances are unique per client, and invocation instances are created and destroyed on the fly. ![]() Jan 22, 2011
In this first part, we have another multi-tier application. The server method instance has overridden constructor where its private FID is initialized with a generated GUID and "GetId" server method is implemented to be able to uniquely identify a server methods instance on the client. This way, every connected client has its own server methods instance inside the server application. ![]() Jan 10, 2011
Our series continues with another DataSnap application, this time using an actual database (InterBase) The setup is very close to the original Delphi MIDAS approach with dataset providers on the server and client communicating with providers via "remote server" connection components. ![]() Jan 05, 2011
Pawel kicks off the series with a simple client/server application, where the server exposes four basic arithmetic operations and client provides a GUI for data input and displaying results. ![]() About Our Expert Speaker Paweł GłowackiEmbarcadero Technologies. Paweł Głowacki is Senior Software Consultant and EMEA Technical Lead for Delphi, RAD Studio and All-Access for Embarcadero Technologies. Previously, Paweł spent over 7 years working as a senior consultant and trainer within Borland Education Services and CodeGear. As well as working with Embarcadero customers across the region, he also represents Embarcadero internationally as a conference and seminar speaker For more information, check out Paweł's technical blog Special OfferAbout RAD Studio XEEmbarcadero RAD Studio XE is a comprehensive application development suite and the fastest way to visually build GUI-intensive, data-driven applications for Windows, .NET, PHP and the Web. RAD Studio includes Delphi®, C++Builder®, Delphi Prism, and RadPHPTM enabling developers to deliver applications up to 5x faster across multiple Windows Web and database platforms. ![]() |

Paweł Głowacki
