Mashup (web application hybrid)

来源:百度文库 编辑:神马文学网 时间:2024/05/11 00:47:37
Help us improve Wikipedia bysupporting it financially.
 
Mashup (web application hybrid)
From Wikipedia, the free encyclopedia
Jump to:navigation,search
In technology, a mashup is aweb application that combines data from more than one source into a single integrated tool; an example is the use of cartographic data fromGoogle Maps to add location information to real-estate data, thereby creating a new and distinct web service that was not originally provided by either source.
Mashup originally referred to the practice in pop music (notably hip-hop) of producing a new song by mixing two or more existing pieces together.
Contents
[hide]
1 Overview2 Quotes3 Types of mashups4 Telecom mashups5 Mashups versus portals6 Mashups in a business environment7 Architectural aspects of mashups8 Mashup editors9 See also10 External links
[edit] Overview
Content used in mashups is typically sourced from a third party via a public interface orAPI (web services), although some[who?] in the community believe that cases where private interfaces are used should not count as mashups[citation needed]. Other methods of sourcing content for mashups includeWeb feeds (e.g.RSS orAtom), andscreen scraping. Many people are experimenting with mashups usingAmazon,eBay,Flickr,Google,Microsoft,Yahoo andYouTube APIs, which has led to the creation of themashup editor.
The architecture of Mashup web applications is always composed of three parts:
- The content provider: it is the source of the data. Data is made available using an API and different Web-protocols such as RSS, REST, and Web Service
- The Mashup site: is the web application which provides the new service using different data sources that are not owned by it.
- The client web browser: is the user interface of the Mashup. In a web-application, the content can be mashed by the client web browsers using client side web language for example JavaScript.
Mashups should be differentiated from simple embedding of data from another site to formcompound documents. A site that allows a user to embed a Youtube video for instance, is not a mashup site. As outlined above, the site should itself access 3rd party data using an API, and process that data in some way to increase its value to the sites's users.
[edit] Quotes
a lot of talk aboutWeb 2.0, web mashups,Ajax etc., which in my mind are all facets of the same phenomenon: that information and presentation are being separated in ways that allow for novel forms of reuse.
—Sho Kuwamoto
The mash-up part of this equation, is the offspring of an environment where application developers see it in their own selfish interest to facilitate the creation of integrated, yet highly derivative application hybrids by third parties, something they do by providing rich public APIs to their user base.
—Mark Sigal
(Popfly is) a (mashup) tool for end users, not necessarily codeheads.
—Steve Ballmer
Mashup was a good word for perhaps 2003-2007, but it implies limitations and barriers that simply no longer exist.
—Dave Troy
[edit] Types of mashups
Mashups currently come in three general flavors: consumer mashups, data mashups, and business mashups.
The best known type is the consumer mashup, best exemplified by the manyGoogle Maps applications. Consumer mashups combine data elements from multiple sources, hiding this behind a simple unified graphical interface.
Other common types are "data mashups" and "enterprise mashups". A data mashup mixes data of similar types from different sources (seeYahoo Pipes), as for example combining the data from multiple RSS feeds into a single feed with a graphical front end. An enterprise mashup (seeJackBe), usually integrates data from internal and external sources - for example, it could create a market share report by combining an external list of all houses sold in the last week with internal data about which houses one agency sold.
Abusiness mashup is a combination of all the above, focusing on both data aggregation and presentation, and additionally adding collaborative functionality, making the end result suitable for use as a business application.
Mashups within mashups are known as 'monster mashups'.
Examples
Mashups can be divided into four main categories, mapping, video & photo, search & shopping and news.
Some examples of each are:
Mapping
Chicago Crime
The Chicago Police Department has amashup which integrates the department’s database of reported crimes with Google Maps in order to help stop crime in areas and warn citizens of areas where the crime rate is high.
WikiCrimes
WikiCrimes is a wiki-style website where internet users can report crimes by placing pins on a GoogleMaps based map. The website classifies crimes as Robbery, Theft or Other by pin colour
Video and Photo
Flickr
Flickr is an image storage site that allows users to organise their collection of images and share them. Through the use of its Application Programming Interface (API) the content can be used by other sites to create a mashup.Flickrvision is an example of a mashup made using Flickr's API.
Search and Shopping
Travature
Travature is a travel portal which has integrated airfare meta search engines, wiki travel guides, hotel reviews. It also allows the user to share photos and discuss experiences with other travellers.
News
Digg
Mashup of various news websites controlled almost entirely by the users of the website.
[edit] Telecom mashups
A "telecom mashup" is a telecommunications service where service elements come from more than one source and are combined into an integrated experience. For example, one could get the base service from company A, a ringback tone from company B, a voicemail service from company C, etc. Microsoft'sConnected Services Sandbox is an example of a "service development environment" (also referred to as a "service development platform" or a "service development framework") that enables developers to more easily create telecom mashups.
Nested, embedded, sequential or recursive telecom mashups, where a large number of services are used, are considered risky or"over-the-top" (OTT) by network operators. Because of their complexity, such mashed up services can be difficult to control and charge, and therefore may cause operators to lose revenues. In addition, operators are subject togovernment fines or customer litigation from lax or overzealous conformance to Lawfully Authorized Electronic Surveillance (LAES) in the management of OTT mashups.
The followingexample of an over-the-top mashup is found in the online version ofPipeline magazine: "an address book lookup gives a name which is used to find a person’s location which brings up a map of reasonable trip routing, resulting in a call, once connected, linking in web co-browsing, with a location, type search to find for a restaurant along the trip route, clicking the restaurant’s advertisement, resulting in a reservation, and a message to social-network shared friends to met [sic] them with directions inserted from that person’s location."
[edit] Mashups versus portals
Mashups andportals are both content aggregation technologies. Portals is an older technology designed as an extension to traditional dynamic web applications, in which the process of converting data content into marked-up web pages is split into two phases - generation of markup "fragments" and aggregation of the fragments into pages. Each of these markup fragments is generated by a "portlet", and the portal combines them into a single web page. Portlets may be hosted locally on the portal server or remotely on another server.
Portal technology defines a complete event model covering reads and updates. A request for an aggregate page on a portal is translated into individual read operations on all the portlets that form the page ("render" operations on local, JSR 168 portlets or "getMarkup" operations on remote, WSRP portlets). If a submit button is pressed on any portlet on a portal page, that is translated into a single update operation on that portlet alone ("processAction" on a local,JSR 168 portlet or "performBlockingInteraction" on a remote,WSRP portlet). The update is then immediately followed by a read on all portlets on the page.
Portal technology is about server-side, presentation-tier aggregation. It cannot be used to drive more robust forms of application integration such as the one usingTwo_phase_commit.
Mashups differ from portals in the following respects:
Portal Mashup
Classification Older technology, extension to traditional web server model using well defined approach Using newer "Web 2.0" techniques
Philosophy/Approach Approaches aggregation by splitting role of web server into two phases - markup generation and aggregation of markup fragments Uses APIs provided by different content sites to aggregate and reuse the contents in another way
Content dependencies Aggregates presentation-oriented markup fragments (HTML, WML, VoiceXML, etc.) Can operate on pure XML content and also on presentation-oriented content (e.g., HTML)
Location dependencies Traditionally content aggregation takes place on the server Content aggregation can take place either on the server or on the client
Aggregation style "Salad bar" style - Aggregated content is presented 'side-by-side' without overlaps "Melting Pot" style - Individual content may be combined in any manner, resulting in arbitrarily structured hybrid content
Event model Read and update event models are defined through a specific portlet APICRUD operations are based onREST architectural principles, but no formal API exists
Relevant standards Portlet behaviour is governed by standardsJSR 168,JSR 286 andWSRP, although portal page layout and portal functionality are undefined and vendor-specific Base standard is XML Data Interchange with REST semantics.RSS andAtom are commonly used. More specific mashup standards are expected to emerge.
The portal model has been around longer and has seen greater investment and product research. The technology is therefore more standardised and mature. In 2-3 years, increasing maturity and standardisation of mashup technology may propel it beyond portal technology in popularity. Alternatively, the two technologies may converge, with newer versions of current portal products resembling mashup servers using mashup techniques while still supporting legacy portlet applications.
[edit] Mashups in a business environment
Mashups can have a big role in the business environment. This section will discuss a few of the practical uses that could be made of this technology; with specific reference to, the end-user desire for personalised information services, addressing information overload issues, and the need for technology integration.
Mashups create new services for consumers which allow them to create a lot of new possibilities. It is becoming more straightforward for end-users to create mashup sites regardless of their technical skill level by using a site’s Application Programming Interface (API). This provides a simple way to implement mashups and new consumers can create a mashup easily. With all APIs available, enterprises can easily build applications that are cheaper, more reusable and more maintainable. The web 2.0 is all about the personalisation of information. In that context, mashups can grow faster since every mashup can offer new features from existing websites, in fact Emory M. Craig (2007) states that on Programmableweb.com around three new mashup sites are added every day. It’s easy to imagine how you can create a personalised information service when you have the ability to add features with mashups. As they are a part of the web 2.0, mashups increase the level of personalization of the Internet. Many people are convinced in the power of mashups and view mashups as the future of the web.
Information overload is a problem that many companies face, whether it’s within the company itself or when presenting information to users. Mashups can help overcome this problem by allowing one company to display detailed concise information derived from a wide variety of sources. For example, prior to mashup sites, users that wanted to find images of a particular type (e.g. animals) would first have to search for websites and then trawl through them trying to find suitable images. There are obviously a vast number of web sites that could potentially have suitable images on them; therefore the user would be presented with an overload of information. To help solve this problem, a mashup site could be created that pulls in the images from the other sites and categorises them. This would enable the user to easily search in one location for what they want, and even allow them to see all possible images within a particular category in a few clicks.
Mashups are a form of technology integration as they can be adapted to join together many technologies and use many types of implementation languages. Some mash-ups can be as simple as mixing together some JavaScript code with XML to create a new and innovative web-based service. Other larger mashups which are the main focus of their respective website will take advantage of services such as Google Maps and a database which uses street addresses to link the two together and project information onto the map.
In London (UK) an event called mashup* Event ([1]) focuses on discussion, debate and demos from companies in the digital mashup sector. The annual Being-Digital ([2] event specifically addresses the digital mashup theme.
[edit] Architectural aspects of mashups
For all appearances it would seem that a mashup is an example of a Facade pattern ( see Design Patterns: Elements of Resuable Object-Oriented Software (ISBN 0-201-63361-2) by the GoF, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides ). I.e. It is a software engineering design pattern that provides a simplified interface to a larger body of code (in this case the code to aggregate the different feeds with different API's).
[edit] Mashup editors
There are already severalmashup platforms that help user create mashups. Examples include (alphabetically):
Google Mashup EditorIBM Sharable CodeIBM DAMIAIBM Qed WikiJackBeMicrosoft PopflyYahoo pipes
[edit] See also
Planet aggregatorRatchetSoft
[edit] External links
Mashup Awards - best mashups on the webMashups: The new breed of Web appProgrammableWeb.com - Directory of mashups and Web 2.0 APIsWebmashup.com - Open Directory for Mashups and Web 2.0 APIsNewWebPlatform.com - Tips, Tutorials and Scripts for building mashupsWhy Mashups = (REST + ‘Traditional SOA’) * Web 2.0 - Overview & history of mashups, trends and mashup sourceszembly - The place to build social networking applications
Retrieved from "http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29"
Categories:Web 2.0 |Web 2.0 neologisms |World Wide Web |Software architecture |Web applications |Web development
Hidden categories:Articles with specifically-marked weasel-worded phrases |All articles with unsourced statements |Articles with unsourced statements since October 2007
Views
ArticleDiscussionEdit this pageHistory
Personal tools
Log in / create account
Navigation
Main PageContentsFeatured contentCurrent eventsRandom article
Interaction
About WikipediaCommunity portalRecent changesContact WikipediaDonate to WikipediaHelp
Search

Toolbox
What links hereRelated changesUpload fileSpecial pagesPrintable versionPermanent linkCite this page
Languages
AfrikaansDeutschEspañolFrançais???Italiano?Norsk (bokmål)?Nederlands日本語PortuguêsРусскийУкра?нська中文


This page was last modified on 2 July 2008, at 02:11. All text is available under the terms of theGNU Free Documentation License. (SeeCopyrights for details.)
Wikipedia® is a registered trademark of theWikimedia Foundation, Inc., a U.S. registered501(c)(3)tax-deductiblenonprofitcharity.
Privacy policyAbout WikipediaDisclaimers