The using of mashup in the proposed architecture become important issue when noticed that there are some problems that face webmasters, Web developers, and Web designers in their everyday work. This problem comes from the nature of Web technology. Big part from this problem could be solved using mashup, since it is fairly easy to implement the Web content systems from different online services. Mashup is a Web page or application that combines resources or functionalities from two or more sources creating a new application or service. Mashup is an emerging software engineering paradigm aligned with the trend towards the programmable Web. Mashup is based on the longest tail theory which is from business perspective to allow the use of different services and to break down business processes into smaller pieces.
The history of mashup comes from music industry before it become an Internet popular concept in which musicians combine mixture of two or more tracks to create a new song that is called mashup. Figure 1.1 illustrates the concept of mashup for Internet technology. Today Web mashups are becoming one of the salient tools for providing composite services to meet users request and open a new area for researchers with many endeavors to enhance this technology for Web developers and designers. Many approaches used now for mashup of Web contents and Web technologies to provide a mobile Web contents, to offer Web application, or even for Web application programming interface (API). One of these contributions is a method to utilize the social and functional relationships among Web APIs to produce and recommend the chains of candidate mashup.
The combination of wireless communication, cloud computing, portable computing devices and the concept of mashup has laid the foundation for a novel computing model, called mobile mashup cloud computing or hybrid mobile Web cloud applications. This provides the users with an online access to unlimited computing power and extra powerful Web applications. This type of combination can unveil a world of new innovative mashups technology that tackles some old problems. the challenges include how to abstract the complex heterogeneous underlying technology, how to achieve optimal adaptation under different constraints, how to model all the different parameters that influence the performance and interactivity of the application, and how to integrate computation and storage with the cloud while preserving privacy and security.
It is known that Web applications in service oriented architectures are implemented as Web services with XML-based protocols to provide plentiful information to users by object oriented techniques. Web applications today enjoy with a great progress, this enable traditional Web and mobile Web to be designed toward, facilitating interactive information sharing, providing interoperability and collaboration mechanisms, and establishing user oriented service.
Mashups can be categorized into three main types which are, data mashups, consumer mashups and business mashups as follows:
- Data mashups
Data mashup aims to combine similar multiple types of media or information from multiple data sources into a single representation. The combination of all these resources creates a new representation. This new representation is a distinct Web service from the sources and provides data in a new Web service. This new Web service was not originally provided by any of the sources. An example for this mashup is the Skyscanner.com that combines data and provides flight tickets from multiple sources such as British Airways, Air France and Iberia.
- Consumer mashups
Is designed for the general public and is considered as a counterpart of the data mashup but by combining multiple public data sources of different data types into a visual representation. Consumer mashup is a very effective mean for personalizing data according to the customer’s needs. Wikipediavision is an example of consumer mashup. It combines real time data from the Wikipedia with Google Maps allowing users to see real time edits to Wikipedia on a world map.
- Business mashup
Sometimes called as enterprise mashup, business mashup aims to solve business problems like the consumer mashup but it works differently in other aspects such as the security levels required. The level of sophistication is the need for quality of Service (QoS) and some other aspects. Business mashup defines applications that combine their own resources, or application and data with other external Web services, or generally combine internal information and services of an enterprise with external resources into a visually rich Web application. It combines data into a single presentation and allow for collaborative action among businesses and developers. It is a secure visually rich Web applications that expose actionable information from diverse internal and external information sources. An example of this category could be PivotalTracker which is a Web-based agile project management tool that allows integration with Twitter, where the project’s members can see real-time updates
2.3.1 Mashup examples and applications
As mentioned before, there are many examples of mashup that are in use for many different business types. For example, mashup video is a video that is edited and built from more than one source and finally displayed as a single video. The most famous example which is very tied to the proposed work is the hybrid Web application, which is the Web application that its data and/or functionality are combined from more than one source. Mashup has characteristics or number of components. The components could be described as a sequence architecture model because each component is based on the other components in a sequence scenario. Below is a list of these mashup components:
- Type: such as Data mashups, Consumer mashups and Business mashup,
- Service Provider: provides access to resources or services online in which the provided services or resource construct the mashup Web applications,
- Protocol: a particular set of rules and guidelines to exchange messages between services which offered by the service provider. The protocol is used for communication between the server and the client, and between the resources and the server,
- Data format: describes how the information is stored in the exchanged messages, these messages contain the required information in a pre defined data format,
- Architecture: this sequence scenario represents a particular architecture, about how the transmission done to the client from the combined resources in the server. Examples of these architectures are directly send the information to the client or combining it in the server first before sending, and
- Interface: last step in this sequence scenario is the client have to see final results from a Web interface, all of this is based on the mashup type, which is done in the first step.
The distinguish between mashup applications and traditional applications is is not an easy task because the border between what is a mashup and what is not is very thin and requires knowledge about how the application work internally, what services the application is using, and its type and service parameters. Programmableweb.com is a mashup directory which has more than 4900 mashups services along with more than 2000 Web APIs, Figure 1.2 illustrates only the top 10 APIs for this mashup.
Mashup is composed of three layers:
- Presentation or User interaction layer: this layer consists of most of the famous languages such as HTML, CSS, AJAX, and XML that are used to make the mashup as visually appealing and functionally efficient as possible,
- Web Services: is used to connect to the products functionality with API services, some tools such as XML HTTPRequest and SOAP are used to accomplish this task, and
- Data: the main content comes here, and it is concerned by how the sending, the storing and the receiving of data are done, most often XML is used.
OneHoster is one of the best web hosting companies in Egypt, we offer many web hosting packages in Egypt and middle east like, cPanel storage hosting packages, cloud hosting, domain registration, dedicated servers solution, Email hosting, WordPress hosting, web hosting upgrades and hosting renewals to suit your requirements to host your website for small and medium sized businesses. OneHoster is also one of the top 10 website design companies, and top 10 digital marketing companies in Egypt and Middle east.“OneHoster’s Team”