Agrégation de contenus en environnements hétérogènes
Web Assemble Tool est un agrégateur de contenus web
. Il peut s'interfacer à des serveurs existants, dont il récupère les pages Html à la volée. Les différentes bribes de contenus ainsi obtenues de différents serveurs sont ensuite assemblées en une page unique, servie à l'internaute. La grande force de cette approche est qu'elle est totalement agnostique technologiquement, capable d'intégrer n'importe quelles applications web, sans demander la moindre modification de l'existant.
Web Assemble Tool peut aussi être configuré pour extraire des bribes de contenus au sein des pages existantes. Dans ce cas, il est possible d'insérer des commentaires Html, afin de parfaitement délimiter les blocs à extraire.
« C'est une technique qui a pour elle la simplicité et la non-ingérance » déclare François-Xavier Bonnet, l'architecte du produit. « A certains égards, Web Assemble Tool se comporte comme un portail web, réunissant des informations de différentes origines. Mais c'est un outil infiniment plus simple, plus performant et surtout moins structurant qu'une solution portail. »
Un outil de cache par fragments
Web Assemble Tool est aussi un outil de cache par fragments : chacun des fragments Html obtenus par Web Assemble Tool est conservé en cache, avec une gestion complète des durées de vies. « On peut ainsi faire cohabiter dans une même page des fragments qui varient relativement peu, et sont gardés en cache plusieurs heures, avec des fragments plus dynamiques, en cache sur quelques minutes seulement, et des fragments personnalisés, qui ne sont pas cachés. » La gestion du cache s'appuie sur OSCache, l'un des outils les plus performants en la matière.
Compatible avec Akamai Edge-Side Include (ESI)
Web Assemble Tool fonctionne en acceptant plusieurs syntaxes, soit à base de taglibs JSP, soit en utilisant les tags de la norme ESI définie par Akamai pour son Content Delivery Network.
« Un gestionnaire de cache ESI open source correspond à une attente très forte du marché. C'est une fonctionnalité annoncée dans Squid depuis des années, mais qui n'a jamais vu le jour en version stable. Or le besoin est immense : chaque fois que l'on ne peut déployer un cache parce que les contenus de la page sont hétérogènes, avec des contraintes de durée de vie ou de personnalisation différentes. Dans les sites web modernes, c'est presque devenu la norme. Dans ces cas, on ne parvient pas à tirer tous les bénéfices du cache, et il arrive souvent que l'on surdimensionne les architectures. Web Assemble Tool est une excellente réponse à cette problématique. » précise François-Xavier Bonnet.
Un outil open source mature, au service de tous les projets
Smile travaille sur le projet Web Assemble Tool depuis plus de 2 ans, et l'a déjà mis en œuvre sur une diversité de plateformes opérationnelles.
« Le déploiement sur des projets critiques, tant en termes de performances que de robustesse, nous a permis de parfaitement certifier le produit, et d'en optimiser tous les aspects. Aujourd'hui, Web Assemble Tool est un véritable atout concurrentiel pour Smile, chaque fois qu'une application web s'insère dans un environnement hétérogène existant, c'est à dire très souvent », explique Patrice Bertrand, Directeur Général de Smile. « Ce que nos clients apprécient le plus, c'est le caractère non-structurant de l'outil : il n'y a aucune réticence à le déployer car il sert sa fonction sans rien demander aux applications en place, et pratiquement sans le moindre overhead de performances. »
La naissance d'une communauté
La diffusion de Web Assemble Tool sous licence Apache Software Licence permet à n'importe quel développeur d'en faire usage dans ses projets, y compris des projets non-libres. « Notre souhait est de faire naître une petite communauté autour du produit. C'est un composant simple et efficace, mais qui peut rendre de très grands services dans une diversité de plateformes. »