|
L'édition
2003 de Tech-Ed sera un bon cru. C'est en
substance la phrase qui résume le mieux
l'évènement de cette année. Au menu, plus de
5000 personnes avec une fréquentation quelque
peu retrouvée par rapport aux éditions
précédentes. Il faut dire que tout a été
fait pour satisfaire le public cette année. En
premier lieu la technologie. En effet, Microsoft
a rarement eu l'occasion de montrer autant de
nouveautés avec des produits phares tels que
Yukon, Biztalk 2004 ou encore ADS et WSE v2. Par
ailleurs, aux dires des nombreux observateurs
présents sur place, la qualité des sessions a
été considérablement améliorée. Plus de
technique, moins de blabla et plus de "sérieux".
Est-ce à dire que les shows Microsoftiens
d'entan ont disparu des estrades ? Pas vraiment,
mais l'approche est, comment dire, ... plus
pragmatique, moins bricolo et finalement plus
"enterprise".
Je reprend maintenant la
première personne du singulier (quelle
horreur ;-) ) pour vous relater les différentes
sessions auxquelles j'ai pu assister. J'ai
consciemment choisi des sujets proches de ceux
dont nous vous faisons l'écho régulièrement
sur DNG : Architecture, SOA, Securité, Web
Services, Interopérabilité.
Cette première journée a
débuté avec en matinée une keynote du vice-président
de Microsoft Corp : Sanjay Parthasarthy. Quant
aux sessions de l'après midi, j'ai choisi pour
vous "Securité avec Kerberos" et
"Biztalk 2004". Pourquoi ces thèmes ?
Et bien, Kerberos est un sujet ô combien
important pour celui qui souhaite mettre en
place un semblant de sécurité entre systèmes
hétérogènes. Aujourd'hui très peu de
protocoles font l'unanimité côté Microsoft et
côté J2EE/Plateformes libres. Kerberos en fait
partie. Mais au delà de Kerberos même, ce qui
m'intéressait fondamentalement dans un tel
sujet est la possibilité d'invoquer de
multiples applications Web (WebApps) .NET ou
J2EE (ou Php) sans avoir à me résigner, ou
mieux encore, en récupérant directement mon
login NT ou Linux. Loin de solutions telles que
Passport ou Liberty Alliance, cette session
devait m'en dire plus sur les capacités
d'Active Directory à gérer Kerberos de
manière transparente.
Quant au second sujet,
Biztalk 2004. Que dire de plus sinon que ce
produit m'a totalement saisi la première fois
que je l'ai découvert. Il marquera de toute
évidence l'histoire des produits Microsoft et
augure d'une nouvelle ère dans l'intégration
d'applications. La session que j'ai suivi ne m'a
pas fait changer d'avis.
Mardi
KeyNote
d'inauguration
Le keynote de Sanjay Parthasarthy
a été des plus classiques avec une orientation
Web Services (pour changer). Concernant la
stratégie de l'éditeur, beaucoup de marketing,
toujours autant d'optimisme et une réelle
volonté de conquérir le serveur. Fini le temps
du Microsoft Desktop, voici venu le temps du
Microsoft "Enterprise". Sur le même
sujet, nous avons eu droit à la présentation
de la machine la plus puissante du monde (au TPC),
un HP exécutant 2003 avec un nom à coucher
dehors :-). Puis s'en est suivi une série de
démonstrations finalement très classiques :
Une application de localisation géographique
utilisant les WebServices à outrance, une
application faisant appel à un client TabletPC
et enfin une mise en pratique d'Active
Deployment Services (ADS). La partie la plus
enthousiasmante a été celle traitant de
"Jupiter". Si elle n'a duré que
quelques secondes, la démonstration a été des
plus convaincantes. Pour résumer, le speaker
nous a montré une application basée sur
InfoPath comme client utilisant des processus
métier Biztalk 2004, le tout connecté à
Office 2003 avec un brin de SharePoint Services.
Un must!.
Session
SEC400 : Unix & Kerberos Interop to achieve
Identity Management
L'agenda de cette session est
le suivant :
-
Identity and Access Management (I&AM) Issues
-
How Kerberos interop solves an identity management problem
-
Interop standards and technologies
-
Scenario & Demos
*NX/AD Kerberos Sign-on
*NX/AD Kerberos SSO
Authentication vs Authorization
Secure SSO and Authorization
Un planning des plus
alléchants mais il y a des jours comme cela où
il vaut mieux rester couché lorsqu'on est
speaker. Toute cette session est basée sur une
démonstration. Si elle plante, autant dire
qu'il n'y a plus rien à voir. David Mowers a
failli en faire la triste expérience. Et
pourtant, tout avait bien commencé. Une partie
théorique réservée à l'interopérabilité,
la valeur de la sécurité, etc ... Tout se
passe très bien. L'ambiance est très détendue.
C'est à ce moment que le speaker annonce au
public que sa démonstration est très (très)
compliquée à mettre en oeuvre. Il précise
qu'elle a apparemment planté à Dallas il y a
trois semaines mais que depuis, il a décidé
d'automatiser pour Barcelone les opérations
manuelles afin d'éviter ce genre de
mésaventure.
Puis vient le moment de la
démo. Le principe est très simple, il y a 7
étapes bien précises à exécuter pour
intéropérer un client Linux (RedHat) et un
serveur Windows 2003 avec Kerberos. Le but
consiste donc à créer un compte utilisateur
Linux sous Active Directory et à s'authentifier
à partir de la machine RedHat. Rien de bien
sexy finalement mais la face cachée de
l'iceberg est d'une complexité effroyable.
Linux implémente GSSAPI, Windows SSPI. Les deux
plateformes ayant une gestion de la key table
très similaire.
Après un premier essai,
l'exécution de ktpass (script kerberos
pour créer le compte sur le contrôleur de
domaine) échoue. David oublie de mettre le nom
de domaine dans l'adresse (mais entre temps, il
a quand même rebooté deux fois la machine). Il
aura fallu attendre qu'une personne du public
lui porte secours pour pouvoir découvrir le
reste de la démo. L'exécution de la deuxième
étape échoue également dans la douleur.
Normal, pour déclarer un utilisateur/machine
Linux dans Active Directory, David utilise un
plug-in de la société Vintela (www.vintela.com).
Or, dans les onglets, il coche une première
fois la case "Compte Spécial Linux"
mais oublie de faire "apply" (argh!).
Du coup, après maintes et maintes
tergiversations (c'est dans ces moments qu'on se
sent seul), une personne du public (toujours le
même) qui avait aperçu l'erreur intervient
après un petit moment d'inertie. Entre temps,
nous avons eu droit à un "killall",
un reboot (qui a planté, il a fallu relancer un
émulateur VMWare) et plusieurs aller/retour
avec les slides théoriques, histoire de meubler.
Bref, la démonstration a
finalement marché, il n'y eut en fait aucun
problème de fond mais David, sous l'effet du
stress, s'est quelque peu, comment dire ... emmêlé
les pinceaux. Malgré tout, ce fût pour moi une
brillante expérience car j'ai finalement pu
voir ce que j'étais venu chercher. Si
l'intérop Kerberos Linux/Win2003 ne m'a pas
réellement impressionné, la dernière
démonstration mettant en oeuvre
l'authentification intégrée Kerberos avec
Apache m'a scié. Imaginez réaliser tout ce que
vous faîtes avec NTLM sur une machine
Linux/Apache et ce, de manière multi-plateformes,
tout cela grâce à Mozilla
SPNEGO. Dommage que le speaker ne soit pas
allé jusqu'au bout avec une vraie application
ASP.NET utilisant dans le web.config
l'authentification intégrée Kerberos. Bref,
même si ce fût une session "très bricolo",
elle présage des outils de sécurité de demain.
Session
EBZ302 : Building Solutions and WebServices
orchestration with Biztalk 2004
Cette session fût un vrai
régal. J'étais venu sans réelle conviction vu
le caractère "introduction" de la
session. Finalement j'ai assisté à un vrai
show technique doté d'une sobriété et d'une
efficacité pédagogique rare. Le speaker, un
dénommé David Fong nous a réellement
impressionné. Avec une voix "à la
CD-ROM" (vous savez, les voix qu'on entend
dans les cours Office 95 sur CD-ROM), il n'a pas
fait dans la dentelle. Maîtrisant Biztalk 2004
comme peut-être personne au monde, il nous a
montré un exemple d'orchestration de
WebServices récupérant un schéma XML,
vérifiant une donnée dans le SI et renvoyant
le résultat à un autre Webservices. Le tout
avec une transformation de schéma.
Pourquoi Biztalk 2004 est-il
si séduisant ? Et bien, imaginez-vous un studio
de développement BPEL4WS totalement
intégré dans Visual Studio .NET. Vous concevez
votre workflow directement dans l'IDE. Par
simple glisser/déplacer, vous créez des ports,
des messages et des WebServices. Dans le même
outil vous faites appel à un transformateur
graphique de schéma avec la possibilité
d'insérer des fonction (mathématiques, etc..)
avec un éditeur d'expression (en C#) proposant
l'intellisense intégrée. Aucun article ne
pourra vous montrer vraiment la puissance de
Biztalk 2004. Et je vous passe l'étape de
déploiement, un click sur déploy et l'assembly
est générée puis déployée instantanément
avec une WebApp ASP.NET de surcroit.
Nous reviendrons sur Biztalk
2004 dans l'année lors du Symposium DNG, mais
en attendant, si vous avez l'occasion
d'installer la béta, n'hésitez pas une seconde.
J'attends avec impatience
l'équivalent sous Eclipse. Le plug-In BPEL4WS
d'IBM est encore loin de fournir ce que j'ai vu
aujourd'hui. Mais l'avenir nous en dira plus ... (J'enrichirai
ce document au fur et à mesure des sessions,
mais maintenant il est vraiment temps que
j'aille à la plage pour me remettre de toutes
ces émotions) 
(beaucoup de monde chez Borland, tout le
monde s'acharne sur C#Builder)
Mercredi
Session
EBZ304 : Administration and deployment with
Biztalk 2004
Levé 7h pour une
session à 8h. Dur, très dur. Au menu,
une session administrateur sur Biztalk. Pourquoi
celle-ci ? Découvrir le côté client et
orchestration de Biztalk est un excercice très
ludique mais il faut garder à l'esprit que cet
outil est destiné avant tout aux architectures
d'entreprise en tant que socle EAI, il convient
donc de ne pas prendre à la légère le
déploiement de telles solutions, (souvent
onéreuses d'ailleurs). Je voulais donc
simplement vérifier que la face cachée de
l'iceberg était aussi belle et stable que la
face visible. Résultat des courses, la session
a été très ... comment dire ... "transparente".
Sur un ton monocorde et très lent, j'ai tout de
même pu découvrir les facettes de la
sécurité Biztalk (Pki, crytage) et apercevoir
les îlots de serveurs permettant d'héberger
plusieurs instances de Workflow. Une session pas
vraiment transcendante mais efficace.
Session
DEV485 : Microsoft CodeDOM demystified
Je devais normalement suivre
la session HWS (Human Workflow Services)
mais au dernier moment j'ai préféré
m'orienter vers la DEV485 intitulée CodeDOM
demystified. Pourquoi ? Et bien, Thomas GIL et
moi sommes tombé sur un problème bien connu de
CodeDOM. Pour info, CodeDOM est l'API de
Microsoft qui permet de compiler en mémoire un
code source et de récupérer une référence
vers le graphe objet du ByteCode ainsi généré.
Cela permet entre autre de réaliser des
générateurs de code ou des tisseurs AOP. Et
c'est justement dans ce dernier cas au travers
du projet AspectDNG que nous avons eu besoin de
réaliser l'opération inverse qui consiste à
lire une Assembly et enrichir son graphe d'objet.
Or, lorsqu'on récupère une instance d'un
ICodeProvider C#, le Framework nous renvoie null.
Pour quelle raison ? j'étais là pour le
découvrir.
Après une longue
introduction aux API CodeDOM, Beat Schwegler, le
speaker du moment, a enfin abordé le sujet (apparemment
sensible chez MS) et nous a informé de travaux
en cours dans ce sens chez l'éditeur. Son
conseil : "utilisez le provider fournit
dans Rotor" ou "allez voir ailleurs"
(Mono par exemple ;-) ). C'est bien ce que nous
pensions avec Thomas (et certains lecteurs nous
avaient également mis la puce à l'oreille).
Moralité, j'ai eu la réponse à ma question et
j'ai pu très discrètement m'éclipser. Car il
faut bien avouer, cette session relevait plus de
l'introduction que du drill-down.
Session
EBZ327 : Le projet "Jupiter" (InfoPath
2003 + Biztalk 2004)
Cette session est peut-être
... allez je m'avance : la meilleure
présentation à laquelle j'ai pu assister (à
noter toutefois que j'ai eu très peu l'occasion
d'en suivre). Je suis rentré en regardant
l'heure et je suis parti presque dépité que
cela soit aussi court. A la fin, j'ai été
totalement scotché sur mon siège même en
étant déjà très familier avec ces outils. En
fait, le succès de cette session repose en
partie sur les talents du speaker Scott Woodgate,
un nom à retenir absolument. Scott est en
charge des développements Biztalk 2004 chez
l'éditeur et un fin limier dans l'art de la
présentation. 90% de démo et 10% de slides. On
y apprend que Jupiter est en réalité le nom de
code d'un ensemble de produits : InfoPath +
Biztalk 2004 intégrant HWS, Business Rules ou
le mapper XSD. Le but était de nous montrer une
orchestration utilisant un document client
réalisé avec InfoPath envoyé à un Port
receive (adaptateur fichier) générant
plusieurs messages XSD, le tout avec une
communication de type One-Way et
Request-Response (dans InfoPath!). Ce qui
signifie qu'il est tout à fait possible de
récupérer le résultat instantané d'un
processus métier dans l'outil bureautique et
d'analyser la réponse du serveur.
Il nous a également montré
la puissance du mappeur XSD, des processing
instructions XML (utilisées dans InfoPath pour
récupérer un Template), des propriétés
dynamiques de Biztalk, etc.... Tout ce qu'il
toucha fonctionna du premier coup avec une
aisance extraordinaire. Pourtant le produit est
en beta et il vallaix mieux ne pas se risquer en
terrain inconnu.

(La session de scott Woodgate)
Une session remarquable et
remarquée. Ce sera la dernière de ce genre
concernant cet outil phare. Je regrette
simplement que Microsoft ait choisi d'orienter
son discours sur les fonctionnalités du produit
sans jamais aborder les concepts. Aujourd'hui
l'EAI n'est pas l'apanage sur le marché et il
est hasardeux de s'engager dans de tels projet
sans analyse et méthode préalable. Comment
décider de la granuralité d'un BP (Business
Process) ? Comment choisir les BP à "externaliser"
dans l'EAI et ceux qui doivent rester confinés
dans une application de gestion classique ?
Quelle méthode utiliser, UML ? Sans compter les
nouveaux rôles ou concepts que cette
technologie (je préfère le terme "démarche")
sous-tend : l'urbanisation des SI, la
cartographie (rien à voir avec les SIG
;-) ). Bref, apprendre Biztalk 2004 à quelqu'un
n'ayant aucune connaissance des concepts d'EAI,
c'est comme mettre une porsche entre les mains d'une
personne sans permis. Biztalk 2004 c'est bien,
mais encore faut-il savoir pourquoi et à quoi
cela sert... Des questions auxquelles nous
tenterons de répondre lors du Symposium DNG au
mois d'Octobre.
Session
PLYA327 : Platja Barceloneta
Cette session est une pure
merveille. Bizarre, le speaker est haut perché
et habillé de rouge et blanc avec une bouée à
la main. Les sièges sont en forme de serviettes
de bain et les slides ressemblent à une grande
bleue aux odeurs de sable chaud... Bon d'accord,
j'avoue, je n'ai pas pu résister aux sirènes de la plage. Si seulement toutes les
conférences pouvaient se dérouler à 500
mètres de la mer.
Demain, je vous proposerai un
TechEd live qui vous intéressera sûrement.
J'ai prévu de passer la journée (ou une partie
en tout cas) dans les sessions DEV337 (Modeling
Distributed Enterprise Applications using UML
and Visio Enterprise Architect) DAT401 (Object/Relationnal
Mapping as a foundation for ADO.NET Database
Access) et CHT006 (Microsoft and Open
Source), il va y avoir du sport ... Stay
Tuned
(le centre commercial Carrefour situé
derrière TechEd, non ce n'est pas une blague)
Jeudi
Session
DEV337 : Modeling Distributed Application using
UML and Visio Architect
Levé 8h. Début de la
Session 8h30. Arrivée à 8h45 (vous aurez
remarqué que c'est de plus en plus dur tous les
jours). Le speaker se prénomme David Keogh.
Pourquoi suivre une telle session ? Tout
simplement pour vérifier qu'entre ma dernière
expérience de Visio et la version actuelle,
Microsoft a apporté des modifications en terme
de génération/Synchronisation du code. C'est
également la seule session où le terme "UML"
apparaît dans l'intitulé (sur un total de 3 ou
400 sessions!). J'y vais sans trop de
conviction. La suite me fera regretter un
réveil aussi tôt.
Pour vous schématiser. Il
suffit d'imaginer un outil de reconnaissance
vocale prenant en input le guide utilisateur de
Visio. Et bien, c'est l'effet que m'a fait cette
session. Sans vouloir incriminer le speaker (un
métier difficile), cette session aurait
mérité mieux sur le fond et sur la forme. Tout
au long du track, nous avons eu droit à :
"Pour
créer un Use Case, fichier/nouveau/create".
"Pour
créer un diagramme de séquence, fichier/nouveau/diagramme"...
Bref, un ton monocorde, un rythme très (très)
lent, il ne m'en fallait pas plus pour
décrocher. Concernant les fonctionnalités,
Visio est toujours aussi à la traîne par
rapport à Rational XDE. La génération de code
n'est toujours pas intégrée à VS.NET, les
diagrammes sont, disons-le, visuellement pas
très beau. La synchronisation de code est
inexistante. Quant au discours et à la
stratégie de Microsoft vis à vis d'UML, il est
de plus en plus floue. Pas de produit UML
novateur annoncé dans les années à venir.
L'éditeur est de plus en plus mal à l'aise
lorsqu'il s'agit de mettre en avant ce langage
de modélisation dont il n'a pas été à l'origine
(spécifié par l'OMG). Une
session pour rien.
Session
DAT401 : O/R Mapping with .NET
La seule session TechEd
traitant de mapping Objet/Relationnel est
annulée et remplacée par SOA. Ca tombe bien.
C'est justement un de nos thèmes de prédilection
même si on regrettera le peu
d'intérêt porté à l'O/R Mapping pendant
cette conférence.
Session
SOA (Service Oriented Architecture)
Yasser Shohoud est le speaker
de cette session. Une "software
legend" comme diraient certains. Je suis accompagné de
Christophe Lauer, Webmaster de DotNet-Fr.org. Le
début est assez clair même si Yasser Shohoud
n'est pas transcendant dans sa présentation.
Après quelques minutes, la session prend une
autre tournure.
Tout d'abord, le vocabulaire. Yasser insiste sur
la nécessite de penser en terme de services et
non de processus (Alors que SOA implique
justement le contraire). D'où la réaction
de
Christophe sur son blog (après vérification
des slides, une phrase page 5 semble indiquer le
contraire). Il montre également un composant .NET Remoting et insiste sur le
fait qu'il ne respecte pas le paradigme SOA (car
lié à une infrastructure technique). Puis enchaîne sur une démonstration
intitulée "Asset
Management" qui échoue pour une raison
indéterminée. Il finira par illustrer sa
conception de la gestion de version dans SOA : "ne cassez jamais la
compatibilité avec vos clients et passez en
paramètre de méthode la version actuelle du
service cible". Je n'ai pas pu
disposer des sources mais voici de mémoire ce
qu'il propose (schématisé):
public
MyService(TypeEnum version, Structure mesparams,
any[])
{
if (version==Versions.V1) { return
this.MyServiceV1(mesparams); }
if (version==Versions.V2) { return
this.MyServiceV2(mesparams); }
if (version==Versions.V3) { return
this.MyServiceV3(mesparams); }
}
Sans commentaire. Voilà pour
aujourd'hui. Demain, au menu : "Enterprise
Solution Patterns", "Smart Client et
WebServices" et "Yukon" (enfin).
Vendredi
Levé 9h30. Température
extérieure 30°. Trois sessions de prévues
dans la journée mais je n'aurai finalement eu
l'occasion d'en suivre qu'une, celle de Yukon.
Le présentation "Enterprise Solution
Patterns", aux dires de certains, était un
condensé des principaux principes
d'architectures énoncés dans le PAG
(Prescriptive Architecture Guidance) de
Microsoft. Je n'aurais donc pas appris grand
chose et je n'aurais pas non plus eu l'occasion
de vous annoncer des nouveautés. Pas de regret.
Quant à "Smart Client et WebServices",
un journaliste ayant assisté à la session m'en
a dit le plus grand bien. Il a juste regretté
que le speaker n'ait pas insisté un peu plus
sur le passage des paramètres entre client et
serveur (peut-être un des facteurs les plus
important dans ce type d'architecture).
Venons-en à Yukon maintenant.
Encore un moment clé de TechEd 2003. La
session démarre à 11h tapante, le speaker à
des allures de tueur. Genre pit-bull américain
picousé à la nicotine Microsoftienne ;-). Le
discours quasi militaire est bien ficelé. Les
outils un peu moins. Si Yukon est installé sur
sa machine, le poison de "l'effet démo"
lui, vient perturber les évènements. Le code
présenté ne s'exécute pas et cette fichue
Assembly ne daigne pas s'enregistrer dans une
table SQLServer. Pas très grave, le plus
important est là. Nous avons droit à une
présentation de choc du genre 200km/h tête
dans le guidon sans avoir le temps de prendre
une seule note.
J'avoue avoir réfléchi
assez longtemps avant d'écrire ce compte rendu
Yukon. En essayant de formaliser le
bouillonnement incessant qui règne dans mon
petit cerveau à la fin d'une telle session.
J'ai deux solutions. Soit je décide de faire
les choses proprement et je vous écris une
dizaine de pages sur Yukon qui vous permettront
réellement de comprendre les (nombreux) enjeux
qu'impliquent ce produit. Soit je tente un
résumé très sommaire et sans substance
histoire de dire que j'y étais. Je
préfère la première option. Non pas que je
veuille vous faire encore languir (encore que
;-)), mais Yukon mérite réellement qu'on s'y
attarde longuement. Tout ce que je peux vous
dire, c'est que Yukon est une base de données
intégrant un Runtime .NET (CLR) et fournissant
un moteur de mapping Relationnel/XML faisant
appel au langage de requête standard XQuery
(non vous ne rêvez pas).
Promis, je vous prépare un
tel article. A l'heure
où j'écris ces quelques lignes, je n'ai moi
même pas réellement fait le point sur la
question. Mais à l'heure où on parle de
séparation de couches par responsabilité,
est-ce vraiment le rôle des données que de
gérer des services ? L'effet boite noire ne
nous guette t-il pas à travers une telle
implémentation ? Microsoft ne nous réinvente
t-il pas le SAP à la SQL Server ? Bref, autant
de questions auxquelles je tenterai de répondre
dans cet article et dans lequel je
solliciterai sûrement votre avis ...
Snif,
au revoir Barcelone ...
C'est sur ces quelques mots
et non sans une pointe d'amertume que je m'apprête à quitter cette ville
magique la tête remplie de souvenirs. Si un jour votre chemin venait à
croiser celui de cette magnifique cité, je ne
saurais trop vous conseiller de vous arrêter à
la Rambla. Une promenade extraordinaire qui vous
emmènera au coeur de rues piétonnes uniques et
féeriques dans lesquelles se mêlent hommes
d'affaires, touristes, punks ou visiteurs TechEd
habillés de rouge flashy (finalement, ils ne
sont pas si différents des punks dans leur
tenue ;-)).
Les spectacles de rue et les bars à tapas y
sont légion, la bière y coule à flot.
Barcelone est une ville qui nous apprend à être humble. C'est
finalement la leçon principale que je
retiendrais de TechEd 2003 (bon ok, et aussi le
fait que Biztalk exporte du BPEL ;-) ).
|