Dans ce webinaire (présentation en ligne) on vous montre les différents frameworks d'accès aux bases de données fournis avec Delphi et plus particulièrement FireDAC en utilisation depuis des applications VCL pour Windows 32 ou 64 bits.
La rediffusion de cette présentation est disponible avec ses codes sources et des liens complémentaires sur https://serialstreameur.fr/webinaire-20181016.php
1. Découvrez FireDAC pour la VCL
Webinaire du 16 octobre 2018
(c) Patrick Prémartin / developpeur-pascal.fr
2. Au menu du jour
• Introduction
• Les frameworks de bases de données dans Delphi
• FireDAC
• Utiliser FireDAC dans un projet VCL pour Windows
• Démos
• Questions / réponses
• Conclusion
(c) Patrick Prémartin / developpeur-pascal.fr
4. Introduction
• Présentation de la société Barnsten
https://www.barnsten.com/fr/
• Présentation de la société Olf Software
https://www.olfsoftware.fr
• Présentation de Patrick Prémartin
https://www.linkedin.com/in/patrickpremartin/
• Les différentes versions de Delphi
https://www.embarcadero.com/fr/products/delphi
(c) Patrick Prémartin / developpeur-pascal.fr
5. A propos de Barnsten
• Distributeur des logiciels Embarcadero en France depuis bientôt 3
ans, avec plus de 20 ans d’expérience dans le BENELUX, Barnsten est
l’interlocuteur privilégié pour toutes les questions concernant les
achats et renouvellements de licences, mais pas seulement.
• La société Barnsten peut aussi proposer des formations et un premier
niveau d’assistance pour les clients ne trouvant pas de réponses à
leurs questions sur les forums ou blogs de la communauté.
• En plus de présentations en live, Barnsten organise aussi des
webinaires gratuits en français pour faire découvrir Delphi, C++Builder
et RAD Studio.
(c) Patrick Prémartin / developpeur-pascal.fr
6. A propos de Olf Software
• Depuis 17 ans la société de services Olf Software propose des
prestations de conseil, développement et formation sur les
technologies liées au web et au développement logiciel.
• Organisme de formation enregistré en début d’année et référencé sur
Datadock, Olf Software s’est recentrée en 2018 sur la formation
professionnelle en lien avec Delphi.
• Des formations inter entreprises sont organisées régulièrement et
annoncées sur https://www.se-former-a-delphi.fr/
• Des formations intra entreprise sont aussi organisées sur demande.
(c) Patrick Prémartin / developpeur-pascal.fr
7. Et votre hôte pour ce webinaire
• Ancien utilisateur de Turbo Pascal, amoureux de Delphi depuis
toujours, développeur web depuis NCSA Mosaic…
• Prestataire et formateur à travers sa société Olf Software ou en sous-
traitance pour d’autres entreprises.
• Editeur du blog https://www.developpeur-pascal.fr dédié au
développement en Pascal (essentiellement) sous Delphi.
• MVP Embarcadero pour les technologies liées à Delphi depuis octobre
2017
• Auteur d’articles, de livres et parfois même conférencier.
(c) Patrick Prémartin / developpeur-pascal.fr
8. Les versions de Delphi
• Delphi existe en plusieurs licences, seul ou avec C++Builder dans le
bundle RAD Studio:
• Academic : pour les établissements d’enseignement et leurs étudiants
• Community Edition : gratuit pour tous, en licence commerciale limitée
• Professional, Enterprise, Architect : pour les entreprises, selon leurs besoins
• La VCL et les compilateurs Windows en 32 et 64 bits sont disponibles
sur toutes les versions de Delphi.
• FireDAC est disponible dans chaque version avec plus ou moins de
fonctionnalités.
(c) Patrick Prémartin / developpeur-pascal.fr
9. Les frameworks de bases de
données dans Delphi
(c) Patrick Prémartin / developpeur-pascal.fr
10. Les frameworks de bases de données
dans Delphi
• Le BDE (Borland Database Engine)
• ADO
• dbExpress
• Les composants dédiés à Interbase
• FireDAC
• Il existe d’autres systèmes d’accès à des bases de données, fournis
avec Delphi ou disponibles chez des éditeurs de composants.
(c) Patrick Prémartin / developpeur-pascal.fr
11. Le BDE (Borland Database Engine)
• Le framework historique d’accès simplifié aux bases de données pour
des applications Windows 32 bits.
• Officiellement DEPRECATED mais toujours téléchargeable et utilisable
(même sous Windows 10, en bidouillant un peu).
• Des composants simples d’utilisation créés pour développer
rapidement une application de base de données réactive.
• Permettait d’accéder à dBase, Paradox, MSACCESS et aux bases de
données ODBC
• Nécessite un runtime sur les ordinateurs qui l’utilisent.
(c) Patrick Prémartin / developpeur-pascal.fr
12. ADO
• Inspirés du BDE, les composants ADO sont toujours fournis pour des
raisons de compatibilité ascendante.
• Ils sont basés sur la technologie OLE de Microsoft Windows.
• Ils s’utilisent en Windows 32 et 64 bits.
(c) Patrick Prémartin / developpeur-pascal.fr
13. dbExpress
• Des composants assez anciens, plutôt dédiés à des bases SQL,
maintenus et adaptés pour fonctionner en multiplateforme.
• dbExpress permet de faire des accès séquentiels à des bases de
données SQL, des requêtes complexes, des mises à jour et travailler
avec des procédures stockées.
• dbExpress sert de base à la technologie DataSnap d’accès déporté à
des bases de données ou des fonctions et procédures (en tant que
méthodes de classe).
• L’accès à certaines bases de données nécessite un driver client à
déployer avec les logiciels développés.
(c) Patrick Prémartin / developpeur-pascal.fr
14. Les composants dédiés à Interbase
• Depuis le début le moteur Interbase a bénéficié de composants
dédiés fournis avec Delphi et C++Builder.
• Ces composants utilisent les API d’Interbase et ne permettent
d’accéder qu’à Interbase et son fork Firebird (pour les API
compatibles).
• Les composants TIBxxx sont globalement multiplateforme.
• A n’utiliser que si vous désirez un accès direct à des fonctions
d’Interbase et ne prévoyez pas de migration vers un autre moteur de
base de données un jour.
(c) Patrick Prémartin / developpeur-pascal.fr
16. FireDAC : des composants modernes
• Issu d’un rachat technologique, FireDAC est un ensemble très complet
de composants pour travailler facilement sur tous types de bases de
données.
• Les composants FireDAC sont majoritairement multiplateforme. Ils
donnent accès aux bases de données disponibles sur la plateforme
d’exécution des programmes ou à distance.
(c) Patrick Prémartin / developpeur-pascal.fr
17. FireDAC : des composants modernes
• L’architecture de FireDAC permet de faire plus qu’un simple accès à
des bases de données SQL.
• Quelle que soit la base de données utilisée, FireDAC ajoute des
fonctionnalités bien pratiques pour gérer les copies de données, les
changements de format, l’historique, les pertes de connexion, les
mises à jour différées, les transactions, les requêtes multibases…
(c) Patrick Prémartin / developpeur-pascal.fr
18. FireDAC : des composants modernes
• FireDAC contient de nombreux composants organisés par couche
avec comme base un TFDPhysXXXDriver selon la base à utiliser.
• FireDAC permet en standard d’accéder à des bases SQL locales, des
bases SQL client/serveur et à la base NoSQL MongoDB.
• L’éditeur CDATA propose des drivers pour FireDAC afin d’accéder en
SQL à des API de nombreux services en ligne sur Internet. La liste à
jour est sur https://www.cdata.com/firedac/
(c) Patrick Prémartin / developpeur-pascal.fr
19. FireDAC : des composants modernes
• Les composants FireDAC et drivers permettant un accès à des bases de
données locales sont disponibles à partir des éditions Professional et
Community Edition de Delphi, C++Builder et RAD Studio.
• Les composants FireDAC et drivers donnant accès à des bases
client/serveur sont disponibles à partir de l’édition Enterprise de Delphi,
C++Builder et RAD Studio.
• Les composants CDATA sont disponibles sous forme d’abonnement annuel
(justifié par la maintenance obligatoire de ces composants en fonction des
API des services utilisés).
(c) Patrick Prémartin / developpeur-pascal.fr
20. FireDAC : des composants modernes
• Il n’est peut-être pas utile de le préciser, mais sait-on jamais ?
FireDAC est LE framework de base de données fortement
recommandé pour tous les usages dans vos projets.
(c) Patrick Prémartin / developpeur-pascal.fr
21. Utiliser FireDAC dans un projet
VCL pour Windows
(c) Patrick Prémartin / developpeur-pascal.fr
22. A propos de la VCL
• La VCL c’est la librairie de composants visuels (et non visuels)
historique de Delphi.
• C’est un ensemble de composants dédiés aux logiciels devant tourner
sous Windows en 16 (dans les vieilles versions de Delphi ou
C++Builder), 32 ou 64 bits.
• Les composants VCL sont mappés sur des API de Windows et son
système de messagerie permettant de gérer les événements du
système.
(c) Patrick Prémartin / developpeur-pascal.fr
23. A propos de la VCL
• La VCL contient 3 types de composants :
• Des composants non visuels (accès aux bases de données, capteurs, timer, …)
• Des composants visuels (champs de saisie, images, textes, vidéos, …)
• Des composants visuels de base de données (les mêmes mais alimentés
automatiquement par des ensembles de données)
(c) Patrick Prémartin / developpeur-pascal.fr
24. Utiliser FireDAC avec la VCL
• FireDAC permet de travailler avec des ensembles de données comme
les frameworks plus anciens. On peut donc travailler comme on le fait
depuis le BDE.
• Pour utiliser les composants FireDAC dans un projet VCL on peut :
• Coder les accès à la base de données à la main.
• Utiliser les composants visuels de base de données.
• Utiliser LiveBindings pour lier des composants visuels classiques à des
ensembles de données.
(c) Patrick Prémartin / developpeur-pascal.fr
28. En savoir plus sur FireDAC
• A travers ce webinaire je ne pouvais pas tout dire sur FireDAC. Voici
quelques liens pour en apprendre plus.
• Documentation officielle :
https://vasur.fr/docfiredac
• Le livre « Delphi in Depth: FireDAC » de Cary Jensen :
https://amzn.to/2yFfUqS
• Les articles consacrés aux bases de données sur mon blog :
https://vasur.fr/devpasbdd
(c) Patrick Prémartin / developpeur-pascal.fr
29. Conclusion
• Ce webinaire et les sources des démos seront rapidement mis à
disposition sur le blog https://www.developpeur-pascal.fr
• Le prochain webinaire sera consacré à l’utilisation de FireDAC dans les
applications multiplateforme développées sous Delphi avec
Firemonkey. Retrouvons-nous le 30 octobre. Inscrivez-vous sur
https://www.barnsten.com/fr/events
(c) Patrick Prémartin / developpeur-pascal.fr