You are on page 1of 22

Mashups

Introduction, Techniques and Applications

Kateryna Putienki

Snezana Nanevska

Teresa Jimenez Arreola


MASHUPS

Table of Contents 
Data warehouses and Mashups ................................................................................................... 4 

Architecture................................................................................................................................... 5 
API/content providers .................................................................................................................................5 
The mashup site...........................................................................................................................................5 
The client's Web browser........................................................................................................................... 8 
Client‐side vs Server‐side mashups ............................................................................................................ 8 
Architecture models .................................................................................................................................. 10 

Mashups auxiliary technologies................................................................................................. 12 


Ajax............................................................................................................................................................. 12 
SOAP and REST .......................................................................................................................................... 12 
Screen scraping.......................................................................................................................................... 13 
JSON ........................................................................................................................................................... 14 
RSS and ATOM ........................................................................................................................................... 14 

Mashup Application Types ........................................................................................................ 15 


Mapping mashups ..................................................................................................................................... 15 
Video and photo mashups ........................................................................................................................ 15 
Search and Shopping mashups................................................................................................................. 15 
News mashups........................................................................................................................................... 16 
Enterprise mashup..................................................................................................................................... 16 

Risk and challenges..................................................................................................................... 18 

Conclusion ................................................................................................................................... 20 

References.................................................................................................................................... 21 

2  Aristotle University of Thessaloniki 
MASHUPS

Introduction 

There are many definitions of mashup technology. For example, San Murugesan (2007) defines mashups
as: “A mashup is a Web page or Web site that combines information and services from multiple sources
on the Web”[1]. Another definition provided by Wikipedia is: “In web development, a mashup is a web
application that combines data from more than one source into a single integrated tool”[2].

The term Mashup is borrowed from the pop music scene, where a mashup is a new song that is mixed
from the vocal and instrumental tracks from two different source songs. Similar to music mashups, where
artists combine vocals and music from different sources, Web mashups combine information and/or
complementary functionality from multiple Web sites or Web applications. In other words mashup is
about connecting, collecting, and mashing up anything on the Web as well as data from other backend
systems.

Mashup is not about simply embedding data from another site. For example, a site that allows embedding
a YouTube video is not a mashup site. A mashup site must access third party data and process that data to
add value for the site's users.

A mashup’s value isn’t in the data or services itself. The power of mashup is coming with a better user
interface for the data, or with the ability to combine data from several sources in interesting or significant
ways. Most mashups do more than simply integrate services and content. Sites that do mashups typically
add value. They benefit users in a way that's different and better than the individual services they
leverage.

All in all, mashups are used for creation of new Web applications that are providing value added new
features, knit together multiple services and provide rich user interfaces.

The user generally accesses the mashup by using a web browser displaying a web page containing the
mashup.

Mashups are easy and quickly to create even by people who are technically less-capable.

Aristotle University of Thessaloniki  3 
MASHUPS

Data warehouses and Mashups 

Business intelligence is a term associated with data warehousing. Business intelligence refers to the
information that is available for the enterprise to make decisions on. This information can be extracted
from data warehouses but also from mashups[3].

Datawarehouses and Mashup are both tools needed for BI, but the way they are implemented is different.
Data Warehouses was defined by Bill Inmon in 1990 as : "A subject-oriented, integrated, time-variant
and non-volatile collection of data in support of management's decision making process"[4]. He defined
the terms in the sentence as follows:

 Subject Oriented: Data that gives information about a particular subject instead of about a
company's ongoing operations.
 Integrated: Data that is gathered into the data warehouse from a variety of sources and merged
into a coherent whole.
 Time-variant: All data in the data warehouse is identified with a particular time period.
 Non-volatile: Data is stable in a data warehouse. More data is added but data is never removed.
This enables management to gain a consistent picture of the business.

Mashups approach has a benefit: it's all real-time, the system can send out sub-queries to whatever
system is needed, even though, data warehouses can also been incorporated to this Mashup approach, but
very often some portions of the data need to be more real-time[5].

Mashups have also another benefit over data Warehouses: being an abstraction layer is also a good thing
because you can build your applications according to a schema. Then you can make changes over time
without affecting the applications. So if initially you pointed all your data services at your data
warehouse, and you find out later that's not real-time enough, you can change the data sets that are being
mashed up, so one of them hits an operational data source.

In conclusion, Mashups are not the exactly the replacement for data warehouse, since they work basically
with online data, while data warehouses store stable and historical pieces of information, but both tools
can be combined in the context of BI in order to deliver an added value, needed for the decision making
process.

4  Aristotle University of Thessaloniki 
MASHUPS

Architecture   

Mashup architecture embraces three parts that are logically and physically separated:

API/content providers
API/content providers are the providers of the contents that are mashed. Data providers often expose their
content through web-protocols as REST and RSS/Atom in order to provide data retrieval. But there are
also some interesting data sources that do not expose API’s, in this case mashups extract the content with
a screen scraping technique.

The mashup site


Mashup site is a place where mashup is hosted and it is not necessarily where the mashup is executed.

Mashups may be implemented either as server or as client side applications.

When implemented on the server side mashups are using server-side dynamic content generation
technologies like Java servlets, CGI, PHP or ASP. On the other side mashed content can be generated
directly within the client's browser through client-side scripting (that is, JavaScript) or applets.

Server-side mashups integrate services and content on the server. The server acts as a proxy between a
web application on the client, typically a browser, and the other web site that takes part in the mashup. In
a server-side mashup, all the requests from the client go to the server, which acts as a proxy to make calls
to the other web site. So, in a server-side mashup, the work is pushed from the web application client to
the server.

In general, a server-side mashup works as illustrated in the Figure 1[6].

Aristotle University of Thessaloniki  5 
MASHUPS

Figure 1 How a Server-Side Mashup Works

Explanation how a mashup server-side works [6]:

1. A user generates an event in the client, typically a web page in a browser. The event triggers a
JavaScript function in the client.
2. The client makes a request to the server in your web site. The request is typically an Ajax request
in the form of an XmlHttpRequest object.
3. A web component such as a servlet receives the request and calls a method on a Java class or on
multiple Java classes. The class or classes encapsulate the code to connect and interact with the
other web site in the mashup. This class, referred to here as the proxy class, could be a Java
Platform Enterprise Edition (Java EE) component or just a plain Java class that you write.
4. The proxy class processes the request, augments it as needed, and opens a connection to the
mashup site, that is, the web site that provides the needed service.

6  Aristotle University of Thessaloniki 
MASHUPS

5. The mashup site receives the request, usually in the form of an HTTP GET or HTTP POST,
processes the request, and returns data to the proxy class.
6. The proxy class receives the response and may transform it to an appropriate data format for the
client. It can also cache the response for future request processing.
7. The servlet returns the response to the client.
8. A callback function exposed in the XmlHttpRequest updates the client view of the page by
manipulating the Document Object Model (DOM) that represents the page.

Client-side mashups integrate services and content on the client. They mash up directly with the other
web site's data or functionality. For example, in a client-side mashup, the client might make requests
directly to the other web site.
In general, a client-side mashup works as illustrated in the picture below.

Explanation how a mashup server-side works [6]:

Aristotle University of Thessaloniki  7 
MASHUPS

1. The browser makes a request to the server in your web site for the web page.
2. The server on your web site loads the page into the client. The page usually includes a JavaScript
library from the mashup site -- for example, from a site such as Google Maps -- to enable using
the mashup site's service. If the page does not include a JavaScript library, you can write a
custom JavaScript function to facilitate the mashup.
3. Some action in the browser page calls a function in the JavaScript library provided by the
mashup site, or it calls the custom JavaScript function that you created. The function creates a
<script> element that points to the mashup site.
4. Based on the <script> element, a request is made to the mashup site to load the script.
5. The mashup site loads the script. Typically, a local callback in the browser page is then executed
with a JavaScript Object Notation (JSON) object sent as a parameter.
6. The callback function updates the client view of the page by manipulating the DOM that
represents the page.

The client's Web browser

This is where the application is rendered graphically and where user interaction takes place.

Client-side vs Server-side mashups


[6]

Client-Side Mashups

Advantages Disadvantages

Can be easy to implement. If the site you want Constraints, such as browsers only allowing
to mashup with provides a JavaScript library two or three XMLHttpRequests to execute
to facilitate the use of its service, you simply concurrently, can limit performance.
reference the JavaScript library and include it
in your web page. You then provide the
appropriate code in the web page to use the
functions in the library.

8  Aristotle University of Thessaloniki 
MASHUPS

You don't need to provide a server-side Provides no buffer to shield the client from
component. problems in the other web site.

Can perform better than a server-side mashup Needs to handle data of any size that the other
because a service request and response go web site returns. Can't rely on a server-side
directly from the browser to the mashup server component to send data to the client in smaller
and back. chunks or send only the portion of the data
that the client needs.

Can reduce processing load on the server Needs to handle data in any format that the
because a service request and response is not other web site returns. Can't rely on a server-
passed through a server-side proxy. side component to transform or otherwise
manipulate the data before it is sent to the
client.

You don't need a custom plug-in to implement It's typically more difficult to handle security
the approach. requirements on the client.

You cannot make concurrent and


asynchronous calls to many data sources at the
same time from the client.

Server-Side Mashups

Advantages Disadvantages

The Java EE and Java SE platforms provide You need to provide a server-side proxy.
many libraries that make it easy to access
other web sites from the server.

The proxy used in a server-side mashup can A service request and response needs to go
serve as a buffer between the client and the from the browser to the server-side proxy, and
other web site. then from the server-side proxy to the mashup
server. The response needs to make the same
two network hops in reverse order before
arriving at the client. This can result in a
significant delay in receiving the response.

Aristotle University of Thessaloniki  9 
MASHUPS

The server can send data to the client in You need to protect the server-side proxy
smaller chunks or send only the portion of the from unauthorized use. For example, suppose
data that the client needs. you mash up with a service that requires the
user to pay a fee. A malicious user might be
able to use the server-side proxy to access the
service and in this way avoid paying the fee.

Enable you to cache data returned by the


service.

Allow you to transform the data returned by a


service into a different format.

Allow you to manipulate the data returned by


a service or combine it with other content
before returning it to the client.

You can handle security requirements more


easily on the server.

You can make concurrent and asynchronous


calls to many data sources at the same time
from the server.

Often mashups use a combination of both server and client-side logic to achieve their data
aggregation.

The choice of the mashup architecture needs to be considered together with the aim of using mashups
technology.

Architecture models
There are 2 models for combining data sources on Mashup platforms. The most common one is called
‘pipes and filters’ pattern. On this approach each component of the query is connected in a sequential way
so that the output of component A is the input of component B. Components execute operations such as
accessing to sources, filtering input records and/or merging input feeds. The most mentioned advantage of
this approach is simplicity.

10  Aristotle University of Thessaloniki 
MASHUPS

On the other hand, Mashup that implements the data federation pattern consists of metadata views of the
data sources and the relationships between such views [7]. The relationships implemented are unions,
joins, selections, agregations etc. The views are already normalized so there is no need of having
additional components to perform transformations. An important advantage of the data federation is that
the user executes a query and the system automatically computes all the possible execution plans to solve
it, taking into account the query restrictions of the data sources and constraints (performance, security,
availability etc.) at run-time, therefore choosing efficiently the best sequence to perform the query.

Comparing Mashup Patterns - Nature, Advantages and Disadvantages[8]:


Pipes and Filters Mashups Data Federation Mashups

Procedural Declarative
Data Flow Perspective (Y-shaped) User / Query Perspective (Inverted Y-shaped)
Physical and Logical Model are same One Logical Model, Many Possible Physical
Models
WYSIWYG – User decides both what and how User gets what they want, System decides how

Advantages / Disadvantages[8]:
Pipes and Filters Mashups Data Federation Mashups
Simple, Familiar, Intuitive Elegant Model-based Design
- almost anyone can design a mashup - preferable to have data/relation concepts
Inflexible Very Flexible
- Need to anticipate uses or build one for each - handles multiple use cases (within
- Anticipate constraints, scalability needs constraints)
- Adding new sources requires redesign - possible to progressively modify query
- trigger alternate sources if needed
Performance must be designed-in Performance optimized dynamically at run-
time (system or user)
Governance can be issue - many versions, Fewer, more robust, multi-use mashups with
harder to manage service level variable control on service levels, performance

Aristotle University of Thessaloniki  11 
MASHUPS

Mashups auxiliary technologies 

Ajax

Ajax is not a specific technology but may rather be called a web application model. The main idea of
Ajax is the asynchronous loading and background updating of the page content. Several technologies are
involved in order to load and represent content in such a way:

• XHTML and CSS for style presentation


• The Document Object Model (DOM) API exposed by the browser for dynamic display and
interaction
• Asynchronous data exchange, typically of XML data
• Browser-side scripting, primarily JavaScript

When used together, the aim of these technologies is to create a smooth, cohesive Web experience for the
user by exchanging small amounts of data with the content servers rather than reload and re-render the
entire page after some user action. So that user even doesn’t notice that some updating are taking place,
but feels almost like in desktop application. Ajax may be a base for constructing of engines for mashups.
For this various Ajax toolkits and libraries (such as Sajax or Zimbra), usually implemented in JavaScript,
may be used.

SOAP and REST

SOAP (Simple Object Access Protocol) and REST are protocols for communication with remote services
which don’t depend on the concrete platform. SOA (Service- Oriented Architecture) paradigm assumes
that client doesn’t need to know the underlying platform as soon as service’s functionality is completely
covered by description of the request/ response messages.

12  Aristotle University of Thessaloniki 
MASHUPS

SOAP is a fundamental technology of the Web Services paradigm (for interoperability of message
exchange). Two main components of SOAP specification are: the first is use of an XML message format
for platform-independent encoding, and the second is the message structure, which consists of a header
and a body. The header represents contextual information that is not specific to the application payload ,
for example, authentication information. The SOAP message body represents the application-specific
payload. SOAP APIs for Web services are described by WSDL documents, which themselves describe
what operations a service presents, the format for the messages that it accepts (using XML Schema), and
how to address it. SOAP messages are mainly passed over HTTP, although other protocols are equally
viable.

REST (Representational State Transfer) a method of Web-based communication, basing on existing,


controlled by W3C standards as HTTP, URI (Uniform Resource Identifier), RDF (Resource Description
Format) and XML. The main attractiveness of the REST is in its simplicity. REST fundamentally
supports Scraping is only a few operations (that is POST, GET, PUT, DELETE) that are applicable to all
pieces of information. Comparing to SOAP, the main emphasis in REST is not on the execution of remote
services but on the access to resources resources. For example, a resource record for an employee is
identified by a URI, retrieved through a GET operation, updated by a PUT operation, and so on.

Screen scraping

Lack of API from web-resources sometimes leads to the situation of so called screen scraping- the process
of using software tools to parse and analyze content that was written and is easily understandable for
human in order to extract semantic data structures, representative for that information, that can be used
and for machine manipulation. A lot of mashups still use screen scraping technology for data acquisition.

For many reasons screen scrapping is considered to be an inelegant solution. One of them is that, unlike
APIs with interfaces, scraping has no specific programmatic contract between content-provider and
content-consumer. Programmers, using scraping, must design their tools around a model of the source
content and hope that the provider will stick to this model of presentation, but now web sites have a
tendency to overhaul their look-and-feel periodically to remain fresh and stylish. Another issue is the lack
of re-usable screen-scraping toolkit software, called as scrAPIs. The dearth of such APIs and toolkits is
largely due to the fact that every specific application has specific data representation which is in need of
individual scraping tool.
Aristotle University of Thessaloniki  13 
MASHUPS

JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy both for humans to
read and edit as well as for computers to parse and generate. It is based on a subset of the JavaScript
Programming Language. JSON is a text format that is completely language independent but uses
conventions that are familiar to programmers of the languages like C, C++, C#, Java, JavaScript, Perl,
Python, and many others.

JSON is built on two structures:

• A collection of name/value pairs.


• An ordered list of values.

These are universal data structures. Virtually all modern programming languages support them in one
form or another.

RSS and ATOM

RSS (Rich Site Summary, Really Simple Syndication) is a format for delivering regularly changing web
content. Many news-related sites, weblogs and other online publishers syndicate their content as an RSS
Feed to whoever wants it. In this context, syndication implies that a Web site that wants to distribute
content creates an RSS document and registers the document with an RSS publisher. An RSS-enabled
client can then check the publisher's feed for new content and react to it in an appropriate manner. RSS
has been adopted to syndicate a wide variety of changing content, ranging from news articles and
headlines, wiki pages, project updates and even audiovisual data such as radio programs. Version 1.0 is
RDF(Resource Description Framework) -based, but the most recent, version 2.0, is not.

Atom is a newer, but similar, syndication protocol. It is a proposed standard at the Internet Engineering
Task Force (IETF) and seeks to maintain better metadata than RSS, it is much more robust and feature-
reach (timestamp associated with changed feeds, auto discovery, more descriptive fields etc.) .

These syndication technologies extremely fit mashups that aggregate event-based or update-driven
content, such as news and webblogs combinations.

14  Aristotle University of Thessaloniki 
MASHUPS

Mashup Application Types   

As the technology is becoming more and more popular, many types of mashups appear every day. Among
this variety four main directions may be differentiated. They are:

Mapping mashups

Nowadays data about location of all possible places and activities is available on the web and it sounds
naturally and reasonable to represent this information with a map. Appearance of Google Map’s Api
incredibly increased the popularity of mapping mashups. Everything now is being put on map: starting
from houses, hospitals, shops and etc location and ending with places of nuclear disasters and exact places
of crimes with descriptions. As an example of this type may be considered a Wiki crime web-page
http://www.wikicrimes.org - a mashup where Internet users can report crimes by placing pins on a
GoogleMaps based map. The Web site classifies crimes as robbery, theft, or other by pin color.

Video and photo mashups

Photo sharing web-sites, providing API, like Flickr also allowed interesting mashups to be invented. As
long as every picture on flickr has own metadata (who taken the picture, what is it about, date,
conditions), it allows to mash pictures in very interesting ways. For, example, lyrics of a song may be
represented in a picture view or even whole web-pages with news may be presented as collages of
pictures. Also if considering the place where image was taken- interesting visualizations become
available. For example, http://flickrvision.com is a great combination of google map and flickr which
shows last uploaded on the flickr picture in the area, chosen on the map provided.

Search and Shopping mashups

This is probably the earliest usage of mashups technology, which existed even before the term “mashup”
appeared.

Aristotle University of Thessaloniki  15 
MASHUPS

At the beginning, there were only comparison tools that were using B2B technologies with screen-
scraping in order to collect information from different resources and to represent in on the one page.
Then, with appearance of the web api, this service became essential and extremely popular. Now almost
all big selling web-sites provide their own api which allows translation of their content to the different
pages. Information is integrated and presented in the most convenient way for consumer, logically
connecting things that most likely be used simultaneously. As an example of this type maybe be
considered Travature web page http://www.travature.com - a travel portal that has integrated airfare
search engines, wiki travel guides and hotel reviews. It also allows the user to share photos and discuss
experiences with other travelers. The pages makes travel planning much more convenient.

News mashups

RSS feeds are widely used by the news making companies in order to distribute information along the
web. News maybe divided by topics, types, dates, people involved etc. That makes possible for mashups
developers and users to create highly personalized news web-pages, interesting for particular person or
group of people. Another interesting idea is a combination of news with pictures and maps, allowing
enriched information representation.

There are many other mashups, not covered by this classification, but the aim was to represent the most
popular use cases of mashups technology.

Enterprise mashup

According to an Economist Intelligence Unit survey from January 2007, 64% of companies are already
adopting mashups or plan to within the next two years [8].

So far we have defined mashups and seen some of the potential and most popular use cases. But when
talking about an enterprise mashup there are other requirements inherent in an enterprise that need to be
addressed, including security, governance, compliance and integration with other tools. Hence, enterprise
mashups differentiate from non enterprise mashups in nature of the sources and the need for enterprise-
grade security/governance. In order these requirements to be satisfied a server based mashup solution is
needed.

16  Aristotle University of Thessaloniki 
MASHUPS

These requirements are highlighting the role of IT in an enterprise mashup initiative. Implementation of
successful enterprise mashup solutions is the same as any other enterprise solution; a proper, enterprise-
capable architecture is needed. IT establishes the mashup server and connects the mashup server to
security, governance and monitoring tools.

An enterprise can use mashups internally to collect information from different sources and combine it in
intelligent ways to help people make smarter decisions. For example, executives can use mashups to gain
a deeper understanding of customers and sales, and thus to make better decisions.

Behind the internal usage of mashups, mashups also find application in areas such as payroll, customer
relationship management, logistics, procurement, marketing, and e-commerce. By opening up data and
services that mashup creators can use, enterprises can gain strategic advantages. For example, the
mashed-up applications can divert new users to their sites, or mashup creators could develop a new Web
site that provides better interfaces to an enterprise’s existing Web site, which in turn could bring more
visitors to the enterprise’s site.

The Bottom Line of Enterprise Mashups


The benefits of enterprise mashups will vary according to the usage of the mashup. Some generalized
benefits of mashups could be: 'speed', 'scale', and 'scope'.
1. Faster answers - Mashups provide the user with access to both internal and external information
without a middleman. That’s why mashups provide information very fast almost faster than any
other information management technique. For business scenarios, where performance is crucial,
mashups provide the fastest way to access critical business information.
2. Improved resource use - Mashups serve business users with information from different sources
and previously underutilized data sources become more relevant.
3. New opportunities - Because mashups let users combine data in new ways, they can support
processes or decisions that were untenable even in the recent past.

Aristotle University of Thessaloniki  17 
MASHUPS

Risk and challenges  

Mashups have grown in complexity and are becoming popular within corporations too. However beside
benefits of implementing mashups there are some risks that need to be considered. When talking about
risks it is mainly addressed to enterprise mashups and especially in terms of reliability and security.

Mashups incorporate a range of different media information and this data could require a new strategy for
protecting data from online threats, John Hunt [9] asserted that the use of mashup technology requires
businesses to use more sophisticated techniques of identity authentication and authorisation because of
the range of systems they entail.

Many mashups share only text and they risk of including incorrect or copyrighted data. Though, as
mashups become more complex, they've begun incorporating computer code from multiple sources. Here
is one example given by Erica Naone (2008) [10]: “a real-estate company might want a mashup to work
with listings from an internal database. The mashup might run the listings through third-party tools for
comparison with competitors' prices in the same zip codes, and then use an additional third-party tool to
map all the houses on the market. Without security safeguards, this mashup could make the company's
internal database vulnerable to malicious code in any of those third-party tools”.

Enterprises that are using mashup applications should also be aware of the following risks and limitations
when choosing dependable services:

Dependency on services

Creating dependency on external services is one of the main risks when implementing enterprise mashup.
The terms of service agreement should be carefully considered before creating dependency in order to
protect company’s internal data. Using third party’s tools may cause a problem when the company
embeds code provided by the service provider, the same-origin policy no longer offers any protection, and
the embedded code likely has access to company’s information.

Also there is a risk that the service might not provide exactly what your application needs and there is no
guarantee of future service availability.

18  Aristotle University of Thessaloniki 
MASHUPS

Loss of data fidelity

In the process of presenting the data, it is possible to “wrap” users view and possibly create wrong
impression, because the mashup will try to fit the data in the limitations of the presentation surface.

Uncontrolled consumerization

One simple example of uncontrolled consumerization could be an employee uploading corporate data into
a public mashup tool. In order to protect the company from uncontrolled action the company needs to
implement a mature process for governing the use of services that will embrace the process of mashup
creation and consumption as well.

Besides the risks mentioned before, mushup implementations may face the following challenges:

Deconflicting the two major mashup models[3].On one hand, mashups are being created and employed in
a wild way, with users adding them to their Facebook profiles, blogs etc .On the other hand, Enterprise
mashup tools try to add missing enterprise context like security, support for local SOAs, and so on, as
well as a mashup development model. There is also a skill and open/closed barrier between these two
approaches that tends to prevent the movement or migration from model to the other.

Too many widget formats.[3] Microsoft and Google have their own gadget models, NetVibes has the
compelling Universal Widget Architecture (UWA), and OpenAjax has no component model per se but
vital strategies for making Web parts work together in the same mashup.

Not enough Web services exist in our enterprises or on the Web[3]. While the number of open APIs on
the Internet continues to grow quickly (431 by last count according to Programmable Web), there just
aren't enough Web services available to supply the data and back-end functionality to mashups.

Security and identity need to be sorted out[3]. The most useful mashups will involve Web-based
creations that are powered with our personal and business information

No common creation metaphor[3] some widgets now have configuration popups or easy code generators
to get what you need done without needing to be a Javascript expert. However this is a far cry from
having a development model that is generally well understood by most people and well documented

Aristotle University of Thessaloniki  19 
MASHUPS

Conclusion 

Starting from the static pages representation, where information was centralized, user was acting only as
information receiver, searching thousands of web-pages manually in order to find information needed,
nowadays web is rapidly changing, providing user with personalized, interactive, multimedia
environment.

Due to the accelerate increase of information available on the web the new challenge is to filter and
retrieve information in order to provide user with meaningful results. In respond to this need mashup
technology has been developed giving the user the possibility to access all relevant content through one
application. Mashups allow combining heterogeneous data in order to provide user with highly
personalized information access. It is not user-generated content; it is user-controlled content that really
does put control into the hands of the user.

Starting with entertainment orientation mashing text, music and photos it is now becoming an important
enterprise solution in improving data access, collection and organization. Enterprises are using mashups
for internal purposes, simplifying the decision making process. Mashups are also becoming more and
more involved in many business areas as: payroll, customer relationship management, logistics,
procurement, marketing, e-commerce etc.

The majority of area experts predict wide spreading of mashup technology all over the web in the nearest
future.

20  Aristotle University of Thessaloniki 
MASHUPS

References 

[1] "IEEE Xplore - Login." IEEE Xplore: Guest Home Page. 01 Feb. 2009
<http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04287373/>.

[2]Wikipedia

[3] "Data services mashups emerge for SOA." Service-Oriented Architecture (SOA) technology resources
- SearchSOA.com. 03 Feb. 2009
<http://searchsoa.techtarget.com/news/interview/0,289202,sid26_gci1315604,00.html>.

[4] Reed, Michael. "A Definition of Data Warehousing." Intranetjournal. Intranetjournal. 2 Feb. 2009
<http://www.intranetjournal.com/features/datawarehousing.html>.

[5] Lopez, Javier, Alberto Pan, Fernando Bellas, and Paula Montoto. "Towards a Reference Architecture
for Enterprise Mashups." The Distributed Group's Home Page. Information and Communications
Technology Department, University of A Coruña. 03 Feb. 2009 <http://www.tdg-
seville.info/CfP/Zoco/zoco08/resources/Lopez.pdf>.

[6] "Mashup Styles, Part 1: Server-Side Mashups." Developer Resources for Java Technology. 04 Feb.
2009 <http://java.sun.com/developer/technicalArticles/J2EE/mashup_1/#fig1/>.

[7] "Choosing the Right Mashup Model." Denodo Technologies. Denodo Technologies. 03 Feb. 2009
http://www.denodo.com/english/resources/articles/mashup_model.html?ls=newsletter

[8] "JackBe.com - Enterprise Mashup Solutions | Mashups." Enterprise Mashup Software. 04 Feb. 2009
<http://www.jackbe.com/mashups/index.php/>.

[9] "PC Tools - Mashup technologies 'present new security risks'" PC Tools - Free Download Anti
Spyware, Antivirus, Firewall, Internet Security, Registry, Disk Repair software. 04 Feb. 2009
<http://www.pctools.com/industry-news/article/mashup_technologies_present_new_security_risks-
18547292/>.

Aristotle University of Thessaloniki  21 
MASHUPS

[10] "Technology Review: Mashup Security." Technology Review: The Authority on the Future of
Technology. 04 Feb. 2009 <http://www.technologyreview.com/Infotech/20487/?a=f>.

[11] Mashups: The new breed of Web app Duane Merrill 08 Aug 2006. 16 Oct 2006 . 1 Feb 2009
<http://www.ibm.com/developerworks/xml/library/x-mashups.html>

[12]Mashup Styles, Part 2: Client-Side Mashup. Ed Ort, Sean Brydon, and Mark Basler . 1 Feb 2009
<http://java.sun.com/developer/technicalArticles/J2EE/mashup_2/>

[12] JSON. 04 Feb. 2009 <http://json.org/>.

[13]What is Atom/RSS? ,http://www.bloggerbuster.com/2007/10/what-is-atomrss.html >

[14]What is a blog feed? <http://www.bloggerbuster.com/2007/09/all-about-blog-feeds-part-1.html >

[15] Building Mashup-Friendly Sites in Rails. by Jack Herrington 12/04/2007


<http://www.oreillynet.com/pub/a/ruby/2007/12/04/building-mashups-in-rails.html?page=1>

22  Aristotle University of Thessaloniki 

You might also like