always-on distributed spreadsheet mashups

21
cipi Centro di Ricerca sull’Ingegneria delle Piattaforme Informatiche Always-on Distributed Spreadsheet Mashups Pierpaolo Baglietto (1) , Fabrizio Cosso (2) , Martino Fornasa (1) , Simone Mangiante (1) , Massimo Maresca (1) , Andrea Parodi (2) , Michele Stecca (1) (1) Computer Platform Research Center (CIPI) - University of Padova, University of Genova, Italy (2) M3S S.r.l. - Genova, Italy [email protected] Mashups’10 Ayia Napa, Cyprus, Dec. 1st 2010

Upload: mashups

Post on 28-Nov-2014

965 views

Category:

Technology


1 download

DESCRIPTION

Pierpaolo Baglietto, Fabrizio Cosso, Martino Fornasa, Simone Mangiante, Massimo Maresca, Andrea Parodi and Michele Stecca.Always-on Distributed Spreadsheet Mashups

TRANSCRIPT

Page 1: Always-on Distributed Spreadsheet Mashups

cipi

Centro di Ricerca sull’Ingegneria delle Piattaforme Informatiche

Always-on Distributed Spreadsheet Mashups

Pierpaolo Baglietto (1), Fabrizio Cosso (2), Martino Fornasa (1), Simone Mangiante (1), Massimo Maresca (1), Andrea Parodi (2), Michele

Stecca (1)

(1) Computer Platform Research Center (CIPI) - University of Padova, University of Genova, Italy(2) M3S S.r.l. - Genova, Italy

[email protected]

Mashups’10Ayia Napa, Cyprus, Dec. 1st 2010

Page 2: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

1. Introduction2. Requirements3. Platform architecture and operating principles4. Platform implementation5. Hierarchical Enterprise Spreadsheet Mashup6. Discussion7. Conclusion

2

Agenda

2

Page 3: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Mashups are composite applications that allow to merge differentfunctionalities, data sources, user interfaces, etc.

Mashups are usually defined as lightweight tools. According to theclassification provided by Fischer et al. (2009), it is possible to identify someparadigms aiming at supporting the easy creation of composite services:

• Wiring paradigm (e.g., JackBe Presto, Yahoo Pipes!, etc.)• Spreadsheet-based frameworks (e.g. SpreadATOR, IBM A1, etc.)• Programming by demonstration (e.g., Dapper)• Automatic creation of Mashups (e.g., MaxMash)

In this paper we propose to improve the current generation of Spreadsheet-based Mashup tool by adding two new features: The Distributed Spreadsheet Composition functionality, and The Always-on functionality (i.e., the Spreadsheet Mashup is updated

even if one or more components are offline)

3

Introduction (1/2)

3

CIPI’s research activities

Page 4: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Spreadsheets vs Wiring Paradigm In Spreadsheets-based frameworks, both the Service Creation

Environment and the Execution Environment are implemented in aspreadsheet tool which represents the “integration point” for differentsources

According to the Wiring Paradigm, Mashups are created by linkingtogether basic blocks. In this case spreadsheets have a marginal rolebecause they are just a data source (i.e., one of the possible basic blocks)instead of been the “core” technology as in the previous case

The system presented in the paper can be seen as a mixture of the twoapproaches because: It explicitly exploits the spreadsheet technology for Mashup creation; It implicitly uses the Wiring Paradigm at execution time because a spreadsheet

composition can be seen as a set of basic blocks (i.e., the spreadsheets)linked together

4

Introduction (2/2)

4UserD

UserB

UserA UserC

Page 5: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

1. Introduction2. Requirements3. Platform architecture and operating principles4. Platform implementation5. Hierarchical Enterprise Spreadsheet Mashup6. The Car Dealers case study7. Discussion8. Conclusion

5

Agenda

5

Page 6: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Here is a list of 4 requirements that we identified for the usage of Mashuptools in the Enterprises

1. Support of lightweight creation of Situational Applications Spreadsheets are well known tools;

2. Support of reuse of already existing data Spreadsheetsare widely used to store enterprise data;

3. Compliance with the distributed and hierarchical structure ofenterprises different units of the same company may begeographically distributed;

4. Support of automatic updates and Always-on distributedComposite Spreadsheets synchronize the linkedspreadsheets automatically even when one or morecomponents of the distributed spreadsheet are offline.

6

Requirements for Mashup tools

6

Page 7: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

1. Introduction2. Requirements3. Platform architecture and operating principles4. Platform implementation5. Hierarchical Enterprise Spreadsheet Mashup6. Discussion7. Conclusion

7

Agenda

7

Page 8: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Spreadsheet types: Importer: it imports data from other spreadsheets; Exporter: it exports data to other spreadsheets; Intermediate: it is both an importer and an exporter at the same time,

and at least one exported cell is a function of an imported cell (viadirect inclusion or formulas).

Components of the platform: A centralized server-side Composition Platform supports the

execution of spreadsheet data exportation and importation, managesuser accounts, and synchronizes data across dependentspreadsheets;

A Client Plug-in integrated in the end-user spreadsheet application. Itinteracts with the composition platform by means of messagesexchange and allows the user to import/export data through agraphical UI.

8

Platform architecture and operating principles (1/2)

8

Page 9: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Operating principles:

The exporter contribution update is periodically performed by eachexporter Plug-in towards the platform;

The importer spreadsheet update is periodically performed by theimporter Plug-in. The Plug-in periodically polls the platform for newcontributions or updates;

The data propagation function works as follows:• When a client Plug-in realizes that the spreadsheet is intermediate it

uploads the entire spreadsheet on the platform. Every time an intermediatespreadsheet is updated the Plug-in performs a new upload.

• When an intermediate spreadsheet is offline, the platform runs a localspreadsheet engine in order to recalculate the exported ranges based onfresh import ranges.

9

Platform architecture and operating principles (2/2)

9

Page 10: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

1. Introduction2. Requirements3. Platform architecture and operating principles4. Platform implementation5. Hierarchical Enterprise Spreadsheet Mashup6. Discussion7. Conclusion

10

Agenda

10

Page 11: Always-on Distributed Spreadsheet Mashups

Computer Platform Research Center - CIPI

The Client Plug-in must be installed on nodes running the MS Excelsoftware (developed through the Visual Studio Tool for Office)

The Plug-in and the Composition Platform communicate by meansof SOAP-based APIs

The DB stores the importations, exportations, and thedependencies among spreadsheets

The Excel Server component runs the intermediate spreadsheetswhen needed (i.e., an update in the exporting file occurred)

The importing spreadsheets poll the Composition Server to retrieveupdated data 11

Platform implementation

11

Page 12: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

1. Introduction2. Requirements3. Platform architecture and operating principles4. Platform implementation5. Hierarchical Enterprise Spreadsheet Mashup6. Discussion7. Conclusion

12

Agenda

12

Page 13: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

The main concepts in HESMs are: Master Organizational Unit (MOU) Contributing Organizational Units (COU) Space Master Spreadsheet Chain of spaces

13

Hierarchical Enterprise Spreadsheet Mashup – HESM (1/3)

13

Unit 1

“A” Contributing Org. Unit 1 (A-COU1)“A” Master spreadsheet

A-COU1 range

A-COU2 range

“A” Master Organizational Unit (A-MOU)

“A” space

Unit 2 spreadsheet

A-COU1 range

Unit 3 spreadsheet

A-COU2 range

“A” Contributing Org. Unit 2 (A-COU2)

Composition Platform

A-COU1 range A-COU2 range“A” space

Unit 3 Unit 2Unit 1 spreadsheet

B-COU1 range

“B” space“A” space

Unit 1

Unit 1 spreadsheet

A-COU1 range

A-COU2 range

“A” Master Organizational Unit (A-MOU)

A

“A” Contributin

Composition Platform

A-COU1 range

A-COU2 range

“A” space

“B” Contributing Org. Unit 1 (B-COU1)

B-COU1 range

Unit 4

Unit 4 spreadsheet

B-COU2 range

“B” Contributing Org. Unit 2 (B-COU2)

Unit 5

“B” Master spreadsheet

B-COU2 range

“B” Master Organizational Unit (B-MOU)

B-COU1 range

B-COU2 range

“B” space

Unit 1 spreadsheet

Unit 5 spreadsheet“A” Master spreadsheet

Page 14: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Case Study: the Car Dealer Example The company is organized in an hierarchical way:

Car Dealers – CDs interact with costumers A set of CDs located in a certain area are managed by the same Area

Sales Manager - ASM A set of ASMs located in a certain region are managed by the same

Regional Sales Manager – RSM

There are different relationships among actors: CDs keep track of their sales in their own spreadsheets CDs are the COUs of the spreadsheet owned by the related ASM (i.e.,

the MOU of this relationship) ASMs keep track of the regional sales in their own spreadsheets ASMs are the COUs of the spreadsheet owned by the related RSM

(i.e., the MOU of this relationship)

14

Hierarchical Enterprise Spreadsheet Mashup – HESM (2/3)

14

Page 15: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Case Study: the Car Dealer Example (Screenshots)

15

Hierarchical Enterprise Spreadsheet Mashup – HESM (3/3)

15

Page 16: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

1. Introduction2. Requirements3. Platform architecture and operating principles4. Platform implementation5. Hierarchical Enterprise Spreadsheet Mashup6. Discussion7. Conclusion

16

Agenda

16

Page 17: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Other Spreadsheet-based Mashup tools focus on the integration ofdifferent data sources into Spreadsheets On the contrary we focus on the distributed and always-on composition of

spreadsheets Our approach can be seen as complementary with respect to the platforms

that import different data sources and convert them to spreadsheet cells

The proposed solution aims at modeling the hierarchical structureof enterprises as shown in the Car Dealer case study

The proposed solution may take advantage of the emerging CloudComputing paradigm in two different ways: In a Infrastructure as a Service – IaaS scenario, the Composition Platform

might run on a Virtual Machine deployed “in-the-cloud” (e.g., it might be anAmazon Machine Image – AMI deployed on the Amazon EC2 Cloud)

In a Software as a Service – SaaS scenario, the Composition Platform mightrely on the Google Spreadsheet APIs which allow to manipulate spreadsheetsstored “in-the-cloud”

17

Discussion

17

Page 18: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

1. Introduction2. Requirements3. Platform architecture and operating principles4. Platform implementation5. Hierarchical Enterprise Spreadsheet Mashup6. Discussion7. Conclusion

18

Agenda

18

Page 19: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

We designed a spreadsheet Mashup tool which allow to: Create distributed spreadsheet composition Update the spreadsheet composition automatically even if one or more

components are offline (Always-on feature) Reflect the hierarchical structure of enterprises where actors working at

different levels contribute to the creation of aggregated information

We implemented a prototype of the system presenting the following features: The client Plug-in is implemented to run on the Microsoft Office system The Client/Server communication architecture is based on SOAP messages

exchange It manages the automatic update of complex spreadsheet composition

through the execution of intermediate spreadsheets

Future works Security Versioning Spreadsheet Mashups “in-the-cloud”

19

Conclusion

19

Page 20: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

2020

Thank you for your attention

Page 21: Always-on Distributed Spreadsheet Mashups

cipi

Computer Platform Research Center - CIPI

Few words about our prototype based on the Wiring paradigm… It aims at combining data and services regardless the specific

technologies used for their implementation (e.g., RSS Feed, Rest WS,SOAP WS, etc.)

We re-use the Service Creation Environment developed during the FP6project called OPUCE (Open Platform for User-Centric Creation andExecution)

We developed a platform for the execution of Event Driven Mashups (i.e.,each basic block may generate one or more events during its execution)

We implemented different versions of the execution platform based ondifferent technologies (Web Services, Java Message Service – JMS, andPlain JAVA code over Virtualized environments)

21

Other CIPI’s research activities

21