CONFERENCE BORLAND 2000
14 & 15 décembre 2000
Après un accueil très
sympathique, remise de la traditionnelle sacoche et du programme, nous nous
retrouvions à un petit déjeuner convivial au sein de l’espace réservé aux
stands des exposants. C’était l’occasion de rencontrer ses homologues
professionnels, d’échanger ses connaissances et aussi parfois de rencontrer
de visu ceux que l’on connaissait bien mais par l’intermédiaire des forums
(nzn.vienneinfo.org …) Dale Fuller,
président et CEO de Inprise Corporation introduit la conférence en
présentant les résultats positifs et croissants de l’entreprise ainsi que
le changement de nom en Borland Software Corporation : « Le nom
de Borland a toujours été synonyme d’excellence technologique ». A ses
côtés, David Intersimone, vice-président des relations avec les
développeurs nous « contait » les enjeux de demain. Ce n’était
qu’un échauffement car le gourou américain allait présenter non pas moins
de 6 sessions, dont Kylix… Linux au centre des
enjeux de Borland…Pour la petite histoire, c’est une enquête (couronnée de
succès et d’enthousiasme) auprès des borlanders qui a amené Inprise à
entreprendre le portage de Delphi et C++ Builder sur Linux. Jbuilder quant
à lui est déjà écrit en Java ce qui permet de l’exécuter sur différents OS. Ils nous ont
rassuré en ce qui concerne Interbase. Inprise soutient et croit entièrement
au succès de son SGBD libre Interbase. La conférence
annuelle Borland s’est déroulé au CNIT La Défense à Paris les 14 et 15
décembre. Il s’en est fallu de peu pour que la dernière conférence saute un
millénaire ! Pas de nouvelle
version cette année, mais un nouveau produit… Tous les développeurs
l’attendent avec impatience, il est déjà célèbre avant d’être sorti, mais
on a enfin pu le voir fonctionner : Kylix, la version Linux de Delphi et C++ Builder. Il sera mis
sur le marché au premier trimestre 2001. Les interventions
des experts lors des sessions ont permis de « sentir » les
orientations des métiers du développement. Ainsi, les chapitres internet,
informatique mobile et architectures distribuées ont trouvé une large place
dans le programme, évidemment on retrouve la politique d’Inprise en matière
d’informatique d’entreprise (serveurs d’application etc.…) UML était également
à l’honneur pour les spécialistes de la modélisation objet, les outils de
génération de code Delphi, C++, Java à partir d’une analyse UML pointent du
nez et impressionnent ! Enfin, Inprise redonne à Borland ce qui est à
Borland : Son nom. Les borlanders ne feront qu’approuver. Bienvenue à Borland Software Corporation J.
ACCUEIL
/ PETIT DEJEUNER
SESSION
D’OUVERTURE
SESSIONS DE FORMATION
Ne pouvant pas
physiquement participer à toutes les sessions présentées – à mon grand regret –
j’ai donc effectué un choix, totalement personnel qui n’entache en rien la
valeur des autres sessions. Il y a aussi certaines sessions auxquelles on
souhaitait participer mais par manque de place, on se retrouvait dans une autre
salle. Rarement en le regrettant d’ailleurs…
Unified Modeling Langage, un standard OMG en matière d’analyse et de modélisation objet. J’avais abordé le sujet il y a un an environ sur les conseils d’un ami chevronné et magicien à ses heures perdues*. Il ne s’était pas trompé, l’engouement est bien là, les perspectives sont claires et la démonstration par l’exemple nous « bluffe ». Même les « merisiens » purs et durs s’y mettent, c’est dire…(malgré le pied de nez à Merise qui consiste à lire les cardinalités dans le sens contraire)
UML, c’est un ensemble
de notations qui permettent de représenter un problème à tous les niveaux
d’abstractions possibles, de l’utilisateur final jusqu’à l’objet le plus
technique de l’application. On peut toutefois rationaliser cette analyse pour
générer automatiquement, à l’aide
d’outils adaptés, un squelette de code.
Les outils de
modélisation UML phares sont Rational Rose et Mega Developpement. Je ne les ai
pas tous en mémoire, mais je peux citer deux autres produits qui ont l’avantage
d’être libres de droits d’utilisation : Objecteering dans sa Personal
Edition et ArgoUML écrit en Java.
Des sociétés se sont
appuyées sur ces softs de modélisation pour développer des produits
complémentaires permettant la génération automatique du code.
François Chaumartin de
Information Technology Software nous a présenté de façon éloquente un framework
de persistance pour Delphi : Nstore. A partir d’un fichier d’analyse
produit par les outils Rational Rose ou Mega, il est capable de générer des
unités définissant les fenêtres de l’application, les objets métiers, les
datamodules et la couche persistante des objets. Notons que c’est une
alternative intéressante à l’emploi de réelles bases de données objet qui
n’offrent pas encore de réel standard, et qui permet surtout de s’appuyer sur
des SGBD relationnels classiques tels que Interbase, SQL Server, Oracle, Sybase
SQL à travers les middleware BDE ou ADO et il me semble que DBExpress aussi.
Pour ceux qui n’ont pu
participer à cette session, je recommande vivement l’acquisition du CD de la
conférence qui contiendra les fichiers relatifs à chaque session. Ainsi vous
pourrez découvrir à travers un exemple de gestion classique (gestion de
bibliothèque) l’analyse UML accompagnée du code généré par Nstore.
Au
tour de Mitsuru Furutra de Fi Systems, Consultant en architectures distribuées
de nous louer les avantages du middleware MIDAS.
MIDAS
propose une architecture qui permet à des applications de collecter des données
sur un serveur SGBD, et de servir ces données à des applications clientes. Le
client se contente de récupérer les
données sur le serveur d’application. Ces dernières sont dès lors totalement
indépendantes d’un SGBD quelconque. On parle d’architecture n tiers.
Delphi
nous offre une palette de composants qui permettent de construire des
applications MIDAS standard mais aussi des applis web MIDAS.
L’intérêt
est de disposer d’une plate-forme middleware collectant les données et gérant
les règles et contraintes liées aux données.
Ensuite,
le client qui lira les données pourra être un terminal windows, un explorateur
web etc.… peut importe car la gestion des données est décentralisée.
Une des particularités
de MIDAS est d’offrir différents types de connexion entre le client et le
middle tiers. Sur le schéma, nous voyons qu’elle s’effectue au travers de DCOM,
mais on peut également l’établir à l’aide des sockets, de Corba, de http. On
choisira la connexion en fonction des contraintes d’administration réseau et de
la simplicité de configuration.
MIDAS, à travers le
composant ClientDataSet nous offre des possibilités gigantesques et pas
seulement en termes d’architectures distribuées.
Par exemple, dans le
contexte d’une utilisation locale de MIDAS, autrement dit en éludant les
parties Middle Tiers et DataBase Tiers, on peut tirer profit du ClientDataSet.
Ce composant peut nous
servir de table de données locale, temporaire. Il est donc possible de créer
des tables virtuellement, de travailler sur ces données avec toutes les
méthodes disponibles dans le dataset de la VCL (first, next, locate, insert,
post, delete etc.) et d’enregistrer le lot dans un fichier linéaire. Schéma
inverse, il peut lire ce fichier linéaire et reconstituer magiquement la table
inhérente. Et ce sans aucun besoin de BDE, d’ODBC ou autre. Seule midas.dll est
requise, environ 200 ko…
Tiens, je m’en suis
servi récemment pour ceci :
J’avais une DBGrid
affichant le résultat d’une requête SQL qui sortait des statistiques par
produit et par sites. Seulement on pouvait retrouver plusieurs fois le même
produit à cause de la multiplicité des sites. Le client souhaitait afficher des
sous totaux par produit et ce avec une couleur différente. Classique.
J’ai créé un DataSet à
l’aide du TclientDataSet en calquant les champs sur ceux de la requête. Ensuite
j’ai copié un à un les enregistrements du Tquery vers le dataset. Par contre, à
chaque saut de produit, j’ai inséré une ligne supplémentaire dans le
ClientDataSet conservant le sous total du produit respectif.
Pour la mise en forme
couleur, il suffit d’implémenter les évènements de dessin personnalisés de la
grille. Le résultat est impeccable et rapide.
Le plus important est
que cette façon de travailler avec MIDAS ne requiert pas de licence. En effet
seuls les cas où les paquets de données transitent d’un pc à un autre demandent
l’achat de licence auprès d’Inprise.
Je n’ai pas assisté à
des séances où l’on traitait de CORBA, un protocole cette fois-ci
multi-plateforme, gageons qu’avec l’arrivée de Kylix, il prenne une place non
négligeable dans l’étude de nos développements.
Kylix ?
On s’est réservé le
meilleur pour la fin. Quelques « copains du forum » en ligne de mire
en face de David I, « the gourou of the developers ».
François Chaumartin
avait commencé la veille et David Intersimone a clôturé l’après-midi de la
deuxième journée avec Kylix. Un vote à main levée dans l’amphi montrait
facilement la supériorité numérique des développeurs Delphi présents.
Ce qui m’a séduit,
c’était le screenshot de démarrage du diaporama powerpoint d’Intersimone.
Espérons qu’il sera sur le CD de la conf. Des pingouins y sont représentés sur
la banquise mais l’iceberg est sculpté en logo Windows 3D, et les pingouins se
jettent à l’eau. Saisissant J.
Le démarrage de Kylix,
hormis l’OS Linux auquel la plupart d’entre nous sommes encore peu habitués,
nous a donné un air de déjà vu. Et comment ! Delphi en Live ! Mais
sous Linux. Le portage graphique est bluffant.
Mais le plus important
était d’anticiper sur ce qu’allaient devenir nos applications Win32.
Alors les appels aux
API Windows ne seront pas traduits en appels aux API Linux bien sur. Par contre
la VCL à été entièrement réécrite et remaniée et à l’instar de l’environnement
graphique, les développeurs seront peu désorientés. Bienvenue à la CLX
(prononcez Clix). On retrouve quasiment la même hiérarchie d’objets. Une
librairie Internet a été ajoutée, la NetCLX qui est en fait la célèbre
librairie Indy (anciennement Winshoes) de la société Nevrona.
Du côté des bases de
données, un effort important a été fait. Nous aussi allons devoir en faire un
peu et dire adieu au BDE vieux compagnon de voyage. C’est avec DBExpress que
nous allons devoir compter maintenant, et on nous promet un accroissement de
performances qui pourrait aller jusqu’à 40%, on attend ça !
Les premières bases
supportées seront au moins Interbase et MySQL (fort de son succès sur le web).
Le petit point négatif
c’est que l’on aurait bien aimé repartir de la conférence avec le CD de la
bêta, mais l’annonce de l’envoi postal de celui-ci un peu plus tard au cour des
fêtes en a frustré plus d’un :-) !
Globalement, la
conférence est le bon moment pour se remettre en cause et choisir ses nouveaux
outils de développement, pour s’ouvrir aux nouvelles technologies pour
lesquelles on remet toujours à plus tard l’apprentissage. Ici, une heure et
demi de présentation et vous êtes sur les rails. Alors partants pour l’année
prochaine ? Oups ! cette année…
Sans aucun doute !
Meilleurs vœux de
bonheur à tous.
Sylvain JAMES