Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Mashing Up with Google Mashup Editor and Yahoo! Pipes Gregor Hohpe www.eaipatterns.com
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 1 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Who's Gregor?
Distributed systems, enterprise integration, service-oriented architectures, mashups Write code every day. Share knowledge through patterns. www.eaipatterns.com
Enterprise Integration Enterprise Best SOA Integration Patterns Solution Software Experten- Patterns Microsoft Press Patterns Writing I wissen Addison-Wesley Microsoft Press (Joel Spolsky) dpunkt Verlag APress
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 2 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. A Brief History of Time Web 1.0 Static HTML pages, Shopping Sites User oriented Web 1.5 Web Services Machine oriented Web 2.0 Web as platform, lightweight programming Data Feeds User contributed content, collective intelligence Mashups
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 3 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Mashups
A web application that combines data from more than one source into an integrated experience. RIA = Rich Internet Applications Combine multiple data feeds Often read-only User developed Access services over Internet Ad-hoc, easy to change Mashups on mashups
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 4 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Mashup Anatomy
Transform / Data Sources / Front-End Aggregate Adapters
Google Mashup Editor • Yahoo! Pipes Dapper QED Wiki • Snaplogic Openkapow JavaScript Libraries • Microsoft Popfly Snaplogic Microsoft Popfly •IBM Damia StrikeIron
(not meant to be complete nor a recommendation)
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 5 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Example: My Travel Map
Feed
Google Calendar with Conference Events Yahoo! Pipes
Geo Enriched Feed
Google Mashup Editor Interactive Application
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 6 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc.
Starting Point: Google Calendar
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 7 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Calendar Feed
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 8 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Yahoo! Pipe
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 9 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Yahoo! Pipes Data flow pipeline editor Input: any XML, Output: RSS, JSON, KML Visual, browser-based editor, simple debugging by inspection Pipes hosted at Yahoo!, accessible via URL Users can share and clone pipes
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 10 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Google Mashup Editor AJAX development framework Rich rendering off data feeds using templates
Browser-based IDE One click deployment
Event model for rich user interactivity User entered data (by application / by user) Built-in support for Google Maps
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 11 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Mashup Editor Application
Gregor's Conference Travel
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 12 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc.
Google Mashup Editor Event Model
onClick onClick
onClick …
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 13 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Programming Models Data pipeline Declarative within HTML DOM tree Query pipeline (IBM Damia) Visual programming back in vogue? Intuitive Scalability concerns
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 14 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Snags (Small Picture) Spec vs. common practice, e.g. RSS GUIDs Atom vs. RSS feed formats Absence of schema does not mean no data mapping issues XPATH (in various guises) Debugging (especially in declarative models)
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 15 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Snags (Big Picture) License agreements Inside the enterprise Security Service-level agreements Contract changes Scalability
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 16 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Useful Tools
www.feedvalidator.org
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 17 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Mashups vs. SOA vs. Web Services vs. EAI
Mashups EAI / SOA
User-driven IT driven Bottom-up Top-down Quick time to value Longer time Laissez faire Robust, guarantees Design by sample data Design by contract Reuse by copy-paste Service re-use Uses services Uses services
It's all (still) about integration!
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 18 Colorado Software Summit: October 21 – 26, 2007 © Copyright 2007, Google, Inc. Resources Blog / Tutorial www.eaipatterns.com/ramblings.html code.google.com/support/bin/topic.py?topic=12044 Products code.google.com/gme pipes.yahoo.com Market Watch / Directories programmableweb.com Events Mashup Camp
Gregor Hohpe: Mashing Up with Google Mashup Editor and Yahoo! Pipes Slide 19