Je suis depuis dimanche à Amsterdam pour le TechEd 2005.
J'ai pu assisté hier à trois conférences concernant les architectures orientées services. La programmation de ce TechEd et la fréquentation des sessions sur le sujet ne peuvent que confirmer le fait que l'on ne pourra bientôt plus passer à coté de ce type de conception.
8h30 Dealing with Data in Service Oriented Architecture
Dès 8h30, Ron Jacobs qui fait partie de l'équipe Patterns&pratices de Microsoft a abordé la gestion des données dans les systèmes connectés.

Ron a démontré que la mise en place d'un système interconnecté mettait en branle tous les reflexes que nous pouvons avoir concernant l'accès, le stockage ou la transmission des données.
Cela passe par la définition des différents types de données (internes au service ou intégrés au message), du ciblage de données immuables, de la necessité de mettre en place une solution de versionning et enfin et pas des moindres de l'obligation de définir clairement le propriétaires des données ainsi que ses responsabilités (notification et transmission des données actualisées).
14h45 The gray area of implementing Services using Object Oriented Technologies
Un peu plus ciblé implémentation, cette session de l'étonnant Beat Schwegler (qui vous illustre ses propos en vous racontant ses vacances) fût l'occasion de bien prendre conscience en quoi la programmation orientée services se distingue d'une approche POO classique (la "Grey Area" présente entre le modèle SOA et son implémentation).

Dans un premier temps, Beat nous a présenté la distinction entre un appel de méthode où l'on utilise un objet, d'un certain type connu (dans ce qui nous est accessible) et la consommation d'une WebMethod dont on ne connait que la description qui nous en est faite dans le WSDL.
La suite concernait l'encodage des messages SOAP. Beat en arrive à la conclusion que RPC ne doit être utilisé qu'en dernier ressors et a mis l'accent sur l'importance de WSA (Web Services Addressing) à court et moyen terme.
Cette session s'est conclue sur l'importance de respecter les contrats ou de la mise en place d'un système adaptable afin de garantir le service aux applications clientes.
17h45 Patterns for Service - Oriented Architecture
j'ai retrouvé Ron Jacobs dans une salle comble pour une conférence beaucoup plus généraliste sur SOA. Je dois dire que j'ai été un peu déçu du contenu de la session même si les compétences techniques et la qualité de présentation étaient au rendez-vous.
Il faut dire que sur 1h15 de session, une bonne heure a été consacrée à la présentation de différents anti-patterns. Si l'objectif est bien entendu le même (évitez des erreurs de conceptions dans les services connectés), j'aurais pour ma part préféré d'avantages de présentation de Best Pratices.
Les cas présentés ont tout de même permis de conclure qu'il ne faut pas faire confiance au client pour quoi que ce soit ou de l'importance de restreindre la généricité de ces services afin de mieux répondre aux attentes des clients. La spécialisation des services ou des interfaces facilite également la compréhension du service par un contrat beaucoup plus explicite.
La démonstration du Global Account Integration sur le site de l'équipe Patterns&Pratices a achevé cette session afin de permettre de rencontrer d'avantages de ces Best Pratices.