leveraging the social web for situational application ... · typically data-driven, aggregating...
TRANSCRIPT
www.kit.edu
Leveraging the Social Web for Situational ApplicationDevelopment and Business Mashups
Stefan [email protected]
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
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
4
eOrganization Research
Stefan Tai, IST 2008
5
Agenda
Introduction: The Long Tail and Situational Applications (Mashups)
The Swashup Platform and DSL
Stefan Tai, IST 2008
6
Gartner‘s Hype Cycle for Emerging Technologies, July 2008
Stefan Tai, IST 2008
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
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
9
Mashup Example: housingmaps.com
Stefan Tai, IST 2008
10
flickrvision.com
Stefan Tai, IST 2008
11
programmableWeb.com
Stefan Tai, IST 2008
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
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
14
NY Times Through Flickr!(Yahoo! Pipes)
Stefan Tai, IST 2008
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
16
Agenda
Introduction: The Long Tail and Situational Applications (Mashups)
The Swashup Platform and DSL
Stefan Tai, IST 2008
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
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
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
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
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
22
Big Picture
Tai/Maximilien, IST 2008
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
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
25
DSL overview
Tai/Maximilien, IST 2008
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
27
Sample Recipe
Tai/Maximilien, IST 2008
28
Sample Recipe
Tai/Maximilien, IST 2008
29
Screen shots: Builder
Tai/Maximilien, IST 2008
30 Tai/Maximilien, IST 2008
Screen shots: Builder
31
Screen shots: Builder
Tai/Maximilien, IST 2008
32
Screen shots: Builder
Tai/Maximilien, IST 2008
33
Screen shots: Builder
Tai/Maximilien, IST 2008
34
Screen shots: Builder
Tai/Maximilien, IST 2008
35
Screen shots: Builder
Tai/Maximilien, IST 2008
36
Big Picture
Tai/Maximilien, IST 2008
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
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
39
Thank You!
Stefan Tai, IST 2008