17
Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

Embed Size (px)

Citation preview

Page 1: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

MashlightA lightweight mashup framework for everyone

M. Albinola, M. Carcano, L. Baresi, S. Guinea

Page 2: Mashlight A 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)

Page 3: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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)

Page 4: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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)

Page 5: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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

Page 6: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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)

Page 7: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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

Page 8: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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

Page 9: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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

Page 10: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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

Page 11: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

1st SMSCom Meeting 11

Runtime Engine

17-19/06/09 Como (Italy)

Map Mashup area

Control toolbar

Page 12: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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

Page 13: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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)

Page 14: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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)

Page 15: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

Active services(http://nycgo.com)

17-19/06/09 Como (Italy) 1st SMSCom Meeting 15

Buy ticket

Page 16: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

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

Page 17: Mashlight A lightweight mashup framework for everyone M. Albinola, M. Carcano, L. Baresi, S. Guinea

1st SMSCom Meeting 17

QUESTIONS?

17-19/06/09 Como (Italy)