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