Revenons en détails sur l’application Azure/Mesh du Keynote TechDays 2009 – Partie 2 : S+S

Faisant suite au 1er billet, découvrons maintenant la notion de Software+Services.

Nous n’avons pas uniquement un service de génération de vignettes dans notre application. Nous avons également un service qui tourne en tâche de fond qui s’occupe d’analyser les nouvelles images insérées dans notre stockage Azure pour les “tagger” en fonction de leurs caractéristiques de couleurs. Nous utilisons pour cela un algorithme relativement simple que nous avons trouvé sur CodePlex: https://www.codeplex.com/IR

Le but est alors de pouvoir comparer des images entres elles pour retrouver celles qui se ressemblent. Faire donc une sorte de moteur de recherche d’images à partir d’une image source.

Ce service est disponible dans notre application Web sur le nuage en cliquant sur l’icône de photo:

image

On voit par exemple ici que j’ai cliqué sur la première voiture rouge (Toyota Prius) et qu’automatiquement notre application Web nous affiche les images par ordre de ressemblance en fonction de ce que l’algorithme nous retourne comme taux de ressemblance.

Ce même service, nous l’avons exposé en WCF (Windows Communication Foundation) pour qu’il soit accessible depuis d’autres plateformes qu’Azure:

image

Il nous reste désormais à pouvoir consommer ce service depuis une application cliente lourde. Pour cela, nous avons développé un add-in VSTO 3 à PowerPoint 2007. Ainsi lorsque l’on sélectionne une image dans le slide courant et que l’on clique sur le bouton “Search Similar”, une requête part vers le service WCF qui analyse l’image (le Stream) soumis et retourne la collection d’images similaires dans une list box en WPF. En double-cliquant sur l’une des images, elle est alors insérée dans le slide courant.

clip_image001

Quelle est l’idée derrière au niveau scénario utilisateur? Imaginez que vous soyez en train de préparer une présentation PowerPoint, que vous insériez une image et que vous vous dites : “tiens, c’est presque cette photo là que je souhaiterais utiliser, mais pas tout à fait.”. Bah, il suffit alors de consommer un service qui vous est proposé en ligne pour partager avec vous une librairie d’images similaires.

Alors S+S dans tout cela?

Le S de Software est représenté par notre application PowerPoint.

Le + est assuré par WCF permettant le communication entre les 2 mondes.

Le S de Services est représenté par notre service de comparaison d’images.

En résumé, nous avons donc l’architecture suivante:

image

Il nous reste désormais à découvrir l’application Mesh dans le prochain billet.

David