Misplaced Pages

Mashup (web application hybrid): Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editContent deleted Content addedVisualWikitext
Revision as of 22:56, 18 September 2006 editLincolnite (talk | contribs)Autopatrolled, Extended confirmed users, Pending changes reviewers, Rollbackers15,548 editsNo edit summary← Previous edit Latest revision as of 19:32, 1 June 2024 edit undoCitation bot (talk | contribs)Bots5,407,126 edits Added date. | Use this bot. Report bugs. | Suggested by Abductive | Category:Web 2.0 neologisms | #UCB_Category 10/25 
Line 1: Line 1:
{{Short description|Web application that combines content from more than one source in a single graphical interface}}
{{cleanup-date|January 2006}}
{{Other uses|Mashup (disambiguation)}}
{{more citations needed|date=January 2013}}
A '''mashup''' (computer industry ]), in ], is a ] or ] that uses content from more than one source to create a single new service displayed in a single graphical interface. For example, a user could combine the addresses and photographs of their library branches with a ] to create a map mashup.<ref>{{cite book|last=Fichter |first=Darlene |title=What Is a Mashup? |url=http://books.infotoday.com/books/Engard/Engard-Sample-Chapter.pdf |accessdate=12 August 2013}}</ref> The term implies easy, fast integration, frequently using open application programming interfaces (]) and data sources to produce enriched results that were not necessarily the original reason for producing the raw source data.
The term mashup originally comes from creating something by combining elements from two or more sources.<ref>{{cite web |title=mash-up |url=https://www.merriam-webster.com/dictionary/mash-up#h1 |website=merriam-webster.com |date=31 May 2024 |ref=mwmashup}}</ref>


The main characteristics of a mashup are combination, visualization, and aggregation. It is important to make existing data more useful, for personal and professional use. To be able to permanently access the data of other services, mashups are generally ] or hosted online.
:''This article is about computer software. For music mashups, see ].''


In the past years{{when|date=December 2018}}, more and more Web applications have published APIs that enable software developers to easily integrate data and functions the ] way, instead of building them by themselves. Mashups can be considered to have an active role in the evolution of ] and ]. Mashup composition tools are usually simple enough to be used by end-users. They generally do not require programming skills and rather support visual wiring of ]s, services and components together. Therefore, these tools contribute to a new vision of the ], where users are able to contribute.{{clarify|reason=User contributions were part of the original vision of the WWW, right?|date=January 2014}}
A '''mashup''' is a website or ] application that uses content from more than one source to create a completely new service. This is akin to ].


The term "mashup" is not formally defined by any standard-setting body.<ref>{{cite web
Content used in mashups is typically sourced from a third party via a public interface or ]. Other methods of sourcing content for mashups include ]s (e.g. ] or ]) and ].
| access-date = 2010-03-03
| title = Enterprise Mashups: The New Face of Your SOA
| publisher = SOA WORLD MAGAZINE
| url = http://soa.sys-con.com/node/719917
| quote = The term mashup isn't subject to formal definition by any standards-setting body.
| archive-date = 2009-06-05
| archive-url = https://web.archive.org/web/20090605144831/http://soa.sys-con.com/node/719917
| url-status = dead
}}</ref>


==History==
Much the way ]s revolutionised online publishing, mashups are revolutionizing web development by allowing anyone to combine existing data from sources like ], ], ], ], ] and ] in innovative ways. The greater availability of simple and lightweight APIs has made mashups relatively easy to design. They require minimal technical knowledge and thus custom mashups are sometimes created by unlikely innovators, combining available public data in new and creative ways. While there are many useful mashups, others are simple novelties or ]s, with minimal practical utility.
The broader context of the history of the Web provides a background for the development of mashups. Under the ] model, organizations stored consumer data on ] and updated them regularly. They controlled all the consumer data, and the consumer had to use their products and services to get the information.{{citation needed|date=January 2018}}


The advent of ] introduced Web standards that were commonly and widely adopted across traditional competitors and which unlocked the consumer data. At the same time, mashups emerged, allowing mixing and matching competitors' APIs to develop new services.
Advocates and supporters of ] applications claim that mashups exemplify this new movement with their active user participation and interaction.


The first mashups used mapping services or photo services to combine these services with data of any kind and therefore to produce visualizations of data.<ref name="holmes">
== History of term ==
{{cite web | url= http://msdn.microsoft.com/en-us/architecture/bb906060.aspx| last1= Clarkin | first1= Larry | last2= Holmes | first2= Josh | title= Enterprise Mashups | work= MSDN Architecture Journal | date= 14 January 2009 | publisher= MSDN Architecture Center}}
</ref>{{failed verification|date=January 2018}}
In the beginning, most mashups were consumer-based, but recently{{when|date=January 2018}} the mashup is to be seen{{by whom|date=January 2018}} as an interesting concept useful also to enterprises. Business mashups can combine existing internal data with external services to generate new views on the data.
There was also the free ] to build mashups for free using the ].


==Types of mashup==
The etymology of this term almost certainly derives from its similar use in ] where DJs would, for example, take the vocal track from one song and combine it with the instrumental track of another song resulting in an entirely new composition. This 'genre' is also often associated with other terms such as Bastard Pop or Booty's (bootlegs).
There are many types of mashup, such as business mashups, consumer mashups, and data mashups.<ref>{{cite web | url = http://www.mphasis.com/pdfs/Mashups_and_the_Enterprise.pdf | author = Sunilkumar Peenikal | year = 2009 | title = Mashups and the enterprise | publisher = MphasiS - HP | access-date = 2010-02-27 | archive-url = https://web.archive.org/web/20130602215542/http://www.mphasis.com/pdfs/Mashups_and_the_Enterprise.pdf | archive-date = 2013-06-02 | url-status = dead }}</ref> The most common type of mashup is the consumer mashup, aimed at the general public.
* ''Business'' (or ''enterprise'') ''mashups'' define applications that combine their own resources, application and data, with other external ]s.<ref name="holmes" /> They focus data into a single presentation and allow for collaborative action among businesses and developers. This works well for an ] project, which requires collaboration between the developers and customer (or customer proxy, typically a product manager) for defining and implementing the business requirements. Enterprise mashups are secure, visually rich Web applications that expose actionable information from diverse internal and external information sources.
* ''Consumer mashups'' combine data from multiple public sources in the browser and organize it through a simple browser user interface.<ref>{{cite web
| access-date = 2010-03-03
| title = Enterprise Mashups: The New Face of Your SOA
| publisher = SOA WORLD MAGAZINE
| url = http://soa.sys-con.com/node/719917
| quote = A consumer mashup is an application that combines data from multiple public sources in the browser and organizes it through a simple browser user interface.
| archive-date = 2009-06-05
| archive-url = https://web.archive.org/web/20090605144831/http://soa.sys-con.com/node/719917
| url-status = dead
}}</ref> ''(e.g.: ] combines Google Map and a Misplaced Pages API)''
* ''Data mashups'', opposite to the consumer mashups, combine similar types of media and information from multiple sources into a single representation. The combination of all these resources create a new and distinct ] that was not originally provided by either source.


== Mapping mashups == ===By API type===
Mashups can also be categorized by the basic API type they use but any of these can be combined with each other or embedded into other applications.
<!-- Please re-order this section, one of it's purposes is to avoid direct examples that could be considered as spam-->


====Data types====
Mashups, though they have been around since the first API was released, have begun to garner more media attention since the beginning of 2006 due to many web companies beginning to fully embrace ] technologies that enable many people (and more specifically web developers) to easily interface with the primary company’s intellectual property. A good example of this would be Google creating the ] and letting anyone utilize their Google Maps software and databases so that individuals can develop many new and creative uses for the mapping software. One of the more popular Google Maps mashups is the ]. There is an entire blog devoted to popular Google Mapping mashups. Mashups can take the form of many other projects from the ingenious , ] (a combination of Craigslist and Google Maps), and , to the obscure, such as birth places of ] Winners. Other popular mashups include those that allow fans of popular TV series to see where many scenes from each episode were filmed. This data is compiled by devout fans, not the television network. Another mashup allows fans of ] to hone in on each of the contestant's home towns.
* ] (documents, weblogs, images, videos, shopping articles, jobs ...) used by ]
* Cartographic and geographic data: ], ]
* Feeds, podcasts: ]s


====Functions====
''Dashups'' are mashups that include critical '''d'''ata. The term ''dashup'', coined by Dean Stoecker, was defined in a June 2006 podcast about SRC's FreeDemographics API allowing developers to incorporate US census data into mashups using spatial variable references (with or without map displays). That podcast, Very Spatial SRC Dash-up Press Announcement (AVSP SE 10 avsp Roadshow ), describes use of the API and applications.
* Data converters: ], ], ]...
* Communication: ], ], ]...
* Visual data rendering: ], diagrams
* Security related: ], ]...
* ]


== Mashup enabler ==
See also:
In technology, a '''mashup enabler''' is a tool for transforming incompatible IT resources into a form that allows them to be easily combined, in order to create a mashup. Mashup enablers allow powerful techniques and tools (such as mashup platforms) for combining data and services to be applied to new kinds of resources. An example of a mashup enabler is a tool for creating an ] feed from a spreadsheet (which cannot easily be used to create a mashup). Many mashup editors include mashup enablers, for example, Presto Mashup Connectors, Convertigo Web Integrator or ].


Mashup enablers have also been described as "the service and tool providers, that make mashups possible".{{citation needed|date=November 2013}}
== Video mashups==


=== History ===
Video mashups are mashups that use online video provided by video sharing services APIs together with other types of data. For example, a mapping application can display thumbnails of video clips next to different geographical locations, such as virtualvideomap.com, allowing application users to play video clips about that location. Video mashups are similar to photo mashups made popular by the Flickr API but they use video data instead of photo. Currently, YouTube.com and Grouper Networks provide free video APIs for mashup developers.
Early mashups were developed manually by enthusiastic programmers. However, as mashups became more popular, companies began creating platforms for building mashups, which allow designers to visually construct mashups by connecting together mashup components.


Mashup editors have greatly simplified the creation of mashups, significantly increasing the productivity of mashup developers and even opening mashup development to end-users and non-IT experts. Standard components and connectors enable designers to combine mashup resources in all sorts of complex ways with ease. Mashup platforms, however, have done little to broaden the scope of resources accessible by mashups and have not freed mashups from their reliance on well-structured data and open libraries (] feeds and public ]s).
== Conflict over mashups ==


Mashup enablers evolved to address this problem, providing the ability to convert other kinds of data and services into mashable resources.
Most mashups interface with and utilize information from established companies and web applications, occasionally without asking for permission. It is not uncommon for a mashup to display this information in a manner that the larger entity does not approve of, and a few scuffles have occurred on ethical grounds. Currently many data providers specify that data used in mashups cannot be used for commercial purposes or are run on a non-profit basis. This ensures that the financial risk to the data providers is minimal and prevents rival profit-making services being created that augment or surpass the usability of the original data source. Still, it is possible that if mashups prove to be a useful business tool or a viable market then corporate mashups will emerge as a paid-for service.


=== Web resources ===
Sometimes, mashups are prohibited by the user agreement of the web site. Ebay, for example, prohibits using their content in this manner through its user agreement.
Of course, not all valuable data is located within organizations. In fact, the most valuable information for business intelligence and decision support is often external to the organization. With the emergence of ] and online Web portals, a wide range of business-critical processes (such as ordering) are becoming available online. Unfortunately, very few of these data sources syndicate content in RSS format and very few of these services provide publicly accessible APIs. Mashup editors therefore solve this problem by providing enablers or connectors.


==Mashups versus portals==
== Mashup Camp ==
Mashups and ] are both ] technologies. Portals are an older technology designed as an extension to traditional ]s, 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 markup fragment is generated by a "]", and the portal combines them into a single Web page. Portlets may be hosted locally on the portal server or remotely on a separate 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 ("<code>render</code>" operations on local, ] portlets or "<code>getMarkup</code>" operations on remote, ] portlets). If a submit button is pressed on any portlet on a portal page, it is translated into an update operation on that portlet alone (<code>processAction</code> on a local portlet or <code>performBlockingInteraction</code> on a remote, WSRP portlet). The update is then immediately followed by a read on ''all'' portlets on the page.
Mashups are not just limited to mapping. Mashups jumped into the media spotlight with the first Mashup Camp, which took place in ] on February 20–21, 2006. Co-organized by ] of ] and ], the Camp Agenda covered issues from ''Mashing Wikis'' to ''API Best Practices''. The attendees voted for the best mashup and the winner was ], a mashup by Taylor McKnight and Daniel Westermann-Clark that allows users to choose a city and listen to legally available music from bands playing in town that day and in the future.


Portal technology is about server-side, ] aggregation. It cannot be used to drive more robust forms of application integration such as ].
News sources from CBS News to Newsweek (posted on MSNBC) all took an interest in what mashups can do. The San Jose Mercury News also covered the event. This not only raised awareness in the technical community but also introduced many outside to the new concept of combining multiple technologies.


Mashups differ from portals in the following respects:
A <i>was</i> planned for July 12-13, 2006...


{| class="wikitable"
==Quotes==
|-
! !!Portal!!Mashup
|-
!Classification
|Older technology, extension of traditional Web server model using well-defined approach
|Uses newer, loosely defined "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 content 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
|"]" style: Aggregated content is presented 'side-by-side' without overlaps
|"]" 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 API
|] operations are based on ] architectural principles, but no formal API exists
|-
!Relevant standards
|Portlet behavior is governed by standards ], ] and ], although portal page layout and portal functionality are undefined and vendor-specific
|Base standards are XML interchanged as ] or Web Services. ] and ] are commonly used. More specific mashup standards such as ] are emerging.
|}


The portal model has been around longer and has had greater investment and product research. Portal technology is therefore more standardized and mature. Over time, increasing maturity and standardization of mashup technology will likely make it more popular than portal technology because it is more closely associated with Web 2.0 and lately ] (SOA).<ref>{{cite web | last=Digna | first=Larry | year=2007 | url=http://blogs.zdnet.com/BTL/?p=4912 | title=Gartner: The future of portals is mashups, SOA, more aggregation | publisher=ZDNET | access-date=2009-12-26 | archive-date=2012-04-13 | archive-url=https://web.archive.org/web/20120413031348/http://www.zdnet.com/blog/btl/gartner-the-future-of-portals-is-mashups-soa-more-aggregation/4912 | url-status=dead }}</ref> New versions of portal products are expected to eventually add mashup support while still supporting legacy portlet applications. Mashup technologies, in contrast, are not expected to provide support for portal standards.
"Nowadays, there's a lot of talk about ], web mashups, ], 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


==Business mashups==
"The mash-up part of this equation is the offspring of an environment where application developers see it in their own self-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
Mashup uses are expanding in the business environment. Business mashups are useful for integrating business and data services, as business mashups technologies provide the ability to develop new integrated services quickly, to combine internal services with external or personalized information, and to make these services tangible to the business user through user-friendly Web browser interfaces.<ref>{{cite web | url = http://www.ibm.com/developerworks/lotus/library/mashups-patterns-pt1/ | last=Holt | first=Adams | year=2009 | title = Executive IT Architect, Mashup business scenarios and patterns | publisher=IBM DeveloperWorks}}</ref>


Business mashups differ from consumer mashups in the level of integration with business computing environments, security and access control features, governance, and the sophistication of the programming tools (mashup editors) used. Another difference between business mashups and consumer mashups is a growing trend of using business mashups in commercial ] (SaaS) offering.
"We know we don't have a corner on creativity. There are creative people all around the world, hundreds of millions of them, and they are going to think of things to do with our basic platform that we didn't think of. So the mashup stuff is a wonderful way of allowing people to find new ways of applying the basic infrastructures we're propagating. This will turn out to be a major source of ideas for applying Google-based technology to a variety of applications." Vint Cerf


Many of the providers of business mashups technologies have added ] features.
==See also==


==Architectural aspects of mashups==
* ]
The architecture of a mashup is divided into three layers:
* ]
* Presentation / ]: this is the ] of mashups. The technologies used are ]/], ], ], ].
* ]
* Web Services: the product's functionality can be accessed using API services. The technologies used are ], ], ], ], ].
* ]
* Data: handling the data like sending, storing and receiving. The technologies used are ], ], ].


Architecturally, there are two styles of mashups: Web-based and server-based. Whereas Web-based mashups typically use the user's ] to combine and reformat the data, server-based mashups analyze and reformat the data on a remote ] and transmit the data to the user's browser in its final form.<ref>{{cite web| last=Bolim | first=Michael | year=2005 | pages=22–23 | url=http://bolinfest.com/Michael_Bolin_Thesis_Chickenfoot.pdf | title=End-User Programming for the Web, MIT MS thesis, 2.91 MB PDF }}</ref>
==External links==
{{External links|September 2006}}


Mashups appear to be a variation of a ].<ref>Design Patterns: Elements of Reusable Object-Oriented Software ({{ISBN|0-201-63361-2}}) by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides</ref> That 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 ]s).
===Articles about mashups===
* One of the best introductions to Mashups by Duane Merrill, published by IBM developerWorks
* New York Times article on News.com article by Katie Kafner which talks about the interesting but, yet, unfundable nature of most mashups
* ZDNet article by David Berlind
* The Guardian article
* Businessweek article
* An article by Nature's Declan Butler on the emerging applications of the Semantic Web to science and some of the drawbacks (subscription required)
* Reviews of some of the latest science mashups and discussion of some possible future directions
* An NPR audio and written discussion


Mashups can be used with software provided as a service (]).
===Sites about mashups===
* John Musser's list of mashups, APIs, and a blog
* The Open Directory for Web Mashups & Web 2.0 APIs
* Blog entries on mashups from Business Week
* Subscribe to mashup feeds to receive alerts when new mashups are released
* Master index of Open Source GIS applications.
* Mashups resource covering Software and Music Mashups


After several years of standards development, mainstream businesses are starting to adopt ]s (SOA) to integrate disparate data by making them available as discrete Web services. Web services provide open, standardized ]s to provide a unified means of accessing information from a diverse set of platforms (]s, ]s, ]). These Web services can be reused to provide completely new services and applications within and across organizations, providing business flexibility.
===Mashup-related events===
* supported by to encourage mashup developers and library users worldwide to think creatively about ways in which data from libraries might be combined and made visible in innovative and interesting ways.
* Organized by and Doug Gold for mashup developers, mashup API providers, other mashup enablers (eg: tools), and others with an interest in participating in the now-evolving mashup ecosystem.
* A three-day Microsoft-organized event with the tagline "Mix the next Web now."
* Remix the Web for Social Change
* CSCW 2006 Conference Workshop exploring mashups and CSCW research.


==See also==
* ]
* ]
* ]
* ]
* ]
* ]
* ]
* ]


==References==
]
{{Reflist}}
]
]


==Further reading==
]
* Ahmet Soylu, Felix Mödritscher, Fridolin Wild, Patrick De Causmaecker, Piet Desmet. 2012 . Program: Electronic Library and Information Systems 46 (4): 383–428.
]
* Endres-Niggemeyer, Brigitte ed. 2013. Semantic Mashups. Intelligent Reuse of Web Resources. Springer. {{ISBN|978-3-642-36402-0}} (Print)
]

]
{{Web syndication}}
{{Web interfaces}}
{{Intellectual_property_activism}}
{{Authority control}}

{{DEFAULTSORT:Mashup (Web Application Hybrid)}}
]
]
]
]
]

Latest revision as of 19:32, 1 June 2024

Web application that combines content from more than one source in a single graphical interface For other uses, see Mashup (disambiguation).
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Mashup" web application hybrid – news · newspapers · books · scholar · JSTOR (January 2013) (Learn how and when to remove this message)

A mashup (computer industry jargon), in web development, is a web page or web application that uses content from more than one source to create a single new service displayed in a single graphical interface. For example, a user could combine the addresses and photographs of their library branches with a Google map to create a map mashup. The term implies easy, fast integration, frequently using open application programming interfaces (open API) and data sources to produce enriched results that were not necessarily the original reason for producing the raw source data. The term mashup originally comes from creating something by combining elements from two or more sources.

The main characteristics of a mashup are combination, visualization, and aggregation. It is important to make existing data more useful, for personal and professional use. To be able to permanently access the data of other services, mashups are generally client applications or hosted online.

In the past years, more and more Web applications have published APIs that enable software developers to easily integrate data and functions the SOA way, instead of building them by themselves. Mashups can be considered to have an active role in the evolution of social software and Web 2.0. Mashup composition tools are usually simple enough to be used by end-users. They generally do not require programming skills and rather support visual wiring of GUI widgets, services and components together. Therefore, these tools contribute to a new vision of the Web, where users are able to contribute.

The term "mashup" is not formally defined by any standard-setting body.

History

The broader context of the history of the Web provides a background for the development of mashups. Under the Web 1.0 model, organizations stored consumer data on portals and updated them regularly. They controlled all the consumer data, and the consumer had to use their products and services to get the information.

The advent of Web 2.0 introduced Web standards that were commonly and widely adopted across traditional competitors and which unlocked the consumer data. At the same time, mashups emerged, allowing mixing and matching competitors' APIs to develop new services.

The first mashups used mapping services or photo services to combine these services with data of any kind and therefore to produce visualizations of data. In the beginning, most mashups were consumer-based, but recently the mashup is to be seen as an interesting concept useful also to enterprises. Business mashups can combine existing internal data with external services to generate new views on the data. There was also the free Yahoo! Pipes to build mashups for free using the Yahoo! Query Language.

Types of mashup

There are many types of mashup, such as business mashups, consumer mashups, and data mashups. The most common type of mashup is the consumer mashup, aimed at the general public.

  • Business (or enterprise) mashups define applications that combine their own resources, application and data, with other external Web services. They focus data into a single presentation and allow for collaborative action among businesses and developers. This works well for an agile development project, which requires collaboration between the developers and customer (or customer proxy, typically a product manager) for defining and implementing the business requirements. Enterprise mashups are secure, visually rich Web applications that expose actionable information from diverse internal and external information sources.
  • Consumer mashups combine data from multiple public sources in the browser and organize it through a simple browser user interface. (e.g.: Wikipediavision combines Google Map and a Misplaced Pages API)
  • Data mashups, opposite to the consumer mashups, combine similar types of media and information from multiple sources into a single representation. The combination of all these resources create a new and distinct Web service that was not originally provided by either source.

By API type

Mashups can also be categorized by the basic API type they use but any of these can be combined with each other or embedded into other applications.

Data types

Functions

Mashup enabler

In technology, a mashup enabler is a tool for transforming incompatible IT resources into a form that allows them to be easily combined, in order to create a mashup. Mashup enablers allow powerful techniques and tools (such as mashup platforms) for combining data and services to be applied to new kinds of resources. An example of a mashup enabler is a tool for creating an RSS feed from a spreadsheet (which cannot easily be used to create a mashup). Many mashup editors include mashup enablers, for example, Presto Mashup Connectors, Convertigo Web Integrator or Caspio Bridge.

Mashup enablers have also been described as "the service and tool providers, that make mashups possible".

History

Early mashups were developed manually by enthusiastic programmers. However, as mashups became more popular, companies began creating platforms for building mashups, which allow designers to visually construct mashups by connecting together mashup components.

Mashup editors have greatly simplified the creation of mashups, significantly increasing the productivity of mashup developers and even opening mashup development to end-users and non-IT experts. Standard components and connectors enable designers to combine mashup resources in all sorts of complex ways with ease. Mashup platforms, however, have done little to broaden the scope of resources accessible by mashups and have not freed mashups from their reliance on well-structured data and open libraries (RSS feeds and public APIs).

Mashup enablers evolved to address this problem, providing the ability to convert other kinds of data and services into mashable resources.

Web resources

Of course, not all valuable data is located within organizations. In fact, the most valuable information for business intelligence and decision support is often external to the organization. With the emergence of rich web applications and online Web portals, a wide range of business-critical processes (such as ordering) are becoming available online. Unfortunately, very few of these data sources syndicate content in RSS format and very few of these services provide publicly accessible APIs. Mashup editors therefore solve this problem by providing enablers or connectors.

Mashups versus portals

Mashups and portals are both content aggregation technologies. Portals are 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 markup fragment 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 a separate 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, it is translated into an update operation on that portlet alone (processAction on a local 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 two-phase commit.

Mashups differ from portals in the following respects:

Portal Mashup
Classification Older technology, extension of traditional Web server model using well-defined approach Uses newer, loosely defined "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 content 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 API CRUD operations are based on REST architectural principles, but no formal API exists
Relevant standards Portlet behavior is governed by standards JSR 168, JSR 286 and WSRP, although portal page layout and portal functionality are undefined and vendor-specific Base standards are XML interchanged as REST or Web Services. RSS and Atom are commonly used. More specific mashup standards such as EMML are emerging.

The portal model has been around longer and has had greater investment and product research. Portal technology is therefore more standardized and mature. Over time, increasing maturity and standardization of mashup technology will likely make it more popular than portal technology because it is more closely associated with Web 2.0 and lately Service-oriented Architectures (SOA). New versions of portal products are expected to eventually add mashup support while still supporting legacy portlet applications. Mashup technologies, in contrast, are not expected to provide support for portal standards.

Business mashups

Mashup uses are expanding in the business environment. Business mashups are useful for integrating business and data services, as business mashups technologies provide the ability to develop new integrated services quickly, to combine internal services with external or personalized information, and to make these services tangible to the business user through user-friendly Web browser interfaces.

Business mashups differ from consumer mashups in the level of integration with business computing environments, security and access control features, governance, and the sophistication of the programming tools (mashup editors) used. Another difference between business mashups and consumer mashups is a growing trend of using business mashups in commercial software as a service (SaaS) offering.

Many of the providers of business mashups technologies have added SOA features.

Architectural aspects of mashups

The architecture of a mashup is divided into three layers:

Architecturally, there are two styles of mashups: Web-based and server-based. Whereas Web-based mashups typically use the user's web browser to combine and reformat the data, server-based mashups analyze and reformat the data on a remote server and transmit the data to the user's browser in its final form.

Mashups appear to be a variation of a façade pattern. That 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 APIs).

Mashups can be used with software provided as a service (SaaS).

After several years of standards development, mainstream businesses are starting to adopt service-oriented architectures (SOA) to integrate disparate data by making them available as discrete Web services. Web services provide open, standardized protocols to provide a unified means of accessing information from a diverse set of platforms (operating systems, programming languages, applications). These Web services can be reused to provide completely new services and applications within and across organizations, providing business flexibility.

See also

References

  1. Fichter, Darlene. What Is a Mashup? (PDF). Retrieved 12 August 2013.
  2. "mash-up". merriam-webster.com. 31 May 2024.
  3. "Enterprise Mashups: The New Face of Your SOA". SOA WORLD MAGAZINE. Archived from the original on 2009-06-05. Retrieved 2010-03-03. The term mashup isn't subject to formal definition by any standards-setting body.
  4. ^ Clarkin, Larry; Holmes, Josh (14 January 2009). "Enterprise Mashups". MSDN Architecture Journal. MSDN Architecture Center.
  5. Sunilkumar Peenikal (2009). "Mashups and the enterprise" (PDF). MphasiS - HP. Archived from the original (PDF) on 2013-06-02. Retrieved 2010-02-27.
  6. "Enterprise Mashups: The New Face of Your SOA". SOA WORLD MAGAZINE. Archived from the original on 2009-06-05. Retrieved 2010-03-03. A consumer mashup is an application that combines data from multiple public sources in the browser and organizes it through a simple browser user interface.
  7. Digna, Larry (2007). "Gartner: The future of portals is mashups, SOA, more aggregation". ZDNET. Archived from the original on 2012-04-13. Retrieved 2009-12-26.
  8. Holt, Adams (2009). "Executive IT Architect, Mashup business scenarios and patterns". IBM DeveloperWorks.
  9. Bolim, Michael (2005). "End-User Programming for the Web, MIT MS thesis, 2.91 MB PDF" (PDF). pp. 22–23.
  10. Design Patterns: Elements of Reusable Object-Oriented Software (ISBN 0-201-63361-2) by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

Further reading

Web syndication
History
Blogging
Podcasting
Vlogging
Web syndication technology
Types
Technology
General
Features
Mechanism
Memetics
RSS
Social
Standard
Form
Media
Alternative media
Micromedia
Related
Web interfaces
Server-side
Protocols
Server APIs
Apache modules
Topics
Client-side
Browser APIs
Web APIs
WHATWG
W3C
Khronos
Others
Topics
Related topics
Intellectual property activism
Issues
Concepts
Movements
Organizations
Pro-copyright
Pro-copyleft
People
Documentaries
Categories: