|
RAD Studio 2007 - John COLIBRI.
|
- résumé : RAD Studio 2007 est la nouvelle version de Delphi qui ajoute à
Delphi 2007 la possibilité de développer des applications .Net.
- mots clé : RAD Studio 2007 - Dbx3 - BlackFish Sql - Asp.Net 2.0 - ECO IV
- logiciel utilisé : Windows XP personnel, RAD Studio 2007
- matériel utilisé : Pentium 2.800 Mhz, 512 Meg de mémoire, 250 Giga disque
dur
- niveau : développeur Delphi
- plan :
1.1 - Le prolongement de Delphi 2007 (Win32) et de Delphi 2006 (.Net)
La nouvelle version de Delphi, appelée RAD Studio 2007 est le prolongement
de la version Delphi 2006. Elle permet de développer à la fois en Win32 et en
.Net.
En fait, Delphi 2007 était la partie purement Win32, et RAD Studio complète
donc l'outil en ajoutant la partie .Net de Delphi 2006, mais pour .Net 2.0 à
présent.
1.2 - Les personnalités
Avec cette nouvelle version nous pouvons créer des applications
- pour une cible Win32, prologeant ainsi Delphi 2007
- et une cible .Net Framework, comme le permettait Delphi 2006
De façon schématique:
- dans le monde traditionnel
- le PC contient une librairie Windows, contenant les API de base.
- Delphi encapsule cette librairie dans une librairie, la VCL, qui est
donc utilisée depuis 1995
- avec cette personnalité, appelée Win32, ou encore "Native" nous compilons
les mêmes projets que ceux développés sous Windows 3
- dans le monde .Net
- une nouvelle librairie écrite en Java (C# qui est la version Java de
Microsoft) contient à la fois des classes (des conteneurs comme les
Collections) et des composants visuels (des TextBox).
- nous pouvons réaliser des applications Asp.Net avec RAD Studio
- Delphi a créer une librairie qui fait le pont entre la libraire .Net et
les composants que nous utilisons sous Win32. Ainsi nous pouvons à
nouveau utiliser une tList ou un tEdit, et c'est la couche
intermédiaire qui traduit cette syntaxe Win32 vers le monde .Net
Cela peut être représenté ainsi:
Le produit offre un compilateur Delphi et C++. Nous ne nous intéresserons qu'à
la partie Delphi ici.
1.3 - Les nouveautés
Nous allons présenter les nouveautés
- pour les bases de données
- pour le développement .Net
- les autres caractéristiques
2.1 - Dbx4: une nouvelle architecture de base de données
DbExpress 4 est une librairie unifiée qui permet de construire une
infrastructure pour les composants d'accès aux bases de données à la fois dans
le monde Win32 et .Net.
Cette unification du code source a permis de réduire l'effort d'écriture des
pilotes par un facteur 2.
Mentionnons qu'il s'agit d'une couche proche des pilotes, et que les couches
supérieures d'accès aux données ne sont pas affectées. Nous pouvons donc
toujours utiliser
- en mode Win32 le BDE, tSqlConnection (dbExpress traditionnel),
tAdoConnection, par exemple
- en mode .Net les composants Ado.Net
La couche Dbx4 offre aussi de nouvelles possibilités
- les composants tDbxConnection, tDbxCommand, tDbxReader permettent
d'accéder aux données au niveau le plus bas
- nous pouvons dériver d'une connection Dbx4 des délégués dotés de trace (un
fichier disque contient le détail de toutes les opérations) ou de pooling de
connection
- l'analyse des métadonnées (le schéma ou dictionnaire d'une base) ont été
énormément renforcée, ce qui a facilité la réalisation de nouveaux pilotes.
Et nous pouvons aussi accéder à ces métadonné dans nos propres projets
2.2 - BlackfishSql
Blackfish Sql est un nouveau moteur de bases de données qui peut être déployé
ou intégré à une application.
Cette base est dérivé de jDataStore qui était déjà disponible pour les outils
Java, et elle a été portée sous .Net. Elle est donc entièrement managée (ce
qui signifie qu'elle correspond aux critères de gestion du .Net .Framework)
L'avantage de ce choix de .Net est l'extrème compacité de la base (une .DLL de
l'ordre de 1 Mega), car elle peut utiliser les librairies .Net sous-jacentes.
Nous pouvons utiliser cette base
- "in process": la base est situé dans le même espace mémoire que notre projet
(d'où une amélioration de la performance)
- "out of process": le moteur et notre application sont dans des processus
différents
Bien que le moteur soit écrit avec le .Net, nous pouvons aussi l'utiliser en
Win32, grâce à des pilotes écrits en DbExpress 4. A ce niveau, seule un mode
"out of process" est utilisable.
Les requêtes utilisables sont compatibles Sql 92
Une autre nouveauté est la possibilité d'écrire des fonctions UDF (User
Defined Funtions), des procédures cataloguées ou des triggers en Pascal.
Fini donc les sous langages à la syntaxe plus ou moins folklorique pour le code
fonctionnant au niveau du Serveur.
Pour accélérer l'écriture de ces routines Serveur, Delphi comporte aussi
toute une série de Live Templates (des modèles de codes que nous invoquons
par Ctrl J et comportant des emplacements à remplir)
Blackfish Sql est naturellement supporté par le Data Explorer. Ainsi, nous
pouvons créer des bases, des tables, des données, en utilisant Active Query
Builder.
Au niveau des licenses
- la version entreprise de RAD Studio permet une utilisation infinie pour
des PC ayant 1 CPU et jusqu'à 4 connections. La taille de la base peut aller
jusqu'à 512 K
- la version architecte permet une utilisation infinie pour des PC ayant
jusqu'à CPU et 20 connections. La taille de la base peut aller jusqu'à 2 G
- des licenses additionnelles peuvent naturellement être achetées auprès de
CodeGear
2.3 - Active Query Builder
Le Data Explorer contient un nouvel outil Visual Query Builder qui permet
de construire visuellement une requête Sql:
- nous pouvons exécuter des requêtes tapées manuellement en mode conception
- nous pouvons en choisissant des Tables, en les reliant visuellement entre
elle, et en sélectionnant les champs, construire des requêtes, dont le
résultat, s'il s'agit d'un SELECT est affiché dans une grille
3.1 - .Net 2.0
Alors que Delphi 2006 utilisait la version 1.4, RAD Studio utilise la version
2.0 (compatible 3.0) du .Net Framework. Ceci implique des améliorations au
niveau de
- des composant de base de données Ado.Net 2
- des composants Internet Asp.Net 2
3.2 - La librairie .Net 2.0
La partie la plus innovante est la possiblité d'écrire des types paramétrés
(generics). Au lieu de créer une collection pour des Strings, un autres pour
des Integer et une troisième pour des Double, nous pouvons maintenant définir
le type en paramètre de la CLASS.
Nous avons donc un nouvelle étape de généralisation de nos CLASSes.
RAD Studio permet de créer de tels types et de les utiliser.
3.3 - Asp.Net 2.0
Par défaut, l'installateur mettra en place Asp.Net 2.0, mais Delphi
fonctionnera aussi si vous avez déjà installé Asp.Net 3.0.
3.3.1 - Les MasterPage / ContentPage
Lorsque nous souhaitons uniformiser l'allure des pages d'un site, nous pouvons
utiliser des MasterPage. Il s'agit d'une page qui contient les éléments
communs, et qui est spécialisée par des pages de contenu. En somme la même
chose que proposaient les Starter Kits, ou que nous pouvions réaliser par
l'écriture de pages ancêtres, en bien plus efficace et flexible.
3.3.2 - Templates Aspx
Nous disposons à présent du'une librairie de "templates Aspx" dont le but est
de nous faciliter le démarrage d'une nouvelle application Asp.Net. Nous avons
ainsi le choix entre une dizaine de modèles de pages, et nous pouvons en
ajouter de nouveaux.
De plus la frappe de texte .Aspx bénéficie des mêmes technique de frappe que
les pages Pascal: les Asp.Net templates.
3.3.3 - Asp.Net et les Bases de Données
Le Data Explorer contient les Providers Asp.Net pour Sql Server,
Oracle, BlackfishSql "in-process" et "out of process".
Nous pouvons directement tirer-glisser ces connections sur les pages
.Asp.Net.
Au niveau des composants d'accès, nous pouvons utiliser le nouveau composant
Asp.Net SqlDataSource, ainsi que les autres composants (DbxDataSource,
ObjectDataSource, XmlDataSource, SiteMapDataSource)
3.3.4 - Gestion des Utilisateur - Fragments de page - Ado.Net
Nous pouvons utiliser les nouvelles techniques Asp.Net
- les contrôles de navigation (menus)
- les fragments de page, très similaires aux tFrames
- fonctionnalités de login et de gestion des sessions utilisateurs (membership
roles)
- les composants permettant l'utilisation d'AJAX pour une meilleur réactivité
de nos pages
Nous pouvons aussi utiliser la nouvelle version ECO IV avec Asp.Net
3.4 - Ado.Net 2
Le Data Explorer contient les Providers Ado.Net pour Sql Server et Oracle
ainsi que pour BlackFish Sql en mode local ou distant
Il est possible de tirer-glisser les connections ainsi définies sur la Forme
Delphi.
4 - ECO IV pour .Net et Vcl.Net
ECO (Enterprise Core Objects) est une librairie de modélisation et de
persistence objet. Le développeur écrit des applications au niveau objet, et la
librairie se charge de sauvegarder les données dans des bases de données Sql.
La nouvelle version ECO IV comporte de nombreuses améliorations
- support à la fois d'applications VCL.NET 2.0 et ASP.NET 2.0 (alors que le
développement d'applications ECO avec Vcl.Net était possible mais non
automatique)
- les types de données du langage de modélisation OCL (Object Constraint
Language) ont été alignés sur le système de type de .Net
- le runtime framework d'ECO IV est fourni en code source
Mentionnons que:
- cette version ne fontionne que pour des applications .Net (Asp.Net ou
Vcl.Net), mais pas en mode win32.
- ECO est actuellement développé dans une nouvelle société créée spécialement,
appelée CapableObjects
4.0.1 - L'outil UML Together
Together a été étendu pour supporter les types paramétrables (generics) pour
.Net.
Toutefois le Refactoring de generics n'est pas actuellement implémenté.
5 - IDE - Vista - MsBuild
5.1 - IDE
Au niveau de l'environnement de développement
- nous pouvons créer des répertoires virtuels, qui améliorent la structuration
des projets
- nous pouvons créer des connections, et des DataSet en tirant glissant des
connections depuis le Data Explorer sur le Designer
- le Data Explorer contient un outil de construction visuelle des requêtes
Sql, appelé Active Query Builder
5.2 - Vista
RAD Studio supporte les API Vista
5.3 - MsBuild
Nous pouvons compiler des projets complexes en utilisant MsBuild. Il s'agit
d'un outil de type "Make" qui permet de spécifier comment lancer les
compilations des différentes parties d'un projet.
Cet outil utilise à présent un format .XML. Il permet de spécifier comment
compiler des projets, et de préciser comment procéder pour les différentes
plateformes.
5.4 - Librairies Additionnelles
RAD Studio comporte les nouvelles versions des librairies supplémentaires
Indy, TeeChart et Rave.
5.4.1 - Vcl For The Web (anciennement appelé Intraweb)
Cette librairie permet essentiellement de construire des pages Web par la même
technique visuelle que des Form Windows.
La nouvelle version 9.0 de cette librairie a à présent inclus les mécanismes de
bas niveau aux contrôles visuels, permettant ainsi de mettre en oeuvres les
techniques AJAX, et ceci sans avoir à écrire de code en JavaScript, CSS,
HTML, HTTP.
6 - Versions et Disponibilité RAD Studio 2007
Les différentes versions se distinguent par les fonctionalités et les
capacités. Mentionnons que la version architecte comporte
- ECO IV
- plus de capacité BlackfishSql
- la possibilité de réaliser des imports / exports de modèles UML
Vous pouvez commander cette version, actuellement. Pour la France, c'est à
présent CodeGear France qui se charge de la
commercialisation.
7 - Notre point de vue
Nous avons eu l'occasion d'utiliser le produit pendant plus de 15 jours.
Quelques réflexions:
- de nombreux bugs ont été retirés des versions précédentes, et les
performance de chargement / compilation nettement améliorées
- avec Asp.Net la synchronisation entre Cassini et Internet Explorer est
parfaite
- au niveau des nouveauté
- les composants Dbx4, avec leurs possibilités d'accès aux métadonnées
- le moteur embarqué Blackfish Sql
- pour Asp.Net, nous bénéficions des apports de la version 2.0: les
MasterPage, les contrôles de navigation, des fragments de page, et les
techniques AJAX sont un progrès énorme pour la réalisation de sites
Internet.
8 - Votre Opinion
Comme d'habitude:
- nous vous remercions de nous signaler toute erreur, inexactitude ou
problème de téléchargement en envoyant un e-mail à jcolibri@jcolibri.com. Les corrections
qui en résulteront pourront aider les prochains lecteurs
- tous vos commentaires, remarques, questions, critiques, suggestion
d'article, ou mentions d'autres sources sur le même sujet seront de même
les bienvenus à jcolibri@jcolibri.com.
- plus simplement, vous pouvez taper (anonymement ou en fournissant votre
e-mail pour une réponse) vos commentaires ci-dessus et nous les envoyer en
cliquant "envoyer" :
- et si vous avez apprécié cet article, faites connaître notre site,
ajoutez un lien dans vos listes de liens ou citez-nous dans vos réponses
sur les messageries. C'est très simple: plus nous aurons de visiteurs et de
références Google, plus nous écrirons d'articles.
9 - Références et Liens Internet
Vous trouverez sur Internet
Nous avons pour notre part déjà publié quelques tutoriaux sur RAD Studio
2007:
- BlackfishSql : présentation et utilisation de la
nouvelle base de donnée Delphi BlackfishSql fournie avec le RAD Studio
2007 (Win32 et .Net) : création de la base, lecture, remplissage et écriture
de données, écriture de fonctions, procédures cataloguées et triggers en
Pascal
- Utiliser la nouvelle architecture DbExpress
4 : la toute récente version RAD Studio 2007 offre une nouvelle
architecture pour les bases de données. Sont expliqués comment se connecter,
lire et écrire des données, réaliser un journal des appels, utiliser un pool
de connections et afficher des métadonnées
- Master Pages Asp.Net 2.0 la nouvelle
version Asp.Net 2.0 utilisable avec RAD Studio 2007 nous permet de définir
une structure de page hiérarchique, grâce aux Master Page et Content
Pages; en utilisant l'héritage de page
- Delphi Asp.Net 2.0 et les Bases de
Données : affichage et modification de données InterBase et
Blackfish Sql en utilisant Dbx4, Ado.Net Db et AdoDbxClient.
Traitement de ListBox et GridView avec des DataSources
Vous pourrez aussi consulter
- pour comprendre et utiliser AJAX, Tutorial AJAX
: écriture d'un application Web utilisant AJAX - Le fonctionnement AJAX,
utilisation de JavaScript et de l'analyseur DOM, construction du serveur
HTTP Indy, project de développement intégré avec un tWebBrowser
- pour une introduction à ECO ECO III Tutorial
- L'IDE Delphi 2006 qui détaille la nouvelle
présentation de l'environnement pour Delphi 2006. La version 2007 en dérive
directement, avec les améliorations mentionnées.
10 - L'auteur
John COLIBRI est passionné par le développement
Delphi et les applications de Bases de Données. Il a écrit de nombreux livres
et articles, et partage son temps entre la
développement de projets pour
ses clients, le conseil et la formation. Son site contient des articles
avec code source, ainsi que le programme et le calendrier des
stages
de formation Delphi, base de données, Ado.Net, Asp.Net et UML qu'il
anime personellement tous les mois, à Paris, en province ou sur site client.
|