Mashups! Presented by Zhao Jin.

Slides:



Advertisements
Similar presentations
Seminar on Emerging Trends in Data Communication and Dissemination Statistical Data as a Service and Internet Mashups by Zoltan Nagy 19 February 2010.
Advertisements

General introduction to Web services and an implementation example
RPC Robert Grimm New York University Remote Procedure Calls.
Web 2.0 for AtGentive A Brief Introduction to Web 2.0 Ye DENG
ITCS 6010 DATA INTEGRATION Krishna Kant Sri Harsha Pokala Vamsi Krishna Jamulapati.
INNOV-3: Mashup Basics or > 2 Sheldon Borkin VP Technology Rick Kuzyk Sr Portfolio Specialist.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Web Services Overview Mary Grammatikou 9/06/2009.
Library Mashups Exploring new ways to deliver library data Nicole C. Engard, Book Editor.
RSS RSS is a method that uses XML to distribute web content on one web site, to many other web sites. RSS allows fast browsing for news and updates.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Web Applications Harry R. Erwin, PhD University of Sunderland CIT304/CSE301.
GIS technologies and Web Mapping Services
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
XML: The Strategic Opportunity Roy Tennant Challenges*  Only librarians like to search, everyone else likes to find  Our users want more information.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
Web Services Overview Ashraf Memon. 2 Overview Service Oriented Architecture Web service overview Benefits of Web services Core technologies: XML, SOAP,
Wyatt Pearsall November  HyperText Transfer Protocol.
Mashups! Presented by Zhao Jin. Outline What is a Mashup? How to build a Mashup? Demonstration References and Resources.
Web Mashups -Nirav Shah.
Mashups! Matt Rahr ECAT – University of Arizona. Technical Workshop  Three Sessions  1:00 – 1:30pm What is a Mashup? How it can spatially enable your.
Web Mapping Seth Peery, Senior GIS Architect
Or, Hey can’t we just do it using HTTP for the envelope?
© 2002 IBM Corporation Web 2.0 Mashups Project Proposal UCLA CS130, Spring 2007 Alex Rodriguez SWG – Tivoli Chris.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
DM_PPT_NP_v01 SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.
1 Alternative view on Internet Computing Web 1.0 –Web 1.0 is first generation, Web Information based. Driven by Information provider. Web 2.0 Ajax enabled.
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
Advanced Web Technologies Lecture #4 By: Faraz Ahmed.
Introduction to Web Services
CSCE 315 – Programming Studio Spring Goal: Reuse and Sharing Many times we would like to reuse the same process or data for different purpose Want.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Warwick Bailey, Director Icodeon Ltd Cambridge, UK Using Common Cartridge Technology.
©2010 AIR WORLDWIDE 1 Using ArcGIS Server Web Map Services in Web Map Mash-Ups Benjamin Spaulding, Ph.D. AIR Worldwide Esri Boston Dev Meet-Up 12/8/2010.
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
Web 2.0 IS530 Fall 2009 Dr. Dania Bilal. Web 2.0 Is the Web that is being transformed into a computing platform for delivering web applications to end.
Google Map API The Google Maps API lets you embed Google Maps in your own web pages with JavaScript The API provides a number of utilities for manipulating.
NCCUCS 軟體工程概論 Lecture 5: Ajax, Mashups April 29, 2014.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Lesson 11: Web Services and API's
Eclipse Vorto Alexander Edelmann.
Introduction to Web Services
Cloud Computing Web Services.
Mapping for the interwebs
Web Mashups -Nirav Shah.
API (Application Program Interface)
Sabri Kızanlık Ural Emekçi
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
REST: Web Services Abel Sanchez.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Introduction to Web Services
Open Source distributed document DB for an enterprise
GF and RS, Dept. of CS, Mangalore University
Lesson 11: Web Services & API's
Web Services CO5027.
One Click Textbooks CSE 454 By Mark, Nick, and Ken.
PHP / MySQL Introduction
Web Services.
WEB API.
Dynamic Web Pages Jin Wu INF 385E Information Architecture
Introduction to Web Services
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Distributed Systems through Web Services
Lesson 11: Web Services and API's
Middleware, Services, etc.
Introduction to Web Services
WEB SERVICES From Chapter 19, Distributed Systems
Consuming Web Services with 2E Generated Objects
Run SOAP request via jar
Presentation transcript:

Mashups! Presented by Zhao Jin

Outline What is a Mashup? How to build a Mashup? Demonstration References and Resources

What is a Mashup? (Music) A musical genre which combines the layers of music from different songs (Computing) A website or web application which combines contents from different websites

A Simple Example User What are the available flats near NUS? Map with available flats marked Mashup website Request for available flat list Request for area map Area map Flat list Google Map Real estate website

Pros and Cons Pros Cons Information reuse More resources to play with Network congestion Speed bottleneck Danger of service failure

How to build a Mashup? Prerequisites Three steps Planning API sign-up Coding

Prerequisites Required Recommended Programming Language Web Programming XML Manipulation (XPath, XQuery, etc…) Recommended Web authoring tools

Planning Pick a subject Decide your data sources A Mashup of What? Map + Real Estate? Bookshop + Library Catalog? More sources of data  More complicated Decide your data sources Who is your data provider? Maps: Google maps, Yahoo maps, etc.. Online shopping: Amazon, EBay, etc.. Usually language agnostic Varying complexity

Planning Other concerns How much time do you have? Do you have a server to run it on? Which programming language?

API Sign-up Sign-up for the API Visit the homepage of your data source and sign up Example: http://www.google.com/apis/maps/

Coding – The big picture User User Request Data presentation Mashup website Data Manipulation Data API Call Data API Call Website 2 Website 1

Coding – The steps API Call Data Manipulation Web programming

API Call Types of API – How to call? Functions of API – What to call? REST XML-PRC SOAP Javascript Functions of API – What to call? API specific

Types of API - REST Request in HTTP and Response in XML Example: Google Geocoder http://maps.google.com/maps/geo? q – The address that you want to geocode Key – Your API key Output – The output format Sample request: http://maps.google.com/maps/geo?q=1600+amphitheare+mtn+view+ca&key=***&output=xml

Types of API - REST Sample response: <xml> <Placemark> <address> 1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA </address> <Point> <coordinates>-122.083739,37.423021,0</coordinates> </Point> </Placemark> </xml>

Types of API – XML-RPC Request/Response in XML via HTTP Example: MSN Blogging API XmlRpcClient in Apache Sample Request: <?xml version="1.0"?> <methodCall> <methodName>getStateName</methodName> <params> <param><value><i4>4</i4></value></param> </params> </methodCall>

Types of API – XML-RPC Sample Response <?xml version="1.0"?> <methodResponse> <params> <param> <value> <string>South Dakota</string> </value> </param> </params> </methodResponse>

Types of APIs – SOAP Request/Reply in SOAP format via SMTP/HTTP Example: MSN Search API HttpURLConnection in Java Post the XML to the target URL Sample request: <soap:Envelope xmlns:soap=schemaURL> <soap:Body> <getProductDetails xmlns=targetURL> <productID>827635</productID> </getProductDetails> </soap:Body> </soap:Envelope>

Types of APIs – SOAP Sample Response <soap:Envelope xmlns:soap=SchemaURL> <soap:Body> <getProductDetailsResponse xmlns=targetURL> <getProductDetailsResult> <productName>Toptimate</productName> <productID>827635</productID> <price>96.50</price> </getProductDetailsResult> </getProductDetailsResponse> </soap:Body> </soap:Envelope>

Types of APIs – JavaScript Request/Reply embedded in a stub object XML not required unless data needed explicitly Example: Gogglemap GMAP2 in Googlemap API Var map = new GMAP2(document.getElementById(“map”)) map.setCenter(new GLatLng(37.4419,-122.1419),13));

Functions of API API specific Learn as needed

Data Manipulation Purpose: Two components To generate API requests To process API responses To represent data internally Two components Data schema Tools for manipulation

Data schema (XML) Define the schema for your data What data do you want to store? Entities and attributes Good to be generic Learn the schema of the APIs

Tools for manipulation Basic level Parser, Modifier, Writer Available online Higher level Filter, Converter, Generator Need to write on your own Check out the tutorial for XPath, XQuery, etc.

Web Programming Design UI for your page

Putting everything together Your Mashup = API calls + Data Manipulation + UI User User Request Data presentation Mashup website Data Manipulation Data API Call Data API Call Website 2 Website 1

Demonstration Googlemap + Craigslist Real Estate Amazon + NLB catalog http://www.housingmaps.com/ Amazon + NLB catalog http://www.bookjetty.com/

References and Resources Wikipedia: http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid) Tutorial from IBM http://www-128.ibm.com/developerworks/edu/x-dw-x-ultimashup1.html Resources: List of Mashups, APIs: http://www.programmableweb.com/ http://www.webmashup.com/

References and Resources APIs and Platforms Amazon: http://www.amazon.com/gp/browse.html?node=3435361 Googlemap: http://www.google.com/apis/maps/ XPath, XQuery Tutorial: http://www.w3schools.com/xpath/ http://www.w3schools.com/xquery/default.asp