Mashup 2. Mashup
Total Page:16
File Type:pdf, Size:1020Kb
Mashup 2. Mashup: A mashup is a Web page or application that uses and combines data, presentation or functionality from two or more sources to create new services. The term implies easy, fast integration, frequently using open API (Application Programming Interface) and data sources to produce enriched results that were not necessarily the original reason for producing the raw source data. 3. Good ideas behind Mashup: Allow information to be viewed from different perspectives (e.g., view real estate data on a ¬ map) Combine data from multiple sources into a single unified view (e.g., compare gas prices in the ¬ neighborhood). Enrich raw data with new information (e.g., view eBay real estate auction along with Amazon) ¬ 4. Mashups have recently exploded on the web, for two main reasons. • First, many of the major internet companies, such as Yahoo! , Google , and Amazon ,have opened up their data to be used with other data sources without a lengthy licensing negotiation. In just a minute or two, you can set up and use the data resources they make available. • The other reason for this rapid growth is the advent of new tools that make creating mashups easy for anyone, regardless of their technical know-how. 5. Recent Common Services! (Similar to mashup) a) Web Portals: Yahoo! provide information of different kinds under a single unified theme. 6. Recent Common Services! (Similar to mashup) b) Web Information Aggregators: (MySimon) etc. provide price comparison services for many products. c) RSS (Really Simple Syndication): collect feeds from different news sites to create a news channel. 7. Mashup Types: Mashups have several different colloquial interpretations, which has resulted in some confusion regarding the term and its use. 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 Wikipedia 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. 8. 1. Mapping mashups: Mapping mashup allow users to navigate most of the globe through a Web interface, viewing varying levels of resolution through maps, satellite imagery, or a combination. One of the big catalysts for the advent of mashups was Google's introduction of its Google Maps API. This opened the floodgates, allowing Web developers to mash all sorts of data onto maps. 12. Mashup architecture A mashup application is architecturally comprised of three different participants that are logically and physically disjoint (they are likely separated by both network and organizational boundaries): API/content providers, the mashup site, and the client's Web browser. 13. The API/content providers. These are the providers of the content being mashed. It denotes the process ¬ by which a tool attempts to extract information from the content provider by attempting to parse the provider's Web pages. The mashup site. This is where the mashup is hosted. Interestingly enough, just because this is where ¬ the mashup logic resides, it is not necessarily where it is executed. On one hand, mashups can be implemented similarly to traditional Web applications using server-side dynamic content generation technologies like Java servlets, PHP or ASP. The benefits of client-side mashing include less overhead on behalf of the mashup server (data can be retrieved directly from the content provider). The client's Web browser. This is where the application is rendered graphically and where user ¬ interaction takes place. 14. Mashup tools Microsoft Popfly: Microsoft Popfly is Microsoft's Mashup Editor. Its very useful to an end-user and ¬ requires little technical understanding. Popfly is built on Microsoft Silverlight. 15. Mashup tools Yahoo Pipes: Yahoo Pipes is Yahoo's flash-based tool to aggregate, manipulate, and mashup content ¬ from around the web. Yahoo Pipes was one of the first mashup editing tools to come out. It appears to be targeted to the slightly more technical people. However it has a drag-drop interface. Its quite easy to use. 16. Mashup tools Google Mashup Editor: The Google Mashup Editor (GME), is defiantly the most advanced out of all ¬ the ones. Most powerful, and It's basically got a tag based markup language, that lets you also embed HTML into your results. 17. Pros and Cons: • Innovation potential: fusion of multiple services. More services at a low cost with reusable components. • Use of Open APIs: allow to diffuse content of service adapted to the needs of users. • Security problems: aggregation of own site with application coming from unknown source using APIs not fully understood by “developer”. Mashups require downloading and running foreign code is a valid security concern especially in the enterprise scenario. JavaScript code normally cannot access resources on the client machine apart from the browser and network, so it may appear that there is no real security threat, unlike say ActiveX controls which have essentially complete access to the desktop once a user installs them. Example:<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="http://www.google.com/jsapi" type="text/javascript"> </script> <script type="text/javascript"> google.load('search', '1.0'); function OnLoad() { var searchControl= new google.search.SearchControl(); searchControl.addSearcher(new google.search.WebSearch()); searchControl.draw(document.getElementById("searchcontrol")); } google.setOnLoadCallback(OnLoad, true); </script> </head> <body> <div id="searchcontrol">Loading</div> </body> </html> .