Upload
spencer-mccormick
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
MashlightA lightweight mashup framework for everyone
M. Albinola, M. Carcano, L. Baresi, S. Guinea
1st SMSCom Meeting 2
Mashups in a nutshell
• Reuse and integration of components– Lower design and development costs– Lower time-to-market
• Software as a Service (SaaS)– Simple and lightweight model– Universally accessible (through a browser)– No need to install
• Do-it-yourself (DIY)– Anyone can be an author– On–the-fly development
17-19/06/09 Como (Italy)
1st SMSCom Meeting 3
Quality dimensions
• Flexibility– Suppport for all three “natures”
(Data, Logic and Presentation)• Usability
– Abstraction level that any kind of user can understand(End Users and Developers)
• Lightweight– Can be deployed onto different kinds of devices
(Android/iPhone)
17-19/06/09 Como (Italy)
1st SMSCom Meeting 4
Mashlight
• Starting Point– Mashups are created through the process-like
disposition of logic activities
• Main characteristics– Single activities are Web 2.0 applications
• Mac OS X Dashboard, Vista sidebar, etc.– Process language is extremely simple
• Blocks define abstraction level– Show one activity at a time
• Provide intrinsic rollback
17-19/06/09 Como (Italy)
1st SMSCom Meeting 5
Mashlight Blocks
• Independent functional unit with clear goal– Es: Weather service, calculator, yellow pages, Remote
Service Invocation
• Parameters
• Links
17-19/06/09 Como (Italy)
Block Blockinput
output
Block
outlink1
Block
outlink2outlink1
entry connection
outlink
1st SMSCom Meeting 6
Real-world blocks…
• Widget-like Web 2.0 applications• Modified versions of Google Widgets
– Support for I/O parameters– Support for interaction with Mashlight Engine
17-19/06/09 Como (Italy)
1st SMSCom Meeting 7
Mashlight Processes
• Graph representation of the process– Activation order (Process Flow)– Data dependencies (Data Flow)
• High level of abstraction– No explicit conditional branching or looping
17-19/06/09 Como (Italy)
A
B D
C E
Process Flow
A
B D
C E
Execution Flows
A
E
A
B D
C E
Data Flow
1st SMSCom Meeting 8
Advanced Aspects
• Complex Data Assignment
• Data with Multiple Cardinality
• Prioritized data assignments
17-19/06/09 Como (Italy)
city
street
AB
address.cityaddress.street
A
Execution flow
B C
C
B
address[*].cityaddress[1].city
A
B
streetaddress[1].street
A
B
address[2].citycity
A
C
address[1].city
address.city
address[2].street
A B
address.streetB
city[*]address[1].city
A
1st SMSCom Meeting 9
Advanced Aspects
• Undo operation– Goes back to the beginning of the previously completed
block
17-19/06/09 Como (Italy)
A
B D
C E
Process Flow
A
Evolution of the execution flow
D
E
1
A
B
C
2
A
D
3
1st SMSCom Meeting 10
Architecture
• Four main modules
17-19/06/09 Como (Italy)
Runtime Engine
Mashup Builder
Block Builder
Blocks Library
Mashup Process
Block
1st SMSCom Meeting 11
Runtime Engine
17-19/06/09 Como (Italy)
Map Mashup area
Control toolbar
1st SMSCom Meeting 12
Example- NightPlan
• User wants to organize a night out: – restaurant + cinema
• Mashlight blocks:– PagineGialle
• Italian Yellow Pages– Google Maps
• Visualization of interest point– MovieTickets
• Buy tickets online– Google Maps Navigator
• Map driving instructions
17-19/06/09 Como (Italy)
DEMO
1st SMSCom Meeting 13
A - PagineGialle
out
B - Google Maps
out
C - PagineGialle
out
D - Google Maps
out
E - MovieTickets
out
F - Google Maps Navigator
out
what: ristorantewhere: MilanostreetName: piazza leonardo
A - Pagine gialle
C - Pagine gialle
E - MovieTickets
F - Google Maps Navigator
searchQuery autoQuery
resultItem.coordinates
coordinates
cinema
searchQuery autoQuery
false
resultItem.cityresultItem.address
resultItem.coordinates
CinemaName accountUsername
resultItem.name
Matteo
city: Milanoaddress: via Golgi, 40
from tosteps[0]
resultItem.coordinates
resultItem.coordinates
false
B - Google Maps
address
coordinates
B - Google Maps
address
travelMode
Process Flow Data Flow
17-19/06/09 Como (Italy)
1st SMSCom Meeting 14
Future Work
• Enrich library of Mashlight blocks– Specific blocks for specific domains
• Block Builder– Eclipse plugin for semi-automatic block creation– WADL-generated Mashlight blocks
• Mashup Builder– General purpose process design environment
• Support for mobile devices– Process starts on PC and continues on Android/iPhone
• Domain-specific abstractions that use Mashlight as backend
17-19/06/09 Como (Italy)
Active services(http://nycgo.com)
17-19/06/09 Como (Italy) 1st SMSCom Meeting 15
Buy ticket
What do we want to combine?
• Special-purpose services• Created by the previous
ones
• They are supposed to– Assist users– Manage fruition– Sense the environment
17-19/06/09 Como (Italy) 1st SMSCom Meeting 16
1st SMSCom Meeting 17
QUESTIONS?
17-19/06/09 Como (Italy)