Like It Or Not Web Applications and Mashups Will Be Hot

Similar documents
Web Browser as an Application Platform Antero Taivalsaari

The goal of this book is to teach you how to use Adobe Integrated

Developing Ajax Web Apps with GWT. Session I

Web 2.0 Käyttöliittymätekniikat

IBM JZOS Meets Web 2.0

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Case Study: Dodging the Pitfalls of Enterprise Ajax Applications

Web 2.0, AJAX and RIAs

RIA Technology Evaluation

Web Client Architecture Guide

ICIT. Brian Hiller ESRI Account Manger. What s new in ArcGIS 10

White Paper: Delivering Enterprise Web Applications on the Curl Platform

The Web as an Application Platform: The Saga Continues

<Insert Picture Here> JavaFX Overview April 2010

Author. Publish. Use

COPYRIGHTED MATERIAL. Part I: Getting Started. Chapter 1: Introducing Flex 2.0. Chapter 2: Introducing Flex Builder 2.0. Chapter 3: Flex 2.

Leveraging the Social Web for Situational Application Development and Business Mashups

Etanova Enterprise Solutions

All About Open & Sharing

Web Application Expectations

Creating Successful Enterprise Mashups and RIAs

Semantic Integration Platform for Web Widgets Communication

Rich Client GUI's with RCP & RAP

THOMAS LATOZA SWE 621 FALL 2018 DESIGN ECOSYSTEMS

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.

J2EE Application Development with WebSphere Studio

Database Driven Web 2.0 for the Enterprise

of making things look better with CSS, and you have a much better platform for interface development.

Development of web applications using Google Technology

AJAX: Rich Internet Applications

IMS: A Development and Deployment Perspective

Feature: Online App Builder Studio

Distributed Multitiered Application

Data-Driven Services With Silverlight 2: Data Access And Web Services For Rich Internet Applications By John Papa

<Insert Picture Here> JavaFX 2.0

Tools to Develop New Linux Applications

Lesson 5: Multimedia on the Web

Review of Mobile Web Application Frameworks

xiii A. Hayden Lindsey IBM Distinguished Engineer and Director, Studio Tools Foreword

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

Web 2.0 Tutorial. Jacek Kopecký STI Innsbruck

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

Online example: ced 12

Building Rich Applications with Appcelerator

AD105 Introduction to Application Development for the IBM Workplace Managed Client

Web 2.0: Is it a Whole New Internet?

Introducing Lotus Domino 8, Designer 8 and Composite Applications

Interactive webmaps with ArcGIS. Kristel Meikas, AlphaGIS

PERSPECTIVE. End-to-end test automation A behaviordriven and tool-agnostic approach. Abstract

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock

EUCOM/AFRICOM DEFENSE USER GROUP MEETING MARCH 2010 STUTTGART WELCOME!

Oracle WebCenter Suite Provides Web 2.0 Services for Enterprise Developers. An Oracle White Paper October 2006

Java FX 2.0. Dr. Stefan Schneider Oracle Deutschland Walldorf-Baden

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:

Mitchell Bosecke, Greg Burlet, David Dietrich, Peter Lorimer, Robin Miller

Packaging for Websphere Development Studio was changed with V6R1.

ArcGIS for Mobile An Introduction. Bonnie Stayer

WebDev. Web Design COMBINES A NUMBER OF DISCIPLINES. Web Development Process DESIGN DEVELOPMENT CONTENT MULTIMEDIA

Learn to develop.net applications and master related technologies.

Flex 3 Pre-release Tour

Mischa Kölliker. JavaLounge Zürich, 23. Juni 2009

Web Engineering. Introduction. Husni

DEVELOPING WEB APPLICATIONS WITH MICROSOFT VISUAL STUDIO Course: 10264A; Duration: 5 Days; Instructor-led

WebCenter Interaction 10gR3 Overview

What s New in the IBM Lotus Notes Client. Kevin O Connell, Consulting Manager, IBM Asia Pacific

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM

Eclipse as a Web 2.0 Application Position Paper

Layered UI and Adaptation Policies for Ubiquitous Web Applications

Application Integration with WebSphere Portal V7

Part 3: Online Social Networks

Merging Ajax and Accessibility

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

Working with the ArcGIS Viewer for Flex Application Builder

20. Situational Applications and Mashups

The Web has changed. What began as a text-based system for scientists

Micro Focus Desktop Containers

Rich Internet Application with TIBCO General Interface By Nitin Goswami

eclipse rich ajax platform (rap)

Transforming the way people watch TV

Mobile Technologies. Types of Apps

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture

Whirlwind Tour of Web Mashups. Sophia Liu November 19, 2008

MAIL PLUGIN FOR IBM MASHUP CENTER

Netbeans Platform For Beginners

Embracing HTML5 CSS </> JS javascript AJAX. A Piece of the Document Viewing Puzzle

An Annotation Tool for Semantic Documents

Fraunhofer FOKUS. Fraunhofer Institute for Open Communication Systems Kaiserin-Augusta-Allee Berlin, Germany.

IBM Rational Developer for System z Version 7.5

Sahi. Cost effective Web Automation

Silverlight. Daron Yöndem

SMashup Personal Learning Environments

a white paper from Corel Corporation

Building Rich Interactive Applications with Silverlight

IBM WebSphere Application Server - Express, Version 5.1

The Internet, the Web, and Electronic Commerce The McGraw-Hill Companies, Inc. All rights reserved.

History and Backgound: Internet & Web 2.0

News for M3 User Productivity Smart Office/H5 Client/Mashups

An OASIS White Paper. Open by Design. The Advantages of the OpenDocument Format (ODF) ##### D R A F T ##### By the OASIS ODF Adoption TC For OASIS

New Face of z/os Communications Server: V2R1 Configuration Assistant

Transcription:

Like It Or Not Web Applications and Mashups Will Be Hot Tommi Mikkonen Tampere University of Technology tommi.mikkonen@tut.fi Antero Taivalsaari Sun Microsystems Laboratories antero.taivalsaari@sun.com

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 > Object technology in the late 1980s and early 1990s > Mobile devices, 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. > End-user software is moving to the Web. 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) Mashware 4

Web Applications 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. There is currently an impedance mismatch between the way software engineers have been taught to develop applications and the way the web browser requires them to be written. 6

Web Development vs. Conventional Software 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 - Direct, 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 7

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

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 Technologies in the web browser serve as the lowest common denominator! 9

Browser as a Platform Problem Areas There are still a lot of problems in using the web browser as an application platform. Problem areas: 1) Usability and user interface issues 2) Networking and security issues 3) Browser interoperability and compatibility issues 4) Development style and testing issues 5) Deployment issues 6) Performance issues 7) Software engineering issues Read our report: http://research.sun.com/ techrep/2008/abstract-175.html 10

Beyond Rich Internet Applications 11

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 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. 12

An Important Observation Web applications are not just conventional desktop applications running in the web browser. > Not just word processors, spreadsheets, e-mail clients, instant messengers,... 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. 13

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. 14

Mashup 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/) 15

Mashup Observations 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. 16

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 17

Tools for Mashup Development Manual development of mashups can be extremely 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

Best Known Mashup Development Tools Google Mashup Editor > http://code.google.com/gme/ IBM Mashup Center > http://www.ibm.com/software/info/mashup-center/ Intel Mash Maker > http://mashmaker.intel.com/ Microsoft Popfly > http://www.popfly.com/ Open Mashups Studio > http://www.open-mashups.org/ Yahoo Pipes > http://pipes.yahoo.com/ 19

Example: Yahoo Pipes 20

Mashup Tools Common Characteristics Most of the development work occurs inside the web browser. Most tools offer pre-built hooks available to various existing web services (such as Google Maps, BBC Weather, Flickr...) Development is done visually; source code editing avoided whenever possible. Development intended increasingly for end users not just professional software developers. Development based on dynamic languages no compilation, no binaries, no static checking. 21

Future Vision: Software as a Mashup In the future, software will likely be built by dynamically combining the best available components for each purpose by downloading them from anywhere on the Web. No static linking; everything downloaded on demand. Widget library Stock graphing library Stock quote interface Software development will be an inherently social activity between developers who do not necessarily know each other. Download from different sites Main applic. L10N Web Browser Today's web browsers do not support these kinds of applications yet! 22

Conclusions Like it or not, the Web is increasingly the platform of choice for advanced software applications. Web-based applications have major benefits: no installation or upgrades needed, instant worldwide deployment without middlemen. Web-based applications will dramatically change the way people develop, deploy and use software -> paradigm shift! Since the Web was not designed for applications, there are still a lot of interesting problems to solve. The web browser must evolve to become a better environment for applications and mashups. 23

Thank You! Questions?