Database Application Programmers Users Group (Danish Embarcadero User Group)


WORKSHOP 22.-23. oktober 2019

Hotel Hesselet

Cary Jensen and Danny Wind
"Delphi – Can be used for anything"



Efterårets workshop I 2019 bliver et brag af en workshop hvor vi kommer til at se, at Delphi virkelig kan bruges overalt og til alt.

På dag 1 får vi besøg af Product Manager Marco Cantù som vil gennemgå nuværende status på Delphi samt Road Map som den ser ud til den tid.
Det er muligt, at stille spørgsmål til Product Manager.
Bemærk: Marco er med via Skype.

Derefter tager Danny Wind og Cary Jensen over, og tager os igennem en hel masse om Microservices, Database programmering, CPU optimering, decoupling, tråde og en ordentlig spandfuld tips og tricks
På dag et får man lov at vælge om man vil følge den ene eller den anden taler, afhængig af hvor ens interesse ligger. Sessionerne er tilrettelagt således, at man godt kan vælge en taler til en session, og den anden taler til den næste session.

Dag 2 bliver en dag hvor Cary og Danny fremlægger sammen. Vi får på denne vis forhåbentlig gang i lidt diskussion omkring emnerne. Vi har med stor succes set denne fremgangsmåde før, hvor vi kommer i dybden med emnerne.
Jeg er sikker på, at det bliver en fantastisk oplevelse.

Dr Cary Jensen
Embarcadero MVP Dr Cary Jensen has been a Delphi Speaker since forever. My very first introduction to Delphi 1 (Actually just called Delphi) was with Dr Cary Jensen presenting this brand new piece of software. Cary has written tons of excellent books on various programming and specifically Delphi related topics (and also a restaurant guide book). The book Delphi in Depth: FireDAC will be an extra free bonus for all attendees in the pdf-format. If you want a signed dead-tree copy I’m sure Cary happily will sign it for you if you bring it along (http://www.jensendatasystems.com/firedacbook/).
Cary knows Dapug very well as he has been speaker at our workshops around 15 times.

Danny Wind
Danny is the owner of “Delphi Company” based in Rotterdam, The Netherlands. Danny is just like Cary also an Embarcadero MVP, and he thoroughly enjoys speaking about his favorite topic Delphi in front of a crowd. Danny is constantly exploring the newest and hottest ways of getting stuff done. And combining these traits is probably why he is a very popular speaker and trainer in the Delphi community mainly in the Benelux countries, where I’ve met him at “The Lab”, he’s spoken at SDN conferences in Zeist, and many other places. This workshop will be Danny’s second visit to the Dapug Workshop.


 Day 1            Cary Jensen and Danny Wind – The Split Sessions


Note! The Delphi Product Manager Marco Cantù, will join us in the beginning of Day 1 via Skype, where he will give an update on the current status of Delphi, and the RAD Studio Road Map. It will in this session be possible to ask questions to Marco.
Note! Day one is run in two tracks. You are encouraged for each session to pick one or the other. It is perfectly fine to choose a speaker for one session and the other speaker for the next session. The sessions will be held, in such a manner that it is not imperative that you have followed the preceding session.



Arrival and setup



Welcome to Cary and Danny



Delphi Product Manager Marco Cantù:
The State of Delphi Updates and the RAD Studio Road Map

Via Skype – Open for questions and comments


Overview of Day 1 Sessions by Cary Jensen and Danny Wind



Coffee Break



Cary Jensen – Introduction to FireDAC

If you are new to FireDAC you will not want to miss this mini session where Cary outlines the capabilities provided by FireDAC. Here you will discover why FireDAC has quickly become the RAD Studio data access framework of choice

Danny Wind: RADical web and Progressive Web Apps

Progressive Web Apps are web pages that behave like an app on Android and to some extent also on iOS and on the desktop. In this session we leverage a Delphi transpiler that converts Delphi Components to HTML5 elements with TMS WebCore and Delphi code to JavaScript using PAS2JS. We’ll use Delphi to create a PWA and a webservice and use the resulting webapp  to post questions from the audience on this subject.





Cary Jensen: Understanding FireDAC Connections and Connection Configuration

In this presentation you will learn the different ways that FireDAC permits you to connect to your data, and the advantages and limitations of each. In addition, Cary will discuss how to configure your connections, and demonstrate the power of connection configuration inheritance.

Danny Wind: Microservices Building

In this session we’ll take a deeper look into the webservice we introduced in the previous session. We start with the idea of microservices, what they are and why they are relevant, and then we’ll look into implementing a microservice with a webservice in Delphi Pro, using a Key/Value store, JSON, REST and all that stuff.





Cary Jensen: Creating and Using FireDAC Indexes

FireDAC indexes are client-side structures associated with FireDAC datasets, and this presentation explores the power and variety offered by FireDAC. This discussion will also include a look at the features, such as searching and filtering, which make use of these indexes.

Danny Wind: Microservices Deployment.

Microservices need to be deployed to be useful. In this session we’ll deploy a webservice to IIS on Windows and to Apache on Linux. We’ll also make sure we can use HTTPS with a Let’s Encrypt certificate. This session includes a white paper that explains the steps needed for deployment.





Cary Jensen: Understanding FireDAC DataSets

In this session, Cary will look at the differences between the FireDAC FDMemTable and other FireDAC datasets, such as the FDQuery and FDTable. He will also talk about FireDAC dataset persistence and the SQL command preprocessor

Danny Wind: Delphi and the CPU

A deep dive into how Delphi code compiles to CPU code, the effects of CPU optimization like Out-Of-Order execution on your code, the new parameter passing in Delphi Rio, and even some assembler code. The knowledge in this session will help you with writing correct multi-threaded / parallel code.





Cary Jensen: Advanced FireDAC Techniques

FireDAC includes a number of unique ways to work with data, and in this session Cary discusses three of these. He begins with a look at how you can easily copy data between FireDAC datasets. Next, he demonstrates Array DML, a batch mechanism for posting changes to your underlying database. Finally, he introduces Local SQL, a feature that permits you to execute client-side SQL statements against datasets.

Danny Wind: 2020 Vision

This session combines  the techniques we introduced today and which we’ll expand upon tomorrow for future proofing your applications for the year 2020. Keywords are desktop to tablet, greener computing with parallel code, spotlight search, companion apps, microservices and  putting more G in the Gui visualization.


Cary and Danny  - Closing comments



A Word from Nohau



Drinks before dinner in Tranquebar





Day 2    Cary Jensen and Danny Wind – The Joint Sessions


Writing Decoupled Code

Unintended dependencies between units can ruin code reuse and lead to unintended consequences. In this powerful session, Danny and Cary will discuss what coupled code is, why it can be a disaster, and then show you how to write decoupled code. They will also discuss how to decouple code in legacy applications.




 In-Memory Data – When You Have a Need for Speed

Working with data in memory is fast - very fast, and Delphi provides a variety of constructs for doing this. These include generic TDictionaries and similar types, ClientDataSets and FDMemTables, arrays of various flavors, and more. Cary and Danny will discuss the advantages and limitations of the various in-memory structures as well as demonstrate their use.




In Memory Data Continued

The discussion of in-memory data continues, with Danny and Cary taking a deep dive. Cached updates will be introduced, and we might even see a competition for who can write the fastest code.





The Very Best of Tips and Tricks

Nobody knows everything about Delphi, and there are just so many clever things that most Delphi developers have never heard of that you can do with the editor, the debugger, and in code. So, buckle your seat belts and take a tight grip on your keyboards, as we are going to embark on a wild and crazy journey into the world of Delphi Tips and Tricks




The Very Best of Tips and Tricks Continued

The madness continues with more Delphi tips and tricks.




Even More Tips and Trick

That’s right, Cary and Danny aren’t done. There’s more. And you might even want to chime in with a trick or two of your own


Wrapup and evaluation

Note! Day two consists of topics that very much are related to each other, the speakers will throughout the day interchange and supplement each other


  • Prisen for WorkShop incl. overnatning på hotel og alle måltider er: kr. 5.900
  • Hvis du eller dit firma ikke er medlemmer af DAPUG er prisen kr. 6.700,-
  • Ekstra overnatning fra 21. oktober koster kr. 1.180,-
  • OBS: Hvis beløbet er indbetalt på regnr. 1551 konto. 4 76 67 76
    inden 17. oktober er prisen kr. 5.400 (kr. 6.200, hvis man ikke er medlem)

    (International payments: SWIFT-BIC: DABADKKK - IBAN: DK10 3000 0004 7667 76)