Pour mieux comprendre ce qu'est un mashup, vous devriez regarder les origines du mot : il vient de la musique pop, et un mashup est un mélange de voix et de pistes instrumentales de deux chansons différentes (appartenant généralement à des genres différents). . Dans le genre Mashup, nous explorons les mashups populaires,
1. Introduction
Un nouveau type d'application d'intégration de données basée sur le Web émerge progressivement sur Internet. Souvent désignée sous le terme de mashups, leur popularité découle de l'accent mis à la manière de Frankenstein sur l'engagement interactif des utilisateurs et l'intégration de données tierces. Nous utilisons le mot germer pour une bonne raison : les sites Web mashup se caractérisent par leur émergence sur le Web, exploitant le contenu et les fonctionnalités de sources de données situées en dehors des limites de l'organisation.
La définition d’intégration de données cryptées d’un mashup n’est certainement pas très stricte. Pour mieux comprendre ce qu'est un mashup, vous devriez regarder les origines du mot : il vient de la musique pop, et un mashup est un mélange de voix et de pistes instrumentales de deux chansons différentes (appartenant généralement à des genres différents). . Comme ces chansons « pop bâtardes », les mashups sont des combinaisons inhabituelles et innovantes de contenu (souvent dérivés de sources indépendantes) synthétisées par des humains (plutôt que par des ordinateurs).
Alors, à quoi ressemble un mashup ? Le site Web ChicagoCrime.org propose un exemple très intuitif qui explique ce qu'est un mashup de carte. L'un des premiers mashups à devenir très populaire était un site Web combinant les casiers judiciaires de la base de données en ligne du département de police de Chicago avec des cartes de Google Maps. Les utilisateurs peuvent interagir avec le site mashup, par exemple en lui demandant d'afficher une interface graphique avec une carte contenant des punaises montrant les détails de toutes les récentes invasions de domicile en Californie du Sud. Le concept et la présentation sont très simples, et les capacités de visualisation fournies par la combinaison des données criminelles et cartographiques sont très puissantes.
Dans le genre des mashups, nous explorons les mashups populaires, notamment les mashups de cartes. Une brève introduction au paysage technique lié à la construction et à l’exploitation des mashups est fournie. Les sections Défis techniques et Défis sociaux présentent respectivement les principaux défis techniques et défis sociaux affectant les mashups.
2. Types de mashups
Dans cette section, nous présenterons brièvement quelques aperçus de types de mashups bien connus.
Map Mashup
À cette étape de la technologie de l'information, les gens collectent une grande quantité de données sur des objets et des comportements, qui contiennent souvent des informations d'annotation de localisation. Tous ces différents ensembles de données contenant des données de localisation peuvent être présentés graphiquement de manière étonnante à l'aide de cartes. L'un des principaux moteurs de l'essor des mashups est la sortie publique par Google de son API Google Maps. Cela ouvre la porte aux développeurs Web (amateurs, développeurs de correctifs et autres) pouvant inclure tous les types de données dans des cartes (des catastrophes atomiques aux vaches CowParade de Boston). Afin de ne pas se laisser distancer par les autres, Microsoft (Virtual Earth), Yahoo (Yahoo Maps) et AOL (MapQuest) ont également rapidement dévoilé leurs propres API.
Mashups vidéo et images
L'essor des hébergeurs d'images et des sites de réseaux sociaux (tels que Flickr, qui utilise sa propre API pour partager des images) a conduit à l'émergence de nombreux mashups intéressants. Étant donné que les fournisseurs de contenu disposent de métadonnées associées aux images qu'ils enregistrent (par exemple, qui a pris la photo, de quoi parle la photo, quand et où elle a été prise, etc.), les concepteurs de mashups peuvent combiner ces photos et d'autres avec les métadonnées. ensemble. Par exemple, un mashup pourrait analyser une chanson ou un poème pour assembler des photos associées, ou afficher un graphique de réseau social basé sur les mêmes métadonnées de photo (titre, horodatage ou autres métadonnées). Un autre exemple peut prendre un site Web (par exemple, un site d'information tel que CNN) comme entrée et présenter le contenu de la photo sous forme de texte grâce à une correspondance de photos dans l'actualité.
Mashups de recherche et d'achat
Les mashups de recherche et d'achat existaient bien avant que le terme mashup ne soit inventé. Avant l'émergence de l'API Web, il existait de nombreux outils d'achat, tels que BizRate, PriceGrabber, MySimon et Froogle de Google, qui utilisaient tous la technologie B2B ou le screen scraping pour accumuler des données de prix pertinentes. Pour faciliter le développement de mashups et d'autres applications Web intéressantes, des sites grand public tels qu'eBay et Amazon ont publié leurs propres API pour un accès programmatique à leur contenu.
Les sources d'informationNews Mashup
(telles que le New York Times, la BBC ou Reuters) utilisent des technologies de syndication telles que RSS et Atom depuis 2002 pour publier des flux d'actualités sur divers sujets. Un mashup basé sur la technologie de fédération peut regrouper le flux d'un utilisateur et le restituer sur le Web pour créer un journal personnalisé adapté aux intérêts uniques d'un lecteur. Diggdot.us en est un exemple, fusionnant le contenu lié à la technologie de Digg.com, Slashdot.org et Del.icio.us.
3. Défis techniques
Comme d'autres domaines d'intégration de données, le développement de mashups est également rempli de nombreux défis techniques qui doivent être résolus à mesure que les caractéristiques et les fonctions des applications mashups s'enrichissent, ce défi est devenu plus grave. Cette section présente brièvement certains des défis, dont certains peuvent désormais être résolus ou atténués, tandis que d'autres restent non résolus.
Défis de l'intégration des données : sémantique et qualité des données
Les enquêtes sur la qualité montrent que la principale préoccupation de l'informatique d'entreprise d'aujourd'hui est l'intégration des données dans les organisations virtuelles d'entreprise. (Dans ce cas, nous utilisons le terme organisation virtuelle pour désigner une combinaison de nombreuses unités commerciales fédérées, chacune contenue dans son propre domaine administratif.) Avec de nombreuses organisations qui se retrouvent occupées à intégrer des sources de données traditionnelles comme les responsables informatiques d'entreprise (par exemple, créant des tableaux de bord d'entreprise qui reflètent les conditions commerciales actuelles), les développeurs de mashups sont confrontés à des défis similaires liés au partage de sémantique entre des ensembles de données hétérogènes. Ainsi, pour comprendre comment les développeurs de mashups s’y préparent, il suffit de comprendre les défis d’intégration auxquels est confrontée l’informatique d’entreprise.
Par exemple, nous devons concevoir des systèmes de conversion entre modèles de données. Lors de la conversion de données dans un format commun, lorsque le mappage est incomplet (par exemple, une source de données peut avoir un modèle dans lequel un type d'adresse contient un champ de pays, mais un autre modèle n'a pas ce champ), nous devons faire une hypothèse raisonnable. . Bien que ces défis aient été relevés, les développeurs de mashups ne sont peut-être pas des experts dans le domaine des modèles de données sources, car ces modèles peuvent être des produits tiers et ces hypothèses raisonnables peuvent ne pas être intuitives et claires, ce qui exacerbe la gravité du défi.
En plus des données manquantes et d'une cartographie incomplète, les concepteurs de mashups peuvent constater que les données qu'ils souhaitent intégrer ne sont pas adaptées à l'automatisation des machines, ce qui impliquera beaucoup de travail de nettoyage. Par exemple, les dossiers d'arrestation des forces de l'ordre peuvent être incohérents : les dossiers peuvent utiliser des abréviations courantes pour les noms (par exemple, "mkt sqr" dans un dossier et "Market Square" dans un autre), ce qui rend difficile de savoir si, par exemple, une inférence automatique à propos du même -Le comportement sexuel devient très difficile, même avec de bonnes règles heuristiques. Les technologies de modélisation sémantique, telles que RDF, peuvent contribuer à simplifier le problème du raisonnement automatique entre différents ensembles de données intégrés dans le support de stockage de données. Pour les sources de données traditionnelles, beaucoup de ressources humaines et matérielles sont généralement investies dans l'analyse et la purification des données avant de pouvoir être utilisées dans la technologie de modélisation sémantique.
Les développeurs de mashups peuvent également être confrontés à certains problèmes auxquels les responsables de l'intégration informatique n'ont pas à faire face, notamment la contamination des données. Dans le cadre de la conception de l'application, de nombreux mashups nécessitent la contribution des utilisateurs publics. La recherche dans le domaine des applications wiki montre qu'il s'agit d'une arme à double tranchant : elle peut être très puissante car elle permet des contributions ouvertes et une innovation en matière de données de premier ordre, mais elle peut conduire à des éléments de données incohérents, incorrects ou trompeurs. . Ce dernier risque peut mettre en péril la crédibilité des données, réduisant ainsi la valeur apportée par le mashup.
Un autre problème d'intégration auquel les développeurs de mashups doivent faire face provient des techniques de capture d'écran qui doivent être utilisées pour obtenir des données. Comme indiqué dans la section précédente, l’analyse et l’acquisition d’outils et de modèles de données nécessitent beaucoup de travail lié à l’ingénierie inverse. Dans le meilleur des cas, ces outils et modèles peuvent être créés, mais il reste le problème de la manière dont le site source restitue son propre contenu, ce qui peut interrompre le processus d'intégration et provoquer des erreurs dans l'application mashup.
Défis liés aux composants
Bien que le modèle Ajax de développement Web puisse fournir une expérience utilisateur plus riche et plus transparente que les techniques traditionnelles d'actualisation de page entière, il pose également certains défis. À son niveau de base, Ajax nécessite d'utiliser les capacités de script côté client du navigateur avec son propre DOM pour implémenter une méthode de diffusion de contenu entièrement envisagée par les concepteurs du navigateur. (Peut-être que le caractère hacker d'Ajax ajoute à son attrait.) Cependant, cela soumet les applications basées sur Ajax aux mêmes problèmes de compatibilité de navigateur qui ont tourmenté les développeurs Web depuis que Microsoft a développé Internet Explorer. Par exemple, le moteur Ajax utilise un objet XMLHttpRequst pour échanger des données de manière asynchrone avec le serveur distant. Dans Internet Explorer 6, cet objet est implémenté à l'aide d'ActiveX plutôt que de JavaScript natif, ce qui nécessite l'activation d'ActiveX.
Une exigence plus fondamentale est qu'Ajax nécessite que JavaScript soit activé sur le navigateur de l'utilisateur. Cela peut être une hypothèse raisonnable pour la plupart des gens, mais pour certains utilisateurs spécifiques, leur navigateur ou leur outil automatisé peut ne pas prendre en charge JavaScript ou ne pas activer la prise en charge de JavaScript. Ces outils incluent des robots, des robots d'exploration et des robots d'exploration Web qui collectent des informations pour les moteurs de recherche Internet et intranet. Sans concessions de fonctionnalités, les applications mashup basées sur Ajax risquent également de perdre une partie de leur base d'utilisateurs et de devenir moins attrayantes pour les moteurs de recherche.
L'utilisation de JavaScript pour mettre à jour de manière asynchrone le contenu d'une page crée également des problèmes d'interface utilisateur. Étant donné que le contenu n'a plus besoin d'être lié à l'URL dans la barre d'adresse du navigateur, les utilisateurs peuvent ne pas bénéficier de la fonctionnalité du bouton RETOUR ou des signets du navigateur. De plus, bien qu'Ajax puisse réduire la latence en demandant des mises à jour de contenu incrémentielles, une mauvaise conception peut avoir un impact négatif sur l'expérience utilisateur. Par exemple, lorsque la granularité des mises à jour est très faible, le nombre et la charge des mises à jour occupent toutes les ressources disponibles. De plus, nous devons également veiller à la manière d'aider les utilisateurs lors du chargement de l'interface ou de la mise à jour du contenu (par exemple, en utilisant une technologie de retour visuel telle que des barres de progression).
Comme pour toute application distribuée inter-domaines, il existe des problèmes de sécurité auxquels les développeurs de mashups et les fournisseurs de contenu doivent répondre. Le concept d'identité peut être un sujet épineux, et le Web traditionnel a été principalement conçu pour un accès anonyme. L'authentification unique est une fonctionnalité souhaitable, mais il existe plusieurs technologies concurrentes (de Microsoft Passport à Liberty Alliance) qui peuvent conduire à un désordre d'espaces de noms d'identité que nous devons intégrer. Les fournisseurs de contenu peuvent adopter des modèles d'authentification et d'autorisation dans leurs propres API (qui nécessitent le concept d'identités sécurisées ou d'attributs confirmés sécurisés) pour appliquer des modèles commerciaux impliquant des abonnements payants ou des données sensibles. Les données sensibles peuvent également nécessiter un certain niveau de confidentialité (c'est-à-dire le cryptage), et il faut savoir quand les intégrer à d'autres ressources sans introduire de risque. L’identité est également importante pour l’audit et la conformité réglementaire. De plus, étant donné que l'intégration des données s'effectue à la fois côté serveur et côté client, la délégation d'identité et de certificat de l'utilisateur au service mashup peut également devenir une exigence.
4. Défis sociaux
Outre les défis techniques introduits dans la section précédente, avec la popularité croissante des mashups, certains problèmes sociaux sont également apparus (ou sont sur le point de surgir).
L'un des problèmes sociaux les plus graves auxquels les développeurs de mashups doivent faire face est de trouver un équilibre entre la protection de la propriété intellectuelle et de la vie privée des consommateurs et la publicité et la libre circulation de l'information. Les fournisseurs de contenu peu méfiants (la cible du screen scraping), les fournisseurs de contenu qui fournissent des API pour faciliter la récupération des données, peuvent avoir besoin de déterminer si leur contenu est utilisé par d'autres d'une manière qu'ils n'ont pas approuvée. Les applications Web mashup en sont encore à leurs balbutiements, certains amateurs écrivant des mashups pendant leur temps libre. Ces développeurs peuvent ne pas être conscients (ou ne pas s'intéresser) à des problèmes tels que la sécurité. De plus, les fournisseurs de contenu commencent seulement à comprendre l’intérêt de fournir des API pour un accès automatique au contenu, et beaucoup ne considèrent pas cela comme une préoccupation majeure de leur entreprise. Tout cela se combine pour aboutir aujourd’hui à des logiciels de mauvaise qualité, car les efforts tels que les tests et l’assurance qualité sont moins prioritaires que la preuve de concept et l’innovation. Pour promouvoir la maturité du processus de développement logiciel, la communauté doit travailler ensemble dans son ensemble pour développer des normes ouvertes et des boîtes à outils réutilisables.
Avant que les mashups puissent passer d'un jouet sympa à une application programmatique, beaucoup de travail doit être fait pour formuler des normes, des protocoles, des modèles et des boîtes à outils très robustes. Pour ce faire, les grands pionniers du secteur du développement logiciel, les fournisseurs de contenu et les entrepreneurs doivent reconnaître la valeur des mashups en tant que modèle économique viable. Les fournisseurs d'API doivent déterminer s'ils doivent facturer leur contenu et, si oui, comment le facturer (par exemple, par abonnement ou par utilisation). Peut-être qu'ils fourniront différents niveaux de qualité de service. Certains fournisseurs de places de marché, tels qu'eBay ou Amazon, peuvent constater que les API gratuites augmenteront le chiffre d'affaires des produits. Les développeurs de mashups souhaiteront peut-être adopter un modèle de revenus basé sur la publicité ou créer des applications mashups intéressantes pour être reconnus.
Conclusion
Les mashups sont en effet une application Web relativement nouvelle. La combinaison de techniques de modélisation de données dérivées du Web sémantique et de protocoles de communication faiblement couplés, orientés services et indépendants de la plate-forme fournira à terme l'infrastructure nécessaire au développement d'applications capables d'exploiter et d'intégrer pleinement de grandes quantités d'informations Web. À mesure que les applications mashup attirent de plus en plus l'attention, il est important de comprendre comment elles contribueront à certains problèmes sociaux (tels que la question entre l'utilisation publique et la protection de la propriété intellectuelle) et à d'autres domaines d'application (l'intégration de données au-delà des frontières organisationnelles, comme Internet). ). Il sera intéressant de voir comment cela impacte le calcul en grille et la gestion des flux de travail B2B.