leveraging the social web for situational application ... · typically data-driven, aggregating...

39
www.kit.edu Leveraging the Social Web for Situational Application Development and Business Mashups Stefan Tai [email protected]

Upload: others

Post on 28-Oct-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

www.kit.edu

Leveraging the Social Web for Situational ApplicationDevelopment and Business Mashups

Stefan [email protected]

Page 2: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

2

About the Speaker: Stefan Tai

Professor, KIT (Karlsruhe Institute of Technology)

Karlsruhe Service Research Institute (KSRI)

Institute for Applied Informatics

Director, FZI Research Center for Information Technology

Background: IBM T.J. Watson Research Center, New York, USA (1999-2007)

Stefan Tai, IST 2008

Page 3: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

3

The eOrganization Research Group

www.eOrganization.de

www.fzi.de

www.kit.edu

ksri.uni-karlsruhe.deaifb.uni-karlsruhe.de

Stefan Tai, IST 2008

Page 4: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

4

eOrganization Research

Stefan Tai, IST 2008

Page 5: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

5

Agenda

Introduction: The Long Tail and Situational Applications (Mashups)

The Swashup Platform and DSL

Stefan Tai, IST 2008

Page 6: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

6

Gartner‘s Hype Cycle for Emerging Technologies, July 2008

Stefan Tai, IST 2008

Page 7: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

7

Why Social Computing?

Explosion in Web usage and content, fueled by global use, mobile device access, and the participation Web: user-generated content, cooperation and innovationThe Web as the desktop (your desktop!)

New concepts, methods, and technology needed to leverage the Web as a combined compute platform, business platform, and collaboration platform

Stefan Tai, IST 2008

Page 8: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

8

The Long Tail of Business: Mass Servicing of Micro-Markets

„One-size-fits-all“ Variety

Num

berofUsers / S

ales Volume

Commercial Off The Shelf Software• Millions of Generic Users• Long-term, Expensive Development• Good Quality (Reliability, Scalability)• Professional Software Engineering

Mashups• Few Specialized Users• Short Lifespan, Cheap Development• Good Enough Quality• End-User Development (à la Excel)

Stefan Tai, IST 2008

Page 9: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

9

Mashup Example: housingmaps.com

Stefan Tai, IST 2008

Page 10: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

10

flickrvision.com

Stefan Tai, IST 2008

Page 11: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

11

programmableWeb.com

Stefan Tai, IST 2008

Page 12: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

12

Mashups

…are Web applications composing a variety of Web sources via Web APIs, services and feeds (RSS, Atom)

Content provider, mashup site, client Web browserFor situational purpose, fast and good enough

Consumer mashups vs. enterprise mashups

Creation is mostly end-user oriented (often graphical)Typically data-driven, aggregating data streams

Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

Sometimes process-driven using lightweight workflowsIBM Research Bite, Serena Mashup Suite

Stefan Tai, IST 2008

Page 13: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

13

Yahoo! Pipes

… provides a graphical user interface for building applications that aggregate web feeds, web pages, and other services, creating data mashups from various sources, and publishing themThe site works by letting users "pipe" information from different sources and then set up rules for how that content should be modified (e.g. filtering, cf. the New York Times through Flickrexample)

source: wikipedia.org

Stefan Tai, IST 2008

Page 14: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

14

NY Times Through Flickr!(Yahoo! Pipes)

Stefan Tai, IST 2008

Page 15: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

15

The Importance of Communities: Yahoo! Pipes Developer Community

Pipe repository with some 10,000 mashupsAdvanced searching, querying, and ranking capabilitiesReuse: Pipe Clones or references

Web 2.0 support for pipes developers: tagging, feeds, blogs, forums

Stefan Tai, IST 2008

Page 16: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

16

Agenda

Introduction: The Long Tail and Situational Applications (Mashups)

The Swashup Platform and DSL

Stefan Tai, IST 2008

Page 17: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

17

IBM Sharable Code

An Online Platform for Situational Web Applications and MashupsDevelopment and Management

Started out as a research project at IBM ResearchNow an IBM alphaworks services offering:http://services.alphaworks.ibm.com/isc/

Joint work with E. Michael “max” Maximilien, IBM ARChttp://www.maximilien.comhttp://blog.maximilien.com

Tai/Maximilien, IST 2008

Page 18: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

18

Motivation

Mashups are ad hocDifficult to reuse and to shareDifficult to discover, to find, and to manage

(Too) Many service models and types, e.g., SOAP/WSDL, REST, APP, Atom, RSS, ...JavaScript UI-based mashups lead to nightmarish code maintenance and security issuesLack of unified models and design for mashups

Tai/Maximilien, IST 2008

Page 19: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

19

A uniform platform for developing, sharing, and managing Web 2.0 applications and mashups

Common service models and mashup designDomain-specific languages (DSL) – abstraction

data, APIs, services, and mashuptagging, commenting, digging, searching

Web-based tooling

Tai/Maximilien, IST 2008

Page 20: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

20

Philosophy

Platform as a set of smaller partsWeb applications (tools)Web APIs (services)Reusable components (plugins and gems)

Interactions between components via APIsThe platform is itself mashable

Web Computing is social, ergo sharable models, sharable components, and sharable designs are key to easier and more productive Web tools

Tai/Maximilien, IST 2008

Page 21: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

21

The platform itself is mashable and designed as a modern RESTful SOA

Builder application (mashup creator)Enables “easy” design and creation of mashupsAgile and social development of mashups parts

Community applicationAdvertisement and community of deployed mashupsDiscussions, usages, tagging, searching, and ratings

Manager applicationOne-click deployment of mashups to different servers or cloudsManagement of deployments, e.g., clone, delete, version, ...

Tai/Maximilien, IST 2008

Page 22: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

22

Big Picture

Tai/Maximilien, IST 2008

Page 23: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

23

A Domain-specific language (DSL) for mashups

“mini” language built on top of a hosting language that provides a common syntax and semanticsHigh-level, mostly declarative, design and programming particular to mashup concepts and behaviorsEnables easier sharing of partsFacilitates the creation of code and tools

Tai/Maximilien, IST 2008

Page 24: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

24

DSL brief overview

Mashups’ designs as recipes (like cooking recipes)Web APIs, services, data, views, ... are ingredientsMashups are unique combinations of Web “ingredients”

ConstructsRepresent all basic concepts for creating mashupsdata, api, service, mashup, connection to user (wiring), connection between services (step), data transformations (mediator), and user interfaces (views)

Tai/Maximilien, IST 2008

Page 25: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

25

DSL overview

Tai/Maximilien, IST 2008

Page 26: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

26

DSL details

recipe – Top level construct; aggregates all othersdata – Describes the schema (data elements) of service’s dataapi – Describes the service’s API interfaceservice – Binds to the actual endpoint, service type, and any special considerations (e.g., caching, headers, ...)mashup – One or more services that comprise a collection of wiring and mediation declarationsmediation – Facilitates data transformationwiring – Captures one point of interaction with userstep – one atomic step in wiring; interaction between servicesview – Captures the view template code for a wiringcss – Captures view styling via cascading stylesheetstag, tags, desc – Captures metadata and English text

Tai/Maximilien, IST 2008

Page 27: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

27

Sample Recipe

Tai/Maximilien, IST 2008

Page 28: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

28

Sample Recipe

Tai/Maximilien, IST 2008

Page 29: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

29

Screen shots: Builder

Tai/Maximilien, IST 2008

Page 30: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

30 Tai/Maximilien, IST 2008

Screen shots: Builder

Page 31: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

31

Screen shots: Builder

Tai/Maximilien, IST 2008

Page 32: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

32

Screen shots: Builder

Tai/Maximilien, IST 2008

Page 33: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

33

Screen shots: Builder

Tai/Maximilien, IST 2008

Page 34: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

34

Screen shots: Builder

Tai/Maximilien, IST 2008

Page 35: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

35

Screen shots: Builder

Tai/Maximilien, IST 2008

Page 36: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

36

Big Picture

Tai/Maximilien, IST 2008

Page 37: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

37

References

E. M. Maximilien, A. Ranabahu, and S. Tai. “Swashup: Situational Web Applications Mashups”, OOPSLA 2007 posterE. M. Maximilien, H. Wilkinson, N. Desai, and S. Tai. “A Domain-Specific Language for Web Services and APIs Mashups”, ICSOC 2007 paperE.M. Maximilien, A. Ranabahu, and K. Gomadam. “An Online Platform for Web APIs and Service Mashups”, IEEE Internet Computing 2008 article

IBM Sharable Code repository: http://knoesis.wright.edu/isc

Tai/Maximilien, IST 2008

Page 38: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

38

Some Open Research Questions

Mashups programming modelEnd-user-oriented integration paradigms

Mashup exploration, organization, search and integrationReusable and customizable patterns for mashup creationCombined user interface and application integration

Semantic InteroperabilityMashup platform

Lightweight support of enterprise features (e.g security, transactions)Deployment and management in (various) clouds

Community-driven & collaborative mashup developmentChallenges of social networking applicationsIntegration with advances in mobile networking

Stefan Tai, IST 2008

Page 39: Leveraging the Social Web for Situational Application ... · Typically data-driven, aggregating data streams Yahoo Pipes, Microsoft Popfly, IBM Mashup Center, SAP Research Rooftop

39

Thank You!

Stefan Tai, IST 2008