Mashup Development Seminar



Similar documents
Web Application Development

Solution Showcase Session. Enterprise 2.0 Computing Services

How To Write An Ria Application

The Mashware Challenge: Bridging the Gap Between Web Development and Software Engineering

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN

INTERACTIVE SERVICES CAPABILITIES PRESENTATION

Web Browser as an Application Platform: The Lively Kernel Experience. Antero Taivalsaari, Tommi Mikkonen, Dan Ingalls, Krzysztof Palacz

Rich Internet Applications

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

Integration the Web 2.0 way. Florian Daniel April 28, 2009

Mashing Up with Google Mashup Editor and Yahoo! Pipes

RIA Overview for Windows 2000, 2002

Rich Internet Applications

2011 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media,

JavaFX Session Agenda

Some Assembly Required: Agile Methodologies. Why pursue a new technical document development platform?

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Rich User Interfaces for Web-Based Corporate Applications

Your Own Web Page: Quick and Dirty

An Esri White Paper October 2010 Developing with Esri Business Analyst Server

Cloud Computing. Chapter 2 Software as a Service (SaaS)

Credits: Some of the slides are based on material adapted from

Apps vs. Open Web: The Battle of the Decade

Process Automation Tools For Small Business

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) /

ipad, a revolutionary device - Apple

Experimenting in the domain of RIA's and Web 2.0

Using Social Networking Sites as a Platform for E-Learning

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

Vector Web Mapping Past, Present and Future. Jing Wang MRF Geosystems Corporation

Web Applications Come of Age

ArcGIS Viewer for Silverlight An Introduction

Christian Thum, Michael Schwind, Martin Schader

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

Pivot Charting in SharePoint with Nevron Chart for SharePoint

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Enterprise RIA Deployment Examples

ArcGIS Server mashups

RIA Technologies Comparison

A review and analysis of technologies for developing web applications

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Putting the power of Web 2.0 into practice.

The Importance of Portal & Web Testing in Your Enterprise. The Growing Challenge of Testing Browser-Based Technologies in SAP

How To Build A Web App

IBM Rational Web Developer for WebSphere Software Version 6.0

Suh yun Ki m (KIS T) (KIS suhyunk@.com

Chapter 12: Advanced topic Web 2.0

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

Web Cloud Architecture

Why HTML5 Tests the Limits of Automated Testing Solutions

Curl Building RIA Beyond AJAX

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

Our software strategy

Issues in Information Systems Volume 14, Issue 2, pp , 2013

Web Development. How the Web Works 3/3/2015. Clients / Server

Oglethorpe University. CRS410 Internship in Communications. Debra Bryant, Web Content Intern. December 10, 2012

Introduction. Kari SYSTÄ. Laulasmaa

Collaborative Open Market to Place Objects at your Service

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

Developing rich Internet applications for SAP with Adobe Flex

Web Apps The Next Generation

<Insert Picture Here> Web 2.0 Data Visualization with JSF. Juan Camilo Ruiz Senior Product Manager Oracle Development Tools

<Insert Picture Here> Oracle Application Express 4.0

PROVIDING INSIGHT FOR OPERATIONAL SUCCESS

How To Develop A Mobile Application On An Android Device

Petroleum Web Applications to Support your Business. David Jacob & Vanessa Ramirez Esri Natural Resources Team

Enabling AJAX in ASP.NET with No Code

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 1

Lecture 4 Cross-Platform Development. <lecturer, date>

01. Introduction of Android

The Practical Aspects of Rich Internet Application Development and Quality Factors: RIA based Decision Support System

Platform Independent Mobile Application Development

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Responsive Web Design. vs. Mobile Web App: What s Best for Your Enterprise? A WhitePaper by RapidValue Solutions

Mapping Mashup/Data Integration Development Resources

What s New in VMware vsphere 5.1 VMware vcenter Server

Computer Science Course Descriptions Page 1

Netbeans 6.0. José Maria Silveira Neto. Sun Campus Ambassador

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

IMPLEMENTING HEALTHCARE DASHBOARDS FOR OPERATIONAL SUCCESS

Accessing Websites. Mac/PC Compatibility: QuickStart Guide for Business

Titolo del paragrafo. Titolo del documento - Sottotitolo documento The Benefits of Pushing Real-Time Market Data via a Web Infrastructure

Increasing the availability of information using modern technologies of the open Web to build user interfaces for mobile devices

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

A Modular Approach to Teaching Mobile APPS Development

The Internet, the Web, and Electronic Commerce

PROVIDING INSIGHT FOR OPERATIONAL SUCCESS

Mindshare Studios Introductory Guide to Content Management Systems

An evaluation of JavaFX as 2D game creation tool

Compiere Technical Architecture Modern, configurable, extendible

Web Pages. Static Web Pages SHTML

Game-Making Software. Created by. in support of

Growth and Challenges

Introduction to migration to cloud

QF01/ الخطة الدراسية كلية العلوم وتكنولوجيا المعلومات- برنامج الماجستير/ الوصف المختصر

FIVE SIGNS YOU NEED HTML5 WEBSOCKETS

Transcription:

Mashup Development Seminar Tampere University of Technology, Finland Fall 2008 http://www.cs.tut.fi/~taivalsa/kurssit/mads2008/ Prof. Tommi Mikkonen Dr. Antero Taivalsaari

Background History of computing and software development is full of disruptive periods and paradigm shifts. The computing industry reinvents itself every 10-15 years. Examples of disruptive eras: > Minicomputers in the 1970s > Personal computers in the 1980s > Mobile software and Web 1.0 in the late 1990s 2

The Next Paradigm Shift! The widespread adoption of the World Wide Web is reshaping our world in various ways. Documents, photos, music, videos, news and various other artifacts and services have already started migrating to the Web. Many industries (e.g., publishing and entertainment) are currently undergoing dramatic transformations. The software industry is on the brink of a similar transformation, or a paradigm shift. 3

Evolution of the Web 1) Simple pages with text and static images only (e.g., http://www.google.com) 2) Animated pages with plug-ins (e.g., http://www.cadillac.com) 3) Rich Internet Applications (e.g., docs.google.com) What's Next? 4

Web Software Implications Web-based software will dramatically change the way people develop, deploy and use software. No more installations! > Applications will simply run off the Web. No more upgrades! > Always run the latest application version. Instant worldwide deployment! > No middlemen or distributors needed. No CPU dependencies, OS dependencies,... > The Web is the Platform. 5

Unfortunately... The web browser was not designed for running real applications. > It was designed in the early 1990s for viewing documents, forms and other page-structured artifacts not applications. > Programming capabilities on the web were an afterthought, not something inherent in the design of the browser. Various Rich Internet Application (RIA) technologies have been introduced recently to retrofit application execution capabilities into the web browser. 6

Best Known RIA Technologies At this point, the following Rich Internet Application development systems are best known: > Ajax > Ruby on Rails > Google Web Toolkit & Google Gears > JavaFX > Adobe AIR (Apollo) > Microsoft Silverlight 7

Landscape of RIA Technologies Browser-based - Ajax - Google Web Toolkit - Sun Labs Lively Kernel Plugin-based - Flash & Flex - (Java FX, AIR) - (Microsoft Silverlight) Custom runtime - Java, Java FX - Adobe AIR - Silverlight thin web clients... fat web clients - Run in a standard browser - No plug-ins needed - Platform-independent - Browser-based UI - Browser plug-in required - Custom UI - Custom execution engine required - Runs outside the browser - Custom/native UI RIA technologies were investigated in our previous seminars in 2006/2007 8

Mashups and Mashup Development 9

Web 2.0 What Is It Really About? Interaction. Bringing back some of the best qualities that desktop software had before the Web, such as direct manipulation, instant feedback, piecemeal display updates. Collaboration. Allowing the users across the planet to work with each other, and share the same data, applications and services over the Web, regardless of their physical location. Mashups. Being able to combine content available on the Web in novel ways. 10

An Important Observation Web applications are not just conventional desktop applications running in the web browser. > Not just word processors, spreadsheets, e-mail clients,... The Web enables the creation of entirely new types of applications and services that combine content from other web sites dynamically. > This would not have been possible with conventional shrink-wrapped applications distributed in binary form. 11

Mashups Mashup: A web site that combines content from more than one source (multiple web sites) into an integrated experience. Mashups leverage the power of the Web to support worldwide sharing of content that would not have been easily accessible or reusable before the Web. In principle, the content to be combined can be anything (text, source code, maps, video, blogs, product reviews, price data,...) as long as it can be meaningfully combined with other content. 12

Examples Chicago Police Department crime statistics mashup (http://chicago.everyblock.com/crime/) Parking availability mashups (e.g., http://www.parkingcarma.com/) Traffic tracking and congestion mashups (e.g., http://dartmaps.mackers.com/) Real estate sales and rental mashups (e.g., http://www.housingmaps.com/) 13

Observations on Mashups Today, most mashups are built around maps. However, in principle the content can be anything as long as it can be digitalized and shared over the Web. Mashups are usually generated dynamically with no static linking; textual representations such as HTML, XML or JSON favored. In principle, it would be possible to build software as a mashup as well. 14

Software as a Mashup In the future, software can be built by dynamically combining the best available components for each purpose by downloading them dynamically from different web sites. No static linking; everything downloaded on demand. Rendering subsystem Download Application logic Download Download Storage subsystem Software development will be an inherently social activity between developers who do not necessarily know each other. Widget library Download Browser Download Localization subsystem Today's web browsers do not support these kinds of applications yet! 15

Comments on Mashup Development Mashup development is still an ad hoc activity. > No established development principles. > Similar comments apply to web development more generally. The lack of proper interface descriptions and modularity makes it difficult to combine content in a systematic fashion. The current security model of the web browser is poorly suited to mashup development. > The Same Origin Policy restricts access to other web sites, see http://en.wikipedia.org/wiki/same_origin_policy 16

Web Development vs. Conventional Software The Impedance Mismatch Web Development - Documents - Page / form oriented interaction - Managed graphics, static layout - Instant worldwide deployment - Source code and text favored - Development based mostly on conventions and folklore - Informal development practices - Target environment not designed for applications - Tool-driven development approach Conventional SW Development - Applications - Direct manipulation - Directly drawn, dynamic graphics - Conventional deployment - Binary representations favored - Development based on established engineering principles - More formal development - Target environment specifically intended for applications - A wide variety of development approaches available 17

Tools for Mashup Development Manual development of mashups can be very tedious. Manual mashup development requires: > (1) manual scraping of content from different web sites, > (2) coming up with an algorithm (usually JavaScript code) for combining the content, > (3) visualizing the resulting information using existing web technologies. A lot of tools for mashup development are currently under development to simplify the process. 18

Commercial Mashup Tools Dapper, http://www.dapper.net/ Google Mashup Editor, http://code.google.com/gme/ IBM Mashup Center, http://www-01.ibm.com/software/info/mashup-center/ IBM Project Zero, http://www.projectzero.org/ Intel Mash Maker, http://mashmaker.intel.com/ LiquidApps, http://www.liquidappsworld.com/ Microsoft Popfly, http://www.popfly.com/ Mozilla Ubiquity, https://wiki.mozilla.org/labs/ubiquity Open Mashups Studio, http://www.open-mashups.org/ Yahoo Pipes, http://pipes.yahoo.com/ 19

Academic & Less Widely Known Tools d.mix (Stanford University), http://hci.stanford.edu/mashups/ Marmite (Carnagie Mellon University), http://www.cs.cmu.edu/~jasonh/projects/marmite/ ======== Anthracite, http://metafy.com/products/anthracite/ C3W (Clipping, Connecting and Cloning for the Web), http://www.iw3c2.org/www2004/docs/2p444.pdf Internet Scrapbook (one of the first mashup systems), http://www.sigchi.org/chi97/proceedings/short-talk/as.htm And many others... 20

About the Seminar: Practical Arrangements 21

Why This Seminar? Mashup development will be increasingly important in the future. > Web applications are not just desktop applications running in your web browser. > Mashup development enables the development of entirely new kinds of web applications and services by allowing web sites to combine content produced by thousands/millions of people across the planet. Examine mashup development and the emerging technologies and tools in this area. > Build real mashups using those technologies. > Drill deeper into those technologies that seem most likely to succeed. 22

Practical Arrangements The seminar will be held on Thursdays in TC103, 14:15-15:45. Seminar dates: > 11.9., 18.9., 23.9., (2.10.), 9.10., (16.10.), 23.10., 30.10., (6.11.), 13.11., 20.11., 27.11., 4.12., 11.12., (18.12.) NOTE: No seminar on September 25 (two weeks from now). Seminar will be held on Tuesday, September 23 instead, in TC210. 23

How to Get Credits? Maximum number of credits: 3-5 op Attendance: 1 op Seminar presentation on selected mashup development technology: 2 op Successfully written, new demo application using the technology: additional 2 op 24

Choosing Presentation/Demo Topics Please choose your presentation topic, demo application and the preferred presentation date as soon as possible. E-mail to: tjm[at]cs.tut.fi and taivalsa[at]cs.tut.fi. Topics allocated on a first-come-first-serve basis. Seminar web site page will be updated [ir]regularly to list the chosen presentation topics: > http://www.cs.tut.fi/~taivalsa/kurssit/mads2008/ Presentations can be held in Finnish or English. > English preferred if there are non-finnish-speaking participants. 25

Action Items for Next Week (Sep 18) 1. Choose your preferred presentation topic. 2. Come up with a great idea for a new kind of a mashup. 26

Thank You! Questions? Tommi Mikkonen Antero Taivalsaari http://www.cs.tut.fi/~taivalsa/kurssit/mads2008/