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

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

Jan 13, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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)