Um mehr darüber zu verstehen, was ein Mashup ist, sollten Sie sich die Ursprünge des Wortes ansehen: Es kommt aus der Popmusik und ein Mashup ist eine Mischung aus Gesang und Instrumentalstücken aus zwei verschiedenen Liedern (die normalerweise zu unterschiedlichen Genres gehören). . Im Mashup-Genre untersuchen wir beliebte Mashups.
1. Einführung
Im Internet entsteht nach und nach eine neue Art webbasierter Datenintegrationsanwendung. Ihre Beliebtheit, die oft mit dem Begriff „Mashups“ bezeichnet wird, beruht auf der Frankenstein-ähnlichen Betonung der interaktiven Benutzereinbindung und der Integration von Daten Dritter. Wir verwenden das Wort „Sprossen“ aus einem bestimmten Grund: Mashup-Websites zeichnen sich dadurch aus, dass sie im Web entstehen und Inhalte und Funktionen aus Datenquellen außerhalb der Unternehmensgrenzen nutzen.
Die Definition kryptischer Datenintegration von Mashup ist sicherlich nicht sehr streng. Um mehr darüber zu verstehen, was ein Mashup ist, sollten Sie sich die Ursprünge des Wortes ansehen: Es kommt aus der Popmusik und ein Mashup ist eine Mischung aus Gesang und Instrumentalstücken aus zwei verschiedenen Liedern (die normalerweise zu unterschiedlichen Genres gehören). . Wie diese „Bastard-Pop“-Songs sind Mashups ungewöhnliche und innovative Kombinationen von Inhalten (die oft aus nicht verwandten Quellen stammen), die von Menschen (und nicht von Computern) synthetisiert werden.
Wie sieht also ein Mashup aus? Auf der Website von ChicagoCrime.org gibt es ein sehr intuitives Beispiel, das erklärt, was ein Karten-Mashup ist. Eines der ersten Mashups, das große Popularität erlangte, war eine Website, die Strafregister aus der Online-Datenbank des Chicago Police Department mit Karten von Google Maps kombinierte. Benutzer können mit der Mashup-Site interagieren, indem sie sie beispielsweise anweisen, eine grafische Oberfläche mit einer Karte mit Stecknadeln anzuzeigen, die Einzelheiten zu allen jüngsten Hausüberfällen in Südkalifornien anzeigen. Das Konzept und die Präsentation sind sehr einfach und die Visualisierungsmöglichkeiten durch die Kombination von Kriminalitäts- und Kartendaten sind sehr leistungsstark.
Im Mashup-Genre erkunden wir beliebte Mashups, einschließlich Karten-Mashups. Es wird eine kurze Einführung in die technische Landschaft rund um den Aufbau und Betrieb von Mashups gegeben. In den Abschnitten „Technische Herausforderungen“ und „Soziale Herausforderungen“ werden die wichtigsten technischen Herausforderungen bzw. sozialen Herausforderungen vorgestellt, die sich auf Mashups auswirken.
2. Mashup-Typen
In diesem Abschnitt stellen wir kurz einige Übersichten bekannter Mashup-Typen vor.
Karten-Mashup
In dieser Phase der Informationstechnologie sammeln Menschen eine große Menge an Daten über Dinge und Verhaltensweisen, die oft über Standortanmerkungen verfügen. All diese unterschiedlichen Datensätze mit Standortdaten können mithilfe von Karten auf erstaunliche Weise grafisch dargestellt werden. Eine der Hauptantriebskräfte für den Mashup-Boom ist die Veröffentlichung der Google Maps API durch Google. Dies öffnet Webentwicklern (Hobbyisten, Patch-Entwicklern und anderen) die Möglichkeit, alle Arten von Daten in Karten einzubeziehen (von Atombombenkatastrophen bis zu Bostons CowParade-Kühen). Um nicht ins Hintertreffen zu geraten, haben auch Microsoft (Virtual Earth), Yahoo (Yahoo Maps) und AOL (MapQuest) schnell eigene APIs offengelegt.
Video- und Bild-Mashups
Der Aufstieg von Bild-Hosts und Social-Networking-Sites (wie Flickr, das seine eigene API zum Teilen von Bildern verwendet) hat zur Entstehung vieler interessanter Mashups geführt. Da Inhaltsanbieter über Metadaten verfügen, die mit den von ihnen gespeicherten Bildern verknüpft sind (z. B. wer das Foto aufgenommen hat, worum es auf dem Foto geht, wann und wo es aufgenommen wurde usw.), können Mashup-Designer diese Fotos und andere mit den Metadaten kombinieren, um relevante Informationen bereitzustellen zusammen. Ein Mashup könnte beispielsweise ein Lied oder Gedicht analysieren, um verwandte Fotos zusammenzufügen, oder ein Diagramm eines sozialen Netzwerks basierend auf denselben Fotometadaten (Titel, Zeitstempel oder andere Metadaten) anzeigen. Ein anderes Beispiel könnte eine Website (z. B. eine Nachrichtenseite wie CNN) als Eingabe verwenden und den Inhalt des Fotos in Form von Text durch Fotoabgleich in den Nachrichten darstellen.
Such- und Shopping-Mashups
Such- und Shopping-Mashups gab es schon lange bevor der Begriff Mashup geprägt wurde. Vor dem Aufkommen der Web-API gab es eine ganze Reihe von Shopping-Tools wie BizRate, PriceGrabber, MySimon und Googles Froogle, die alle B2B-Technologie oder Screen Scraping nutzten, um relevante Preisdaten zu sammeln. Um die Entwicklung von Mashups und anderen interessanten Webanwendungen zu erleichtern, haben Verbraucherseiten wie eBay und Amazon ihre eigenen APIs für den programmatischen Zugriff auf ihre Inhalte veröffentlicht.
News Mashup-
Nachrichtenquellen (wie die New York Times, BBC oder Reuters) nutzen seit 2002 Syndication-Technologien wie RSS und Atom, um Newsfeeds zu verschiedenen Themen zu veröffentlichen. Ein auf Federation-Technologie basierendes Mashup kann den Feed eines Benutzers zusammenfassen und über das Web rendern, um eine personalisierte Zeitung zu erstellen, die auf die individuellen Interessen eines Lesers zugeschnitten ist. Diggdot.us ist ein solches Beispiel und vereint technologiebezogene Inhalte von Digg.com, Slashdot.org und Del.icio.us.
3. Technische Herausforderungen
Wie andere Bereiche der Datenintegration ist auch die Mashup-Entwicklung mit vielen technischen Herausforderungen verbunden, die gelöst werden müssen. Da die Merkmale und Funktionen von Mashup-Anwendungen weiter bereichert werden, ist diese Herausforderung noch schwerwiegender geworden. In diesem Abschnitt werden einige der Herausforderungen kurz vorgestellt, von denen einige jetzt gelöst oder abgemildert werden können, während andere noch ungelöst sind.
Herausforderungen bei der Datenintegration: Semantik und Datenqualität
Qualitätsstudien zeigen, dass das Hauptanliegen der heutigen Unternehmens-IT die Datenintegration in virtuellen Unternehmensorganisationen ist. (In diesem Fall verwenden wir den Begriff „virtuelle Organisation“, um eine Kombination aus vielen verbundenen Geschäftseinheiten zu bezeichnen, die jeweils in einer eigenen Verwaltungsdomäne enthalten sind.) Bei vielen Organisationen, die mit der Integration traditioneller Datenquellen beschäftigt sind, wie z. B. IT-Manager in Unternehmen (z. B. Beim Erstellen von Unternehmens-Dashboards, die aktuelle Geschäftsbedingungen widerspiegeln, stehen Mashup-Entwickler vor ähnlichen Herausforderungen, die sich aus der gemeinsamen Nutzung von Semantik zwischen heterogenen Datensätzen ergeben. Um also zu verstehen, wie sich Mashup-Entwickler darauf vorbereiten, muss man nur die Integrationsherausforderungen verstehen, vor denen die Unternehmens-IT steht.
Beispielsweise müssen wir Konvertierungssysteme zwischen Datenmodellen entwerfen. Wenn beim Konvertieren von Daten in ein allgemeines Format die Zuordnung unvollständig ist (z. B. kann eine Datenquelle ein Modell haben, in dem ein Adresstyp ein Länderfeld enthält, ein anderes Modell dieses Feld jedoch nicht), müssen wir einige vernünftige Annahmen treffen . Obwohl diese Herausforderungen bewältigt wurden, sind Mashup-Entwickler möglicherweise keine Experten auf dem Gebiet der Quelldatenmodelle, da es sich bei diesen Modellen möglicherweise um Produkte von Drittanbietern handelt und diese vernünftigen Annahmen möglicherweise nicht intuitiv und klar sind, was die Schwere der Herausforderung verschärft.
Zusätzlich zu fehlenden Daten und unvollständiger Zuordnung stellen Mashup-Designer möglicherweise fest, dass die Daten, die sie integrieren möchten, nicht für die Maschinenautomatisierung geeignet sind. Beispielsweise können Aufzeichnungen über Verhaftungen durch Strafverfolgungsbehörden inkonsistent sein: In den Aufzeichnungen werden möglicherweise gebräuchliche Abkürzungen für Namen verwendet (z. B. „mkt sqr“ in einem Datensatz und „Market Square“ in einem anderen), sodass unklar ist, ob beispielsweise eine automatische Schlussfolgerung über dieselben erfolgt -Sexuelles Verhalten wird selbst mit guten heuristischen Regeln sehr schwierig. Semantische Modellierungstechnologien wie RDF können dazu beitragen, das Problem der automatischen Schlussfolgerung zwischen verschiedenen Datensätzen, die im Datenspeichermedium eingebettet sind, zu vereinfachen. Bei herkömmlichen Datenquellen werden in der Regel viele personelle und materielle Ressourcen in die Analyse und Datenbereinigung investiert, bevor sie in der semantischen Modellierungstechnologie verwendet werden können.
Mashup-Entwickler müssen sich möglicherweise auch mit einigen Problemen auseinandersetzen, mit denen sich IT-Integrationsmanager nicht auseinandersetzen müssen, darunter die Datenkontamination. Als Teil des Anwendungsdesigns erfordern viele Mashups Eingaben von öffentlichen Benutzern. Untersuchungen auf dem Gebiet der Wiki-Anwendungen zeigen, dass dies ein zweischneidiges Schwert ist: Es kann sehr leistungsfähig sein, weil es offene Beiträge und erstklassige Dateninnovation ermöglicht, aber es kann zu inkonsistenten, falschen oder irreführenden Datenelementen führen . . Letzteres kann die Glaubwürdigkeit der Daten gefährden und letztendlich den Wert des Mashups verringern.
Ein weiteres Integrationsproblem, mit dem sich Mashup-Entwickler auseinandersetzen müssen, ergibt sich aus den Screen-Scraping-Techniken, die zum Abrufen von Daten verwendet werden müssen. Wie im vorherigen Abschnitt erläutert, erfordert die Analyse und Beschaffung von Werkzeugen und Datenmodellen viel Arbeit im Zusammenhang mit Reverse Engineering. Im besten Fall können diese Tools und Modelle erstellt werden, es bleibt jedoch das Problem, wie die Quellsite ihre eigenen Inhalte rendert, was den Integrationsprozess unterbrechen und Fehler in der Mashup-Anwendung verursachen kann.
Komponentenherausforderungen
Obwohl das Ajax-Modell der Webentwicklung eine umfassendere und nahtlosere Benutzererfahrung bieten kann als herkömmliche Techniken zur Ganzseitenaktualisierung, bringt es auch einige Herausforderungen mit sich. Auf der Grundebene erfordert Ajax die Verwendung der clientseitigen Skriptfunktionen des Browsers mit seinem eigenen DOM, um eine Methode zur Bereitstellung von Inhalten zu implementieren, die vollständig von den Designern des Browsers vorgesehen war. (Vielleicht trägt die Hacker-ähnliche Natur von Ajax zu seiner Attraktivität bei.) Allerdings sind Ajax-basierte Anwendungen dadurch denselben Browserkompatibilitätsproblemen ausgesetzt, die Webentwickler seit der Entwicklung des Internet Explorers durch Microsoft geplagt haben. Beispielsweise verwendet die Ajax-Engine ein XMLHttpRequst-Objekt, um Daten asynchron mit dem Remote-Server auszutauschen. In Internet Explorer 6 wird dieses Objekt mithilfe von ActiveX und nicht mit nativem JavaScript implementiert, was die Aktivierung von ActiveX erfordert.
Eine grundlegendere Voraussetzung ist, dass Ajax erfordert, dass JavaScript im Browser des Benutzers aktiviert ist. Dies mag für die meisten Menschen eine vernünftige Annahme sein, aber bei einigen bestimmten Benutzern unterstützt ihr Browser oder automatisiertes Tool möglicherweise kein JavaScript oder hat die JavaScript-Unterstützung nicht aktiviert. Zu diesen Tools gehören Roboter, Spider und Webcrawler, die Informationen für Internet- und Intranet-Suchmaschinen sammeln. Ohne Zugeständnisse an die Funktionalität könnten Ajax-basierte Mashup-Anwendungen auch dazu führen, dass sie einen Teil ihrer Nutzerbasis verlieren und für Suchmaschinen weniger attraktiv werden.
Die Verwendung von JavaScript zum asynchronen Aktualisieren von Inhalten auf einer Seite führt ebenfalls zu Problemen mit der Benutzeroberfläche. Da der Inhalt nicht mehr mit der URL in der Adressleiste des Browsers verknüpft werden muss, stehen Benutzern möglicherweise nicht die Funktionalität der ZURÜCK-Schaltfläche oder der Lesezeichen des Browsers zur Verfügung. Darüber hinaus kann Ajax zwar die Latenz reduzieren, indem es inkrementelle Inhaltsaktualisierungen anfordert, ein schlechtes Design kann sich jedoch negativ auf die Benutzererfahrung auswirken, wenn beispielsweise die Aktualisierungsgranularität sehr gering ist und die Anzahl und Last der Aktualisierungen alle verfügbaren Ressourcen beanspruchen. Darüber hinaus müssen wir uns auch darum kümmern, wie wir Benutzer beim Laden der Benutzeroberfläche oder beim Aktualisieren von Inhalten unterstützen (z. B. mithilfe visueller Feedback-Technologie wie Fortschrittsbalken).
Wie bei jeder verteilten domänenübergreifenden Anwendung gibt es Sicherheitsbedenken, die Mashup-Entwickler und Inhaltsanbieter berücksichtigen müssen. Das Konzept der Identität kann ein heikles Thema sein, und das traditionelle Web wurde in erster Linie für den anonymen Zugriff entwickelt. Single Sign-On ist eine wünschenswerte Funktion, aber es gibt mehrere konkurrierende Technologien (von Microsoft Passport bis Liberty Alliance), die zu einem Durcheinander von Identitäts-Namespaces führen können, die wir integrieren müssen. Inhaltsanbieter übernehmen möglicherweise Authentifizierungs- und Autorisierungsmodelle in ihren eigenen APIs (die das Konzept sicherer Identitäten oder sicherer bestätigter Attribute erfordern), um Geschäftsmodelle mit kostenpflichtigen Abonnements oder sensiblen Daten durchzusetzen. Sensible Daten erfordern möglicherweise auch ein gewisses Maß an Vertraulichkeit (d. h. Verschlüsselung), und wir müssen wissen, wann wir sie ohne Risiko mit anderen Ressourcen integrieren können. Identität ist auch für die Prüfung und Einhaltung gesetzlicher Vorschriften wichtig. Da die Datenintegration sowohl auf der Server- als auch auf der Clientseite erfolgt, kann außerdem die Delegation von Identitäten und Zertifikaten vom Benutzer an den Mashup-Dienst erforderlich werden.
4. Soziale Herausforderungen
Zusätzlich zu den im vorherigen Abschnitt vorgestellten technischen Herausforderungen sind mit der zunehmenden Beliebtheit von Mashups auch einige soziale Probleme aufgetreten (oder stehen kurz davor).
Eines der schwerwiegendsten gesellschaftlichen Probleme, mit denen sich Mashup-Entwickler auseinandersetzen müssen, besteht darin, ein Gleichgewicht zwischen dem Schutz des geistigen Eigentums und der Privatsphäre der Verbraucher gegenüber der Öffentlichkeit und dem freien Informationsfluss zu finden. Ahnungslose Inhaltsanbieter (das Ziel von Screen Scraping), Inhaltsanbieter, die APIs zur Erleichterung des Datenabrufs bereitstellen, müssen möglicherweise feststellen, ob ihre Inhalte von anderen auf eine Weise verwendet werden, die sie nicht genehmigt haben. Mashup-Webanwendungen stecken noch in den Kinderschuhen, und einige Bastler schreiben in ihrer Freizeit Mashups. Diese Entwickler sind sich möglicherweise nicht über Probleme wie Sicherheit im Klaren (oder kümmern sich nicht darum). Darüber hinaus erkennen Inhaltsanbieter erst langsam den Wert der Bereitstellung von APIs für den maschinenbasierten Zugriff auf Inhalte, und viele sehen darin kein zentrales Geschäftsanliegen. Dies alles führt heute zu minderwertiger Software, da Bemühungen wie Tests und Qualitätssicherung geringere Priorität haben als Proof-of-Concept und Innovation. Um die Reife des Softwareentwicklungsprozesses zu fördern, muss die Community als Ganzes zusammenarbeiten, um offene Standards und wiederverwendbare Toolkits zu entwickeln.
Bevor Mashups von einem coolen Spielzeug zu einer programmatischen Anwendung werden können, muss noch viel Arbeit geleistet werden, um äußerst robuste Standards, Protokolle, Modelle und Toolkits zu formulieren. Um dies zu erreichen, müssen große Pioniere der Softwareentwicklungsbranche, Inhaltsanbieter und Unternehmer den Wert von Mashups als tragfähiges Geschäftsmodell erkennen. API-Anbieter müssen festlegen, ob sie für ihre Inhalte Gebühren erheben und, wenn ja, wie sie diese berechnen (z. B. nach Abonnement oder pro Nutzung). Möglicherweise bieten sie unterschiedliche Servicequalitätsniveaus. Einige Marktplatzanbieter wie eBay oder Amazon stellen möglicherweise fest, dass kostenlose APIs den Produktumsatz steigern. Mashup-Entwickler möchten möglicherweise ein werbebasiertes Einnahmemodell verfolgen oder interessante Mashup-Anwendungen entwickeln, um Bekanntheit zu erlangen.
Fazit
Mashups sind in der Tat eine ziemlich neue Webanwendung. Die Kombination von aus dem Semantic Web abgeleiteten Datenmodellierungstechniken und lose gekoppelten, serviceorientierten, plattformunabhängigen Kommunikationsprotokollen wird letztendlich die Infrastruktur bereitstellen, die für die Entwicklung von Anwendungen erforderlich ist, die große Mengen an Webinformationen vollständig nutzen und integrieren können. Da Mashup-Anwendungen immer mehr Beachtung finden, ist es wichtig zu verstehen, welchen Beitrag sie zu bestimmten gesellschaftlichen Themen (z. B. der Frage zwischen öffentlicher Nutzung und dem Schutz geistigen Eigentums) und anderen Anwendungsbereichen (Integration von Daten über Organisationsgrenzen hinweg, z. B. dem Internet) leisten ). Es wird interessant sein zu sehen, wie sich dies auf Grid Computing und B2B-Workflow-Management auswirkt.