|
oici
une journée qui restera à jamais gravée dans nos
mémoires. Le Symposium DNG que nous organisions
le Jeudi 9
Octobre dernier a été pour nous, organisateurs,
une magnifique rencontre avec ce public, dont
nous ne connaissions ni l'étendue ni la
richesse. Sans compter qu'avec une journée
entièrement dédiée aux concepts d'architecture
(SOA, n-tiers, AOP, O/R Mapping) et une liste
d'inscrits s'élevant à plus de 400 personnes,
nous n'étions pas vraiment rassurés. Les raisons
de cette inquiétude étaient nombreuses. Si nous
distillons nos articles depuis plus de deux ans
maintenant sur DNG et échangeons avec nos
fidèles lecteurs nombres de messages, le contact
humain revêt toujours un caractère assez
angoissant. Par ailleurs, en choisissant
Microsoft pour nous accompagner lors de cette
journée, la crainte de voir les éternels
sceptiques nous reprocher une telle alliance
accentuait cette légère anxiété. Et enfin, la
dernière interrogation portait sur nous mêmes,
les speakers. Avions-nous les qualités requises
pour capter ou plutôt captiver un public pendant
toute une journée entière avec des concepts
encore très méconnus.... ?
Le
déroulement de la journée
La première note de
satisfaction est venue du public. La salle était
quasi pleine et les profils des participants
très variés. Avec un début programmé à 9h (très
tôt pour un séminaire parisien), la première
session a débuté vers 9h15, le temps
d'accueillir les derniers arrivants.
"Architecture et SOA" étaient les thèmes de
cette présentation d'une heure et demi qui a été
l'occasion d'insister sur l'importance d'une
démarche d'intégration dans un Système
d'Information de type "plats de spaghettis".
L'accent a également été mis sur la nécessité de
penser objet avec des Framework tels que .NET ou
J2EE. L'industrialisation d'application et le
rôle de l'architecte dans cette chaîne n'ont pas
été oubliés. Les présents ont ainsi pu voir une
démonstration inédite du Plug-In Borland
Together de Visual Studio .NET permettant de
modéliser une application en UML et de générer
(ou synchroniser) le code de manière
automatique. Le tout avec la rétro-documentation
HTML des modèles associés au code source. Seul
restait l'export XMI permettant de générer la
couche de persistance avec un outil tel que DTM
(Data Tier Modeler). La seconde démonstration
dédiée à Biztalk 2004 Server fût l'occasion de
montrer visuellement la notion de Port,
d'adaptateurs, de messages et de schémas XML.
Après une brève pause, Thomas
GIL fût le second à se lancer. Sa présentation
portait sur les applications n-tiers, les Design
Patterns et la programmation par aspects. Le
tout illustré via le PetShopDNG et l'outil
AspectDNG. Cette session a été très appréciée du
fait de sa démarche très pragmatique et surtout
très pédagogique. L'intérêt de la séparation des
couches et des rôles dans une application
n-tiers furent au centre du débat avec pour
point d'orgue deux démonstrations inédites.
La première portait sur les
bénéfices du Pattern Abstract Factory dans la
distribution de couches. Via un simple
changement de paramètre dans un fichier de
configuration, il était possible de distribuer
la couche de services à l'aide des protocoles
Remoting (Binary et SOAP) ou WebServices. La
même opération a été reproduite dans un
fonctionnement mono-processus. Toujours avec le
souci d'illustrer le fameux Pattern DTO (Data
Transfert Object) permettant de copier et
transférer des structures d'objets par valeur.
La seconde démonstration a
énormément fait parler d'elle dans les couloirs
après la session. En effet, nombreux dans la
salle furent ceux maîtrisant peu les
bienfaits de la programmation par Aspect. Et la
persistance automatique d'un graphe d'objet
métier en XML les a totalement convaincu. Juste
en appliquant un tissage spécifique et sans
modifier une seule ligne de code source, un
ensemble d'objets sauvegardaient soudainement
leur état en XML. Un must.
12h30 sonnait l'heure
du déjeuner.
Un buffet copieux (et semble t-il
apprécié) réunissant dans une grande salle les
quelques centaines de participants. Au milieu
d'un brouhaha ambiant on pouvait entendre les
nombreuses discussions et débats sur des thèmes
abordés dans la matinée.
13h30 : pas de temps
pour la sieste. Didier Girard, spécialiste J2EE
et Directeur technique
d'Improve
rentrait en scène avec pour sujet les Web
Services en entreprise. Pourquoi avoir invité
Didier alors que le thème de la journée semblait
très proche de .NET et par conséquent de
Microsoft ? Pour la simple et bonne raison que
notre conception de l'architecture ne laisse
aucune place au débats partisans et aux clans
d'opinions. La plupart des speakers présents
pendant ce Symposium travaillent régulièrement
sur .NET et J2EE et n'ont aucune vocation à
"vendre une implémentation" mais plutôt à
"présenter des concepts dans une architecture
cible", en l'occurrence .NET pendant cette
journée. Nous ne pouvions concevoir un Symposium
dont J2EE serait totalement occulté. La session
de Didier Girard a donc été l'occasion
d'effleurer le sujet avec des projets tels que
Apache Axis ou AspectJ. Si Didier n'a pas
forcément brossé un tableau sombre des
WebServices, il a mis en garde le public contre
une utilisation abusive de ces derniers dans un
cadre non sécurisé.
La dernière session fût la
plus "sportive". Pour être franc, nous
souhaitions susciter un vaste débat sur ce sujet
controversé que constitue le mapping
Objet/Relationnel. Présenté par Sébastien Ros,
jeune CTO d'Evaluant et développeur principal de
l'outil DTM (Data Tiers Modeler), cette session
a été ponctuée par un nombre incalculable de
questions et nous vous remercions sincèrement
d'avoir joué ce rôle aussi fidèlement. Voici un
bref aperçu des questions posées : "Pourquoi
changer de langage de requête (OPath ou OQL)
alors que mon équipe et mes DBA possèdent déjà
des compétences SQL ?" - "Comment intégrer
mes procédures stockées dans une telle
architecture où tout est confiné dans un tiers
applicatif ?" - " "Comment reprendre un schéma
de base existant avec une approche bottom-up ?"
- "Comment gérer plusieurs bases de données
lorsqu'elles possèdent chacune des spécificités
propres ?" - "Quid des performances et du cache
?" - Quid des transactions ?" ... Bref, pour les
présents, ce fût un moment intense et
enrichissant que Sébastien n'est pas prêt
d'oublier :-).
18h00 : fin des
questions/réponses et du Symposium. Vu le nombre de
participants, il fût difficile d'échanger
longuement avec chacun d'entre vous, mais nous
nous rattraperons les prochains jours sur DNG.
Les quelques aficionados
restés en toute fin de journée ont tous été
conviés à nous accompagner dans une
Unplugged Beer Meeting. Christophe
Lauer, responsable du site DotNet-fr.org et à
l'origine de cette initiative, nous a ainsi
permis de poursuivre les nombreuses discussions
de la journée autour d'une bière ou deux (ou
trois, euh en fait je sais plus vraiment ;-)).
Encore une fois, toute l'équipe DNG vous
remercie sincèrement de vos nombreux messages de
soutien. Et rassurez-vous personne n'a la grosse
tête ;-).
Une communauté
riche aux visages multiples
Ce Symposium a aussi eu le
mérite de clarifier la nature et le visage des
personnes constituants la communauté des
lecteurs DNG. S'il est difficile de généraliser,
on peut d'ores et déjà affirmer que la majeure
partie de nos visiteurs sont des professionnels,
qu'ils soient débutant ou averti. Mais comment
en pourrait-il être autrement ? les concepts que
nous distillons à longueur d'année sont, il est
vrai, avant tout liés à des problématiques
d'entreprise.
Concernant l'origine des
lecteurs, elle est diverse : certains sont issus
de sociétés utilisatrices, d'autres d'éditeurs
logiciels et de sociétés de services (ou de
conseil) et enfin des étudiants venus
appréhender des concepts encore trop peu
enseignés en école ou à l'université. Quant à
l'origine géographique, nous ne remercierons
jamais assez ceux ayant fait le voyage
d'Allemagne, du Luxembourg, de Belgique (très
nombreux), de la suisse, d'Alsace, de Nice,
Toulouse, etc ... Finalement une des meilleures
preuves de reconnaissance.
Que doit-on retenir d'une telle journée ?
Les concepts de demain seront
liés inévitablement à l'architecture et aux
outils permettant de travailler sur la qualité
des applications. L'approche purement
"développeur" n'a plus lieu d'être dans un monde
où les API et les Framework évoluent à un rythme
effréné. L'industrialisation et les outils
associés auront un impact direct sur les métiers
liés aux tests, recettes, développements ...
même à l'analyse ! Bref, l'approche bas niveau
doit se substituer à une approche plus globale
où les développeurs auront un rôle primordial à
jouer aux côtés des architectes. Car, qu'on se
le dise, l'architecture est un rôle, plus qu'un
métier. Après plusieurs années sans développer,
un architecte peut très bien se retrouver très
vite dépassé et devenir décalé par rapport aux réalités du terrain (une chose qu'on leur
reproche bien trop souvent). Alors, n'opposons
pas ces deux mondes ...
Clin d'oeil en photos
Un petit album réalisé pour
l'occasion, merci aux photographes.
(DNG respecte le droit à l'image, si vous
souhaitez enlever une de vos photos, envoyez
nous simplement un
mail)

Ils y étaient et ils ont dit
Voici quelques messages en
vrac que nous avons reçu peu après l'évènement,
merci à leur auteurs :
"Bonjour,
J'ai assisté au Symposium DNG de ce jour, voici
mes impressions à chaud...
Tout d'abord bravo d'organiser ce type de
présentation qui sont effectivement trop rare...
et bravo aux différents intervenants le niveau
était bon, le contenu intéressant, j'en ressort
sans forcément avoir découvert le "graal" - mais
je ne l'attendais pas ;-) - mais plutôt en phase
avec mes choix d'architecture (découpage en
couche, vision de "services", etc...), et avec
une bonne idée des tendances.
Pour ma part, actuellement architecte technique
(et développeur évidemment) chez un éditeur dans
le domaine du Data-Mining (et non une SSII ou un
"utilisateur final"), je n'était pas "coeur de
cible" du symposium... :
Langage C++ (non managé) sous Visual Studio .NET
et produit "Stand-alone" pour le moment, mais
version du produit en version client/léger prévu
à moyen terme avec portage sous environnement
Linux... Utilisation d'un framework "maison"
basée autour de "services métiers" et d'une base
de donnée mémoire.
Quelques remarques en vrac :
-------------------------------------------
* J’ai particulièrement aimé l’état d’esprit des
intervenants, cette volonté d’être à l’écoute et
pas fermé dans une vision particulière - a bas
l’intégrisme ! vive la provocation ! euh… .NET
c’est déployé ;-) ?
* Le travail d'architecture n'est pas uniquement
l'apanage des langages « byte code »
fonctionnant dans le cadre d’un framework
technique (J2EE/.Net). Au contraire, dans mon
cas, langage C++, une part importante est de
bien cadré le travail de développement au «
risque » du langage par une définition de norme
de code et de « best-practice » d’une part et de
restreinte les subtilités du langages par
l’utilisation d’un framework « applicatif ».
Idéalement, avec un langage à « risque » comme
C++, l’objectif de « casser » la créativité des
développeurs est très importantes ! La notion de
framework « applicatif » n’a pas été abordée… Je
pense que pour piloter et cadrer l’ensemble des
différentes couches d’une manière générique
(couple lâche) cela est nécessaire… Mais le
framework natif de .NET suffit peut être ? (je
n’est pas assez de recul sur l’environnement
pour répondre)
* Ce qui me parait important dans le découpage
«architecture n-tiers », ce n’est pas l’approche
architecture basé sur une architecture « machine
» mais un découpage basé sur un découplage
fonctionnel (couche présentation/service
métier/couche donnée), l’enrobage technique de
chaque couche pourra à la rigueur permettre de
déployer sur des environnements différents. Par
exemple, un composant métier « unique » au sens
source décliné : en DLL piloté par API, en objet
COM piloté par flux XML et un objet JAVA/JNI
pour intégration une solution à base de JSP.
Quelques idées de thèmes, débat ou
problématiques (euh... il est possible que cela
soit déjà traité sur dotnetguru, j'avoue qu'il y
a un certains temps que je n'ai pas suivi les
différentes rubriques – vive les gosses !)
------------------------------------------------------------------------------
* Des zooms sur des "architectures retours
d'expériences"
* Comment prévoir une architecture adaptée à une
application multi client :
client "stand-alone" performant, client HTML,
etc...
* La problématique des postes déconnectés
(portables itinérants) etc...
Encore bravo à tous...
FH. "
"Bonjour,
Merci pour le symposium d’hier ; outre la
maîtrise technique et la pédagogie, mention
spéciale à l’humilité des intervenants et à leur
souci de montrer plus que de démontrer. En tant
qu’auditeur, c’est agréable d’être considéré
comme autre chose qu’un client potentiel à
convaincre. Vivement une prochaine édition, avec
pourquoi pas une étude du retour d’expérience
sur un projet utilisant WebServices, Persistance
ou archi n-tiers…
Bon week-end,
AH"
"Bravo pour ce symposium,
c'était génial.
GL "
D'autres
réactions issus des forums.
Le prochain ?
A vrai dire, nous sommes
encore très loin de la question du prochain
Symposium. Non seulement nous avons toujours
préféré sur DNG privilégier la qualité à la
quantité (désolé pour ceux qui souhaiteraient
beaucoup plus d'articles), mais un tel évènement
demande énormément d'investissement (pas
seulement logistique) et ce n'est aujourd'hui
clairement pas à l'ordre du jour. Mais comme dit
l'adage, il ne faut jamais dire "fontaine, je ne
boirais point de ton eau" ... |