Le Symposium DNG comme si vous y étiez  Par Sami Jaber (webmaster@dotnetguru.org)

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" ...


 
Postez vos commentaires ici : http://www.dotnetguru.org/article.php?sid=266
 Les slides du Symposium (enfin!) :  Symposium-2.0.ppt
 La dernière version d'AspectDNG revue par Thomas :  AspectDNG-0.3.zip

      Premiers retours Presse : 

  "Si XML Day a eu un problème de fréquentation, la journée de séminaire orientée architecture organisée pas le site dotnetguru avec le soutien actif de Microsoft a fait le plein avec plus de 400 personnes. Les technologies abordées n’étaient pourtant pas des plus attrayantes : SOA, rôle de l’architecture, application et 
 infrastructure multi-couches, MDA, Pattern, programmation orienté Aspect, Web Services… Loin d’être un séminaire pro .NET, les intervenants n’ont jamais hésité à mettre en garde contre les insuffisances et les manques de .NET dans certains domaines. Une journée très pragmatique pour mieux comprendre les nouvelles méthodes de développement et de conceptions. Bonus à la fin de journée : un ensemble de posters sur .NET, accès aux données, les mots clés de VB.NET, exemples de classes du frameworks .NET. Très utiles ! (Magazine Programmez!)"

(Note de DNG : Pour résumer, nous avons réussi à faire le plein avec des sujets pas très attrayants, sans commentaire)