TechEd Europe 2004 Par Bruno Boucard (boucard.bruno@free.fr)

TechEd 2004 se déroulait cette année à Amsterdam. Bruno Boucard y était présent et nous fait un compte rendu des trois premières journées. Cette année marque l'avènement de Visual Studio Team System et du Framework .NET 2.0.

msterdam, le 28 juin 04, la nouvelle édition du TechEd Europe retrouve la Hollande. En 1999, les conférences Visual C++ et TechEd furent organisées au même endroit, le fameux RAI Center d’Amsterdam. Le Rai Center (immense centre d’exposition similaire à la Porte de Versailles à Paris), se trouve en périphérie du centre ville.
Les festivités débutent par les « pré-conférences ». Pour les non initiés, une journée de pré conférences est une session consacrée à un sujet dense animé par un ou plusieurs speakers de renom. Cette journée est généralement optionnelle, elle précède la conférence elle-même, dont les sessions durent environ 1h15 sur un sujet précis. Cette année, Microsoft nous propose 7 pré- conférences sur les sujets suivants:

• PRE001 Building an End-to-End Integration Infrastructure with BizTalk Server 2004
• PRE002 Building Data Driven Systems with SQL Server 2000 and SQL Server 2005
• PRE003 Getting 'Smart' with Windows Clients
• PRE004 Guidance about Patterns and Practices
• PRE005 Implementing Server Security Focusing on Active Directory
• PRE006 .NET for IT Professionals
• PRE007 Writing Secure Code

Après quelques hésitations entre les conférences sur « écrire du code sécurisé » (PRE007) et «conseils au sujet des patterns et des bonnes pratiques » (PRE004), j’ai finalement choisi cette dernière. La conférence PRE004, est consacrée à l’architecture et expose une synthèse des nombreux travaux réalisés cette année par le groupe architecture de Microsoft. Les speakers de cette session ont donc choisi de nous démontrer pendant toute une journée quelques morceaux choisis :

  • Service Oriented Applications (Keith Pleas)

  • Test-Driven Development (James Newkirk)

  • Application Configuration (Rockford Lhotka)

  • Designing a Data Access Layer (Fernando G. Guerrero)

  • Designing Security (Rafal Lukawiecki)

  • “Shadowfax” reference Application (Wojtek Kozaczynski)


Personnellement, deux thèmes m’ont particulièrement marqué : la sécurité animé par l’excellent Rafal Lukawiecki et « Shadowfax » pour avoir découvert un gigantesque framework orienté architecture distribuée.
Selon Rafal « la sécurité n’a jamais été autant d’actualité, et pourtant, il reste d’énorme progrès à faire ». Il poursuit par « Nous sommes loin d’obtenir des systèmes 100% sécurisés ». Alors plutôt que de se décourager, Rafal nous propose une démarche déclinée en 6 étapes :

  1. Identify Assets

  2. Create an Architecture overview

  3. Decompose the Application

  4. Identify the Threats (menaces)

  5. Document the Threats

  6. Rate the Threats

Je ne renterai pas dans les détails, mais la leçon mérite d’être ré-étudiée dans une future présentation.

Shadowfax est le nom de code d'un framework de développement d’applications distribuées. Issue des travaux de la cellule architecture de Microsoft, ce framework contient une mine d’excellents patterns permettant d’offrir aux utilisateurs plus de productivité, de fiabilité et de traçabilité dans le domaine des architectures orientées services.
Techniquement, le framework se base sur le pattern Pipeline, à l’instar d’ ASP.NET et de Biztalk 2004, celui-ci est hautement personnalisable. Là encore je vous passerai les détails, mais nous en reparlerons dans quelques semaines, sans compter le prochain Symposium DNG qui y consacre une session au mois d'Octobre.

Première journée : Day 1

Pour la majorité des participants c’est la première journée, la tradition dans ce type de manifestation veut qu’un Keynote débute les festivités. L’animateur principal de ce grand show est Jonathan Muray (Chief Technology Officer, Microsoft EMEA). Jonathan nous explique que le Tam-Tam placé sur tous les sièges de la salle vont nous servir à marquer notre enthousiasme durant le Keynotes.

Le premier sujet concerne l’accessibilité, animé par un non voyant, Jürg Cathomas (Swiss Federation of the Blind and Visualy impaired) qui nous démontre à travers un site Web équipé de la technologie Accessibility, qu’il est capable de surfer, rechercher en toute quiétude comme un voyant. En effet le site Web « parle » et annonce de vive voix, en temps réel les liens qui s’affichent sur la page. En conclusion, Jürg demande à l’audience (sous l’émotion) de penser à utiliser cette technologie dans ses prochains développements (applaudissements chaleureux et émus de toute la salle).
Le sujet suivant nous présente la roadmap des prochains grands produits techniques. Courant mi 2005 : SQL Serveur 2005, Visual Studio 2005, puis beaucoup plus loin Longhorn (prochaine version après Windows XP), Visual Studio Orcas (version après VS 2005).

On se recentre rapidement sur le Visual Studio 2005 et sa capacité à gérer le cycle de vie du développement logiciel comme jamais (Design, Compilation, Tests …). Cette gestion raffinée du cycle de vie porte le nom de Visual Studio Team System (retenez ce nom, c’est une véritable révolution dans le processus de développement logiciel chez Microsoft). En effet sous ce nom un peu commercial se cache de nombreux outils tels que Team Management, Project Management, Unit Testing, Code Coverage, Security System, Load Testing … Toutes ces fonctionnalités sont intégrées dans une seule interface : Visual Studio 2005. Retenez aussi que Team System rentre dans une démarche à long terme que Microsoft appelle SDI (System Dynamique Initiative) mais qui est commune à d’autres éditeurs ou organisations (OMG).

Nous passons à un sujet plus « ludique » : l’annonce de Visual Studio Express Edition. En quelques mots, c’est une version de Visual Studio 2005 sans Team System, mais avec tout le reste et même parfois plus. En effet cette version est destinée aux non professionnels désirant programmer des logiciels sans dépenser d’argent (vous l’avez compris la gamme des produits Express est gratuite). Pour ne rien gâcher, une base de données gratuite SQL Server 2005 Express est livrée avec tous les starter kit intégrés au produit. Comme cette nouvelle gamme de produits est fondée sur la version 2.0 du framework, vous pouvez bâtir une application Web en quelques clics sans rien coder ! (grâce à ASP 2.0).

Nous passons à l’annonce de la version serveur de la VPC, le Virtual Server 2005 destiné à virtualiser des OS serveurs dans des environnements divers (comme plusieurs OS simultanés sur des processeurs différents sur la même machine). On imagine que ce type de technologie peut soulager les développeurs mais aussi les testeurs, les administrateurs. On passe ensuite à une démonstration, basée sur une application disponible aux participants du TechEd sur tous les PCs de la salle « Communication Network », le e-Phone. C’est technologie s’apparente à du téléphone sur IP appelé Voice over Internet Protocol (VoIP). Et l'application démo est naturellement capable d’enregistrer les appels entrants et sortants. A la fois économique, et pratique !

Puis c'est au tour de l’annonce de la prochaine sortie du service pack 2 pour Windows XP. Plus qu’un service pack, c’est une évolution système majeure et notamment sur le plan de la sécurité. Donc attention, après l’installation de ce service pack, certaines applications pourraient ne plus marcher. Moins structurant, mais important, le service pack 1 pour Windows Server 2003.

Le sujet suivant traite de mobilité. Il est illustré par un Pocket PC Phone et un Smart Phone humains. Deux compères déguisés nous font une jolie démonstration de mobilité sur le ton de l’humour.
On enchaîne par Microsoft Research. On y apprend que cette filiale comprend plus de 700 personnes, que Microsoft à dépensé 8 Milliards de $ dans cette filiale et que de nombreux projets en cours d’étude aboutiront sur notre PC dans les années à venir.

Pour nous convaincre du bien fondé de cette initiative, le vénérable Jim Gray (que je ne présente pas) vient nous présenter ses travaux sur SkyServer) et SkyQuery (disponible en .NET). En quelques mots c’est un projet visant à soulager le CERN du stockage de toutes les photos de l’espace, des planètes, des galaxies, récoltées à travers le monde entier, vers des sites distants gérés par des « noeuds » SkyServer. Bref toutes les infos sont sur le Web http://skyserver.sdss.org.

Ce Keynotes se termine par Win64, c'est-à-dire Windows pour 64 bits. C’est un responsable du département de la Visualisation de l’université de Stuttgart qui nous fait une démonstration d’une application graphique 3D temps réel et en relief (des lunettes adéquates étaient disponibles pour tous les participants). Bref, une belle démonstration.

La journée se poursuit avec une session sur XML, « DEV379 XML Today and Tomorrow » animé par Mark Fussell (Lead Manager). Je connais Mark depuis plusieurs années et sa passion XML n'est plus à démontrer. Mark nous fait un comparatif efficace des APIs v 1.* avec v 2.0. C’est sans appel, le prochain Framework offrira plus de flexibilité et de performance, notamment au sujet d’XML.

La session suivante concerne un personnage qui à marqué ma carrière : Don Box. Même si Don est aujourd’hui architecte du projet Indigo chez Microsoft, il reste un excellent orateur. Pendant cette session intitulée « CTS405 Choosing a Hosting Model – Dealing with Threads App Domains, and Processes », Don nous parle de CLR hosting. L’aspect chargement (loading) est un sujet qu’il affectionne. Don nous fait une rétrospective brillante de toutes les techniques de chargement de la CLR avec à chaque fois les avantages et les défauts : une bonne leçon pour des choix d’architecture sous .NET d’aujourd’hui et de demain (v 2.0).
Après Don Box, le passage à un autre orateur est toujours difficile, mais depuis quelques années un certain Ken Beck a rempli ma bibliothèque sur le thème de l’eXtreme Programming (XP). Non ce n’est pas Ken en personne, mais un certain Jan-Erik Sandberg, passionné par l’eXtreme Programming (il se définit lui-même comme un Mentor) qui va me rappeler que l’XP n’est pas seulement théorique, mais très bénéfique pour des équipes de petites tailles. C’est donc la session “DEV316 eXtreme Programming : The Alternative Way to Building High Quality Systems”, qui conclurera cette journée. La session fut parfaitement animée en apportant du réalisme aux concepts initiaux d’XP.

Seconde journée : Day 2

Ce matin, c’est un peu la panique, les sessions débutent à 8h30, le trafic des trams n’est pas très bon et nous sommes tous (principalement des participants du Tech Ed) tassés comme dans le métro parisien. Enfin j’arrive (un peu en retard) à mes premières sessions sur ASP.NET 2.0. Les sessions se nomment DEV313 et DEV314, mais elles forment un tout cohérent animé par le célèbre Scott Guthrie (un des pères d’ASP .NET, Scott est actuellement responsable des plateformes et des outils pour le WEB chez Microsoft).

Pour avoir participé à la PDC (grande conférence Microsoft relatant des technologies Microsoft à 3 ans) d’octobre dernier, j’ai déjà quelques bases sur le sujet, mais je n’ai jamais assisté aux sessions sur ASP.NET 2.0 (déjà animées par Scott). A la PDC, je me suis passionné pour Indigo le prochain serveur SOA intégré à Longhorn (mais qui tournera aussi sous Windows XP) et pour Avalon, la prochaine interface graphique vectorielle de Longhorn. Microsoft parle de 2006-2007 pour la sortie officielle de ces produits. En quelques mots, ASP .NET 2.0 est une évolution majeure de la version ASP .NET 1.0 & 1.1. On peut résumer ces évolutions par deux axes principaux : les évolutions sur le plan des librairies du Framework 2.0 spécifiques ASP.NET et les évolutions sur le plan de l’environnement de développement ASP.NET au sein de Visual Studio 2005.

Côté librairies, elles reposent essentiellement sur plus de couches techniques, mais aussi sur :

  • Des blocks techniques constituants les fondamentaux d’ASP .NET 2.0 Un Framework de pages proposant par exemple une gestion maître/détails

  • Un lot de nouveaux contrôles raffinés (+ de 50)

Côté Visual Studio 2005, les améliorations portent sur plusieurs points :

  • Les extensions FrontPage ne sont plus obligatoires

  • Les projets sont maintenant fondés sur un simple répertoire

  • Le code source HTML est préservé ; comme par exemple dans le cas de modifications dans la fenêtre propriété, le code source garde son indentation originelle.

  • Intellisense partout (et le mot est faible, des petits smart tags apparaissent dans tous les coins pour vous aider)

  • Amélioration de l’éditeur HTML comme par exemple l’affichage des balises actives dans le code HTML en bas d’écran.

  • Amélioration de l’édition du Code-Behind, comme par exemple l’usage des classes partielles (nouvelle caractéristique du Framework 2.0)

  • IIS n’est plus obligatoire car un mini serveur Web (basé sur le code Web Matrix) est fourni. Il est lancé lors de chaque session de test, puis arrêté en fin de session

Bref, ASP.NET 2.0 est une évolution majeure qui porte le développement WEB à un niveau jamais atteint. Après un tel exposé, je pense sincèrement que tous les développements Web devraient se faire dans cette technologie.

Après avoir passé 2h30 sur ASP.NET, je passe à un autre sujet beaucoup plus structurant mais toujours aussi révolutionnaire : Visual Studio 2005 Team System. Le sujet est tellement important qu’il est réparti en 3 sessions (3 x 1h15), mais comme pour ASP.NET 2.0 cela forme un tout cohérent. Pour assurer la bonne compréhension de Team System, c’est Prashant Sridharan le chef du produit qui anime les trois sessions (DEV301-303). jamais un outil de développent n’avait atteint de telles fonctionnalités dans la gestion du processus de développement : tous les acteurs sont représentés : Chef de projet, Utilisateur, Testeur, Architecte Solution, Architecte Infrastructure, Développeur. Tous collaborent à travers un système adapté aux problématiques de chacun, avec un seul objectif : produire plus et plus vite du logiciel de haute qualité.

Pour terminer cette longue journée, je parie sur une session dont je ne connais pas l’animateur, David Webster, mais dont le titre est amusant : « DEV390 .NET Framework : So you think you know what an object is …».
Malheureusement pour moi, je comprends après quelques minutes de session, que monsieur Webster est un évangéliste développeur et que le titre est à prendre au premier degré. L’audience visée est la moyenne des programmeurs VB, c'est-à-dire des gens assez neufs dans le monde de l’objet. Après une demi-heure, je ne tiens pas et quitte la salle, totalement déçu.

Je termine la journée sur la lecture de documents sur Team System, et rentre à l’hôtel.    

Troisième journée : Day 3

Contrairement à la veille, je suis un peu en avance (8h15). A noter que durant la journée, il est extrêmement difficile de communiquer via WIFI (le réseau est souvent saturé).
Pour la première session de 8h30, « DEV308 .NET Diagnostics », je retrouve le fameux Richard Grimes, auteur à succès dans le monde ATL/COM et Managed C++.
Richard nous présente les principales techniques pour diagnostiquer des applications .NET compatibles 1.x. La présentation passe en revue les techniques essentielles de traces et d’assertions. Il  nous conseille sur plusieurs points : tracez uniquement les éléments significatifs et ne livrez pas à vos utilisateurs des applications compilées de type "release" contenant des assertions. Vos utilisateurs risquent de ne pas comprendre les messages surgissant à des moments incompréhensibles pour eux ; ceci risque de ternir l’image de votre service délivrant des applications « aux comportements instables ». Puis Richard poursuit en nous illustrant un défaut lié à la synchronisation (donc de blocage) des APIs de traces utilisant la fonction native du SDK Win32, « OutputDebugString ».

Il enchaîne son exposé sur la capacité de fournir au framework des « listeners » de traces personnalisés en plus de ceux déjà présents (DefaultTraceListener, EventLogTraceListener, TextWriterTraceListener). On note que le gestionnaire de « listeners » permet aussi de retirer sélectivement les « listeners » prédéfinis. Dans le cas de la classe « System.Diagnostic.EventLog », Richard insiste sur ces nombreux défauts  (pas de support de formatage, EventLog peut se congestionner rapidement si de nombreux messages sont publiés …). Enfin il termine son exposé par des caractéristiques propres au Debugger et à Visual Studio (comme les attributs [DebuggerHidden], [DebuggerStepThrough]). En résumé, les techniques de diagnostics sous .NET 1.x ne sont pas agnostiques aux performances et leurs usages doivent être parfaitement contrôlés. Cependant, Richard nous rassure (un peu) car selon lui la version 2.0 corrige certains défauts révélés dans les versions 1.x.

La session suivante intitulé « DEV324 .NET Versioning » et animée par l’auteur Juval Lowy (son excellent livre « Programming .NET Components » chez O’Reilly sera mis à jour prochainement vis-à-vis de la version 2.0 de .NET). Personnellement je connais bien les stratégies de résolution des assemblages sous .NET 1.x, mais l’exposé de Juval couvre les techniques de « versioning » à la fois pour les frameworks 1.x et 2.0. A l’instar de Richard Grimes, Juval est très calme (ce n’est pas un Don Box, ni un Rafal Lukaviecki), mais son style que je qualifierais de « germanique » reste très efficace. Juval expose particulièrement bien les interactions entre Visual Studio et le framework. Sur le plan de la version 2.0, Juval nous décrit un nouvel attribut d’assemblage, permettant d’exposer (dans un assemblage), une donnée interne consommable par un assemblage client clairement spécifié (ceci rappelle la motivation du mot clef « friend » du langage C++), [assembly:InternalsVisibleTo("MyClient")].

Cependant, Juval insiste immédiatement sur les effets de bords éventuels liés à cet attribut, et conseille de ne pas en abuser. Enfin, il nous montre que VS 2005 supporte au niveau de la fenêtre des propriétés vis-à-vis d’un assemblage référencé, un nouvel item nommé « specific version » pouvant surcharger toute la stratégie de résolution des assemblages (GAC, probing …).

La prochaine session, une fois n’est pas coutume, n’est pas de type DEV mais DAT (pour base de données). En effet, j’ai décidé d’aller assister à la session nommé “DAT376 What’s New in ADO .NET 2.0” car elle est animée par le célèbre Dino Esposito, un italien basé à Rome, auteur à succès et consultant pour Wintellect aux USA. J’ai rencontré Dino il y a déjà plus de quatre ans dans une session consacrée à l’extension WSH via COM (il a en d’ailleurs fait un livre), il avait à l’époque un fort accent italien, qui a quasiment disparu aujourd’hui, mais il a su garder sa personnalité et son charme si particulier.
 
L’exposé de Dino débute par des propos rassurants : ADO.NET 2.0 améliore les versions précédentes (performances, découplages …) sans aucune révolution. Les évolutions ADO .NET 2.0 se déclinent en 3 axes :

  • Amélioration des performances des objets déconnectés
    o Pour illustrer son propos, Dino, via un graphique nous présente, tous
    les méfaits de l’implémentation actuelle (1.x) du DataSet, fondé sur un attribut de sérialisation inadapté pour l’échange de gros volumes de données.
    Dans la version 2.0, le DataSet utilise l’interface ISerializable piloté via un script XML nommé DiffGram permettant d’échapper à l’implémentation par défaut en utilisant un « Formatter » .NET Remotting ad hoc : SoapFormatter, BinaryFormatter. Dans ce canevas vous pouvez étendre les capacités de votre DataSet avec votre propre Formatter dans une pure logique Remotting. Par exemple CompactFormatter est la version adaptée au Compact Framework (http://www.freewebs.com/compactFormatter/downloads.html).

  • API Provider indépendant du fournisseur concret
    o Je me souviens de mes toutes premières présentations sur ADO .NET et
    mon étonnement sur le fort couplage entre certaines API et la nature du fournisseur (SqlServer, OleDb …). Mais pourquoi, les ingénieurs ADO .NET n’ont- ils pas utilisés le pattern fabrique abstraite ? Comme quoi, le bon sens finit toujours par gagner, car la version 2.0 introduit une API commune à tous les fournisseurs de bases de données (j’imagine le soulagement des éditeurs fournissant des applications enfin agnostiques à la base de données sous jacente). Par exemple :
    string provider = "System.Data.SqlClient"; DbProviderFactory fact; fact = DbProviderFactories.GetFactory(provider);
    DbConnection conn = Fact.CreateConnection();

  • Intégration SQL Serveur 2005
    o De nombreuses améliorations ont été apportées comme par exemple (Non spécifique à SQL Server 2005) l’amélioration des allées et retours entre le serveur base de données et vos appels (clients) massifs en cascade à travers une notion de « batch de mises à Jours». La classe DataAdapter, expose dans la version 2.0 la taille du batch via la propriété UpdateBatchSize (1 par défaut). Une autre amélioration, cette fois spécifique à SQL Serveur 2005, la
    classe SqlDependency permet de pister via un délégué les dépendances sur des résultats de requêtes. Par exemple :
    SqlCommand cmd;
    cmd = new SqlCommand("SELECT * FROM Authors", conn); SqlDependency dep = new SqlDependency(cmd); dep.OnChanged += new OnChangedEventHandler(OnDepChanged);
    cmd.ExecuteReader();

Pour conclure, Dino nous rappelle que ADO .NET 2.0 apporte des évolutions importantes (performances, découplage, support du Compact Framework), tout en étant compatible avec le code 1.x.
La session suivante « DEV356 Visual Studio 2005: Managing the Enterprise Build Process with MSBuild » est consacrée au nouvel outil MSBuild de Visual Studio 2005 dédié au processus de construction orienté entreprise.
Cette session est animée par le jeune et motivé Alex Kipman, Program Manager dans l’équipe MSBuild. Pour ceux qui n’ont pas suivi les comptes-rendus de la PDC, je rappelle que MSBUILD (fortement inspiré par ANT) est le nouvel outil Microsoft de construction d’applications à la fois sous Visual Studio 2005, mais aussi sous Longhorn via son SDK. Alex débute la session en nous présentant les principales motivations du produit comme la performance où l’extensibilité.
Mais la principale qualité de MSBuild est d’être totalement intégré à Visual Studio 2005 tout en étant complément utilisable en ligne de commande sans aucun IDE dans un cadre de compilation industrielle automatisée (c’est ainsi que Microsoft construit les « builds » de Longhorn). Pour nourrir MSBuild vous devez lui fournir un fichier XML respectant tout un ensemble de balises relatives au processus de compilation. Alex nous démontre que Visual Studio 2005 est totalement fondé sur MSBuild et que toutes les options proposées dans les fenêtres de l’IDE correspondent à des balises spécifiques au fichier MSBuild, qui n’est autre qu’un fichier projet (pour Visual Studio 2005) respectif au langage de développement utilisé (par exemple .vbproj pour VB .NET). Pour l’instant (Bêta 1) il n’y a pas encore d’outils pour convertir vos projets 2003 vers 2005, mais la « release » devrait proposer une conversion automatique). Alex poursuit son exposé avec de nombreux exemples, dont un illustrant l’extension de MSBuild à partir d'un assemblage faisant appel aux librairies MSBuild (Microsoft.Build.Framework & Microsoft.Build.Utilities) pour rediriger les sorties issues du processus de compilation MSBuid vers une base de données via un service Web. Enfin, le très enthousiaste et motivé Alex nous invite à communiquer directement par e-mails avec son équipe pour que MSBuild réponde pleinement à nos besoins.

La session suivante est consacrée au cœur du moteur .NET avec « DEV490 .NET Framework: CLR - Under the Hood » animé par un des responsables des équipes du CLR, Peter Sollich. L’exposé est en réalité conçu par l’excellent Jeffrey Richter (non présent à la conférence) sur la base de son best seller « Applied Microsoft .NET Framework Programming» chez MS Press. Je reconnais n’avoir rien appris dans cette session qui ne couvrait absolument pas la version 2.0 du Framework. De plus Peter lisait chaque slide sans aucune conviction (il a d’ailleurs terminé la session avant l’heure). A noter que Peter était parfois embarrassé vis-à-vis des questions posées en fin de session (difficile de croire que ce garçon travaille dans le team du CLR, où alors il y a longtemps).

Pour rattraper ma décevante session précédente et terminer cette longue journée en beauté, je décide d’assister à une session animée par l’excellent Clemens Vasters à travers un sujet relativement complexe de type CTS pour Connected Systems: “CTS404 Best Practices for Dealing with State at Multiple Layers Within Your .NET Applications”. Pour ceux qui ne connaissent pas Clemens, je dirais qu’il fait partie du clan des orateurs d’exception. Vous ne pouvez pas être indifférent à une session de Clemens, c’est un personnage qui maîtrise son art au point de le vivre sur scène. C’est donc une session concentrée sur la gestion d’états. Selon Clemens les états sont partout et il en existe 3 types :
• Volatile : existe pour une courte durée (comme une variable dans la pile d’exécution d’un processus .NET). Peut être promu à devenir Transitoire
• Transitoire : existe durant toute une activité (comme par exemple une session ASP.NET). Peut être promu à devenir Permanent après une activité complètement réussie.
• Permanent : existe avant et après toutes les activités

Après ces quelques définitions, Clemens va nous démontrer que le « sans état » n’existe pas et que les états sont présents à tous les niveaux d’une architecture distribuée. Puis, il nous décrit via une suite d’exemples, ce qu’est un état, concrètement. Puis il décline avec pertinence comment et où l’état intervient dans le système d’informations en illustrant systématiquement ses propos avec des cas concrets (session, e-commerce, session &WEB/WebServices, JTA, Transactions …). C’est un véritable cours d’architecture basé sur un ensemble de codes que Clemens à réalisé pour Microsoft et donc non distribuable par lui directement (à surveiller sur MSDN).
Voila c’était ma dernière session de la journée et Clemens m’a littéralement fait rêver ; et oui c’est ça aussi le TechEd. Je rentre à l’hôtel et je réalise que demain c’est déjà le dernier jour.


Le site officiel de TechEd Europe 2004
: http://www.microsoft.com/europe/teched/