Le Forum des architectes comme si vous y étiez Par Sami Jaber (DotNetGuru.org)

Les 14 et 15 Janvier dernier s'est déroulé à l'hôtel Concorde Lafayette le premier Forum Microsoft à destination des architectes. Au menu, Multi-couches, Design Pattern, MOF/MSF, Interopérabilité J2EE/.NET, WebServices, AOP, Sécurité... Cette présentation ayant été réservée à un petit groupe d'Architectes, nous avons voulu vous en faire profiter.

epuis la sortie de .NET, il faut avouer que le sujet de l'architecture a été quelque peu occulté par l'éditeur de Redmond dont la cible s'est principalement focalisée sur les développeurs. Le Forum des architectes sonne donc le glas d'une nouvelle ère dans la communication de Microsoft qui tente dorénavant de séduire de nouveaux profils, ceux des architectes. Cet évènement organisé dans un cadre strictement privé ne permettait malheureusement pas au plus grand nombre d'entre vous d'être présent. Nous avons donc souhaité vous faire partager l'évènement afin de généraliser une telle opération mais également de l'ouvrir à l'avenir à un public beaucoup plus large et moins élitiste (sic!). L'architecture, quoi qu'on en dise, est l'affaire de tous et ne doit pas systématiquement être l'apanage des architectes. 

Les Speakers
Pendant ces deux jours, ce sont succédés (parfois en duo d'ailleurs) plus de 5 speakers. Neil H. responsable des évangélistes EMEA, Rafal Lukawiecki (eVisionneer), Clemens Vasters (newtelligence), Arvindra Sehmi et Gianpaolo Carraro (Evangélistes MS). Juste pour préciser le contexte, Arvindra et Gianpaolo sont des ex-experts de la plateforme J2EE/Java aujourd'hui reconvertis en pourfendeur de la bonne parole chez l'éditeur de Redmond.  

Organisation et audience
Comme à son habitude, Microsoft a su recevoir les quelques deux cents personnes conviées à l'évènement. Le lieu tout d'abord, l'hôtel Concorde Lafayette avec ses grandes salles mêlant ambiance feutrée et grands espaces. 

L'accueil, avec des cocktails et déjeuners offerts pendant toute la durée du Forum, mais également les traditionnels goodies marketing. Chaque participant s'est vu remettre à la sortie un mini disque dur USB de 40Mo en forme de porte clé. De quoi faire pâlir d'envie ;-).

Concernant l'audience, la plupart des grandes entreprises du marché des nouvelles technologies étaient présentes à cette réunion. Des SSII classiques aux simples sociétés utilisatrices. Au passage, ce fût pour nous l'occasion de faire la connaissance de personnalités telles que Didier Girard (Directeur technique d'Improve), Eric Groise (Octo), Jean-Christophe Cimetière (SQLi), Jean-Louis Benard (Directeur technique Business- Interactif) mais également des Microsoftees avec Marc Gardette, le groupe des Evangelistes, etc..   

Le déroulement des sessions

Première Journée
Les deux jours ont été riches et très denses avec une durée moyenne d'une heure pour chaque session. La première d'entre-elles intitulée "Selection of Architecture" présentée par Neil Hutson avait pour but d'introduire les notions d'architecture tout en insistant sur son axe stratégique et son retour sur investissement (ROI). La suivante, "Serviced oriented Architecture" ou SOA était présentée par un technicien hors pair, Clemens Vasters de la société newtelligence, spécialisée dans les outils liés aux WebServices. Clemens, très au jus des dessous de la plateforme .NET nous a gratifié d'une présentation sobre tout en étant très convaincante sur la conception d'applications orientées services. Il a ainsi introduit les notions de broker de messages, de producteur et de consommateur mais également des notions plus complexes telles que les transactions et les pipelines de services. Pour la petite histoire, si vous espériez voir des transactions ACID fonctionner un jour sur le Web en utilisant HTTP, il faudra oublier, dixit Clemens.

La session suivante intitulé "Patterns Layering, Secret Sauce of Great Applications" et présentée par Arvindra Sehmi était la première entrée en matière d'ordre technique. Arvindra a introduit les notions de patterns d'Architecture et de patterns de conception plus traditionnels appelé également Patterns du GoF (Gang of Fours). On a donc eu le plaisir de découvrir le Médiateur, la Factory ou encore l'Adapteur à travers une démonstration originale même si moins "sexy" que les exemples qu'on a coutume d'apercevoir notamment aux DevDays ou aux Tech Ed.

L'après-midi a débuté par une session réservée à l'Architecture des systèmes distribuées recommandée par Microsoft à travers le PAG (Prescriptive Architecture Guide). Gianpaolo Carraro a abordé les notions de séparation des couches, les Service Agents et l'impact des façades fonctionnelles sur un système distribué en insistant sur la notion de couches logiques et physiques.

Rafal Lukawiecki de la société eVisionneer qui fait partie avec Clemens des deux intervenants externes nous a gratifié d'une présentation qu'on pourrait qualifier de comment dire... Rafalesque ! On se serait cru parfois au grand Théâtre du palais Garnier avec une mise en scène digne des plus grandes pièces de Shakespeare. Rafal nous présentait en fait le MOF (rien à voir avec le Meta Object Facility) et le MSF pour Microsoft Operations Framework et Microsoft Solutions Framework. Il faut avouer que même si ce ne fût pas pour nous le contenu le plus exaltant car on aurait préféré une approche plus orientée processus avec Unified Process ou eXtreme Programming, la présentation de Rafal avait le mérite de faire connaître la méthodologie utilisée par Microsoft. Et, promis Rafal ! Le Reboot inopinée de votre machine en pleine lecture d'une vidéo Media Player vantant les mérites de MOF sur la détection des bugs de Windows XP n'a en aucun cas entaché votre discours (on a quand même bien ri ;-)). 

Deuxième Journée
La seconde journée nous a semblé beaucoup plus concrète que la première, laquelle avait pour objectif d'introduire les principaux concepts. Rafal Lukawiecki nous a présenté les différentes techniques de sécurité et de cryptographie (asymétriques et symétriques) de .NET en présentant rapidement des algorithmes tels que RAS, AES, DES, RC2, RijnDael ... Puis ce fût au tour d'Arvindra Sehmi de nous parler d'Architecture à travers une session intitulée "Autonomous Computing Agents". Ce sujet ô combien intéressant mais complexe aurait dû faire l'objet d'une présentation beaucoup plus longue. La démonstration proposée par Arvindra mettait en valeur les bienfaits de l'informatique autonome dans le domaine de la Finance en insistant sur des notions telles que l'annulation de Transactions et l'orchestration de services. 

Avant le déjeuner, la session de Gianpaolo Carraro sur les Smart Clients avait pour but de mettre en valeur le déploiement de clients riches interagissant avec le serveur en utilisant le protocole Soap et les WebServices. Ce fût l'occasion d'aborder des notions telles que le déploiement, le mode déconnecté ou off-line, la synchronisation et le versionning.

L'après-midi fût un véritable feu d'artifice technique sur le sujet ô combien sensible de l'interopérabilité J2EE .NET. Une session présentée par le duo de choc Gianpaolo Carraro, Arvindra Sehmi. Cette présentation nous a permis d'aborder l'architecture n-tiers d'une application .NET basée sur les Design Patterns les plus couramment utilisés dans le monde Java. Les deux comparses Evangélistes nous ont présenté une même application écrite en J2EE et en .NET utilisant les paradigmes spécifiques à  leur plateforme respective. La version J2EE utilisait JSP/Struts pour la couche de présentation et les composants EJB pour la couche de services, le tout fonctionnant avec le célèbre serveur d'application OpenSource du marché : JBoss

La version .NET quant à elle, tirait partie des ASP.NET avec une couche de service entièrement multi-canal. En d'autres termes, le Design (conception) de l'application avait été étudié de telle sorte que le client pouvait invoquer un service .NET en utilisant n'importe quel protocole : In-Process (invocation directe), .NET Remoting, WebServices, ou .... Java/RMI (JnBridge) !  Le tout sans modifier une seule ligne du code source, simplement en rajoutant une entrée dans un fichier de configuration à l'aide du Pattern Abstract Factory. Du grand art ...

Dans le même esprit, la session suivante présentée par Clemens Vasters fût un véritable show totalement bluffant. Non pas que les mimiques du présentateur furent éloquantes (encore que), mais la prouesse technique réalisée par le démonstrateur de Clemens a fini par nous convaincre sur l'intérêt de la programmation par Aspect qui fera partie des grands chantiers de demain. Clemens a introduit dans son application, qu'il qualifie lui même d'unique au monde ;-), des Custom Attributes destinés à créer des extensions Soap afin de bénéficier de services tels que la sécurité ou la propagation du contexte transactionnel COM+/.NET Remoting entre client et serveur. Clemens nous a également affirmé qu'il était possible d'utiliser un composant COM+ dans une application .NET sans passer par la sacro-sainte signature dans le GAC, simplement en redéfinissant le comportement du processus DLLHost.exe à l'aide de la méthode CoRegisterSurrogateEx(). Toutes ces informations sont disponibles ici

Si la programmation par aspect ou AOP était un concept qui vous semblait jusque là totalement obscur, nous ne pouvons que vous conseiller de parcourir la documentation disponible sur le site aspectJ.org mais également sur le WebLog suivant : http://radio.weblogs.com/0108971

Pour finir, énormément d'Architectes Java/J2EE étaient présents dans la salle et la plupart ont pu apprécier le niveau technique et la qualité des présentations dispensées. Faut-il le rappeler, l'Architecture est un concept qui sort des frontières classiques des technologies. Et les pauses entre chaque session furent souvent le lieu d'âpres discussions entre experts des deux mondes, tout cela sans aucune animosité, dans la plus grande des sérénités. A méditer...  

Le prochain Forum ? 
L'équipe des Architectes EMEA va continuer ses efforts d'évangélisation concernant les concepts d'Architecture. La tournée a débuté au mois de Novembre et va se poursuivre en Afrique du Sud, en Suède, en Finlande, et dans plusieurs pays d'Europe et d'Afrique ... Quant à la France, il est prévu qu'un séminaire de ce type soit organisé par l'équipe de Marc Gardette en langue Française. Nous ne pouvons que vous engager à vous y inscrire car il est fort probable que les futures sessions s'ouvrent à un public beaucoup plus large. Dans tous les cas, c'est à espérer ...

Le PAG (Prescriptive Architecture Guidance)
Le PAG constitue l'architecture de référence proposée par Microsoft pour la conception et le développeur des futures applications .NET. Le PAG repose sur énormément de concepts. Tout d'abord, l'architecture logique liée à la notion de séparation de couches et de zones de responsabilités, mais également l'architecture physique avec des recommandations dans le domaine du déploiement, du clustering, des performances, etc ... Pour tout renseignement à ce sujet, n'hésitez pas à consulter l'adresse : http://www.microsoft.com/architecture

Conclusion
Ce Forum revêtait pour nous une importante capitale. Non seulement ce fut le premier évènement de ce genre organisé par Microsoft en France, mais faut-il le rappeler, les sujets abordés pendant ces deux jours sont le pain journalier des articles de DotNetGuru et l'occasion pour nous d'insister une fois encore sur ces notions fondamentales. Enfin, il semble cette fois que Microsoft ai réellement emboîté le pas aux Architectes .NET et la conception d'application VB à la sauce "Quick and Dirty" est bel et bien derrière nous .... 

DNG : Nous en avons profité pour interviewer Gianpaolo et Arvindra en Webcast avec une caméra DV. Ce sera l'objet du prochain article. 

 Ressources 

 Le site officiel du Forum Architecte  : http://www.thearchitectexchange.com/
 Le MOF et le MSF : http://www.microsoft.com/mof
 AOP : http://www.aspectj.org
 Le site officiel de Microsoft sur l'architecture : http://www.microsoft.com/architecture