Always-on Distributed Spreadsheet MashupsPierpaolo 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, ItalyMashups’10Ayia Napa, Cyprus, Dec. 1st 2010m.stecca@cipi.unige.it
IntroductionRequirementsPlatform architecture and operating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion2Agenda2
Introduction (1/2)CIPI’s research activitiesMashups are composite applications that allow to merge different functionalities, data sources, user interfaces, etc. Mashups are usually defined as lightweight tools. According to the classification provided by Fischer et al. (2009), it is possible to identify some paradigms 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, andThe Always-on functionality (i.e., the Spreadsheet Mashup is updated even if one or more components are offline) 33
Introduction (2/2)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 FP6 project called OPUCE (Open Platform for User-Centric Creation and Execution)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 on different technologies (Web Services, Java Message Service – JMS, and Plain JAVA code over Virtualized environments)44
IntroductionRequirementsPlatform architecture and operating principlesHierarchical Enterprise Spreadsheet MashupThe Car Dealers case studyPlatform implementationDiscussionConclusion5Agenda5
RequirementsforMashuptoolsHere is a list of 4 requirements that we identified for the usage of Mashup tools in the EnterprisesSupport of lightweight creation of Situational Applications Spreadsheets are well known tools;Support of reuse of already existing data Spreadsheets are widely used to store enterprise data;Compliance with the distributed and hierarchical structure of enterprises  different units of the same company may be geographically distributed;Support of automatic updates and Always-on distributed Composite Spreadsheets synchronize the linked spreadsheets automatically even when one or more components of the distributed spreadsheet are offline. 66
IntroductionRequirementsPlatform architecture and operating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion7Agenda7
Platform architecture and operating principles (1/2)Components of the platform:A centralized server-sideComposition Platform supports the execution of spreadsheet data exportation and importation, manages user accounts, and synchronizes data across dependent spreadsheet;AClient Plug-inintegrated in the end-user spreadsheet application. It interacts with the composition platform by means of messages exchange and allows the user to import/export data through a graphical UI.Spreadsheet types: Importer: it imports data from other Spreadsheets;Exporter: it exports data toother 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 (via direct inclusion or formulas).88
Platform architecture and operating principles (2/2)Operating principles:The exporter contribution update is periodically performed by each exporter Plug-in towards the platform;The importer spreadsheet update is periodically performed by the importer Plug-in. The Plug-in periodically polls the platform for new contributions 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 intermediate spreadsheet is updated the Plug-in performs a new upload.When an intermediate spreadsheet is offline, the platform runs a local spreadsheet engine in order to recalculate the exported ranges based on fresh import ranges.99
IntroductionRequirementsPlatform architecture and operating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion10Agenda10
Hierarchical Enterprise Spreadsheet Mashup – HESM (1/3)The main concepts in HESMs are:Master Organizational Unit (MOU)Contributing Organizational Units (COU)SpaceMaster SpreadsheetChain of spaces1111
Hierarchical Enterprise Spreadsheet Mashup – HESM (2/3)Case Study: the Car Dealers ExampleThe company is organized in an hierarchical way:Car Dealers – CDs interact with costumersA set of CDs located in a certain area are managed by the same Area Sales Manager - ASMA set of ASMs located in a certain region are managed by the same Regional Sales Manager – RSMThere are different relationships among actors:CDs keep track of their sales in their own spreadsheetsCDs 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 spreadsheetsASMs are the COUs of the spreadsheet owned by the related RMS (i.e., the MOU of this relationship)1212
Hierarchical Enterprise Spreadsheet Mashup – HESM (3/3)Case Study: the Car Dealers Example (Screenshots)1313
IntroductionRequirementsPlatform architecture and operating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion14Agenda14
Platform implementation (1/2)The Client Plug-in must be installed on nodes running the MS Excel softwareThe Plug-in and the Composition Platform communicates by means of SOAP-based APIsThe DB stores the importations, exportations, and the dependencies among spreadsheetsThe Excel Server component runs the intermediate spreadsheets when needed (i.e., an update in the exporting file occurred)The importing spreadsheets poll the Composition Server to retrieve updated data1515
Platform implementation (2/2)Sequence Diagram for an exportation involving an intermediate spreadsheet1616
IntroductionRequirementsPlatform architecture and operating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion17Agenda17
DiscussionOther Spreadsheet-based Mashup tools focus on the integration of different data sources into SpreadsheetsOn 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 cellsThe proposed solution aims at modeling the hierarchical structure of enterprises as shown in the Car Dealer case studyThe proposed solution may take advantage of the emerging Cloud Computing 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 an Amazon Machine Image – AMI deployed on the Amazon EC2 Cloud)In a Software as a Service – SaaS scenario, the Composition Platform might rely on the Google Spreadsheet APIs which allow to manipulate spreadsheets stored “in-the-cloud”1818
IntroductionRequirementsPlatform architecture and operating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion19Agenda19
ConclusionWe designed a spreadsheet Mashup tool which allow to:Create distributed spreadsheet compositionUpdate 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 informationWe implemented a prototype of the system presenting the following features:The client Plug-in is implemented to run on the Microsoft Office systemThe Client/Server communication architecture is based on SOAP messages exchangeIt manages the automatic update of complex spreadsheet composition through the execution of intermediate spreadsheetsFuture worksSecurityVersioningSpreadsheet Mashups “in-the-cloud”2020

Mashup2010

  • 1.
    Always-on Distributed SpreadsheetMashupsPierpaolo 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, ItalyMashups’10Ayia Napa, Cyprus, Dec. 1st 2010m.stecca@cipi.unige.it
  • 2.
    IntroductionRequirementsPlatform architecture andoperating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion2Agenda2
  • 3.
    Introduction (1/2)CIPI’s researchactivitiesMashups are composite applications that allow to merge different functionalities, data sources, user interfaces, etc. Mashups are usually defined as lightweight tools. According to the classification provided by Fischer et al. (2009), it is possible to identify some paradigms 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, andThe Always-on functionality (i.e., the Spreadsheet Mashup is updated even if one or more components are offline) 33
  • 4.
    Introduction (2/2)About ourprototype 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 FP6 project called OPUCE (Open Platform for User-Centric Creation and Execution)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 on different technologies (Web Services, Java Message Service – JMS, and Plain JAVA code over Virtualized environments)44
  • 5.
    IntroductionRequirementsPlatform architecture andoperating principlesHierarchical Enterprise Spreadsheet MashupThe Car Dealers case studyPlatform implementationDiscussionConclusion5Agenda5
  • 6.
    RequirementsforMashuptoolsHere is alist of 4 requirements that we identified for the usage of Mashup tools in the EnterprisesSupport of lightweight creation of Situational Applications Spreadsheets are well known tools;Support of reuse of already existing data Spreadsheets are widely used to store enterprise data;Compliance with the distributed and hierarchical structure of enterprises  different units of the same company may be geographically distributed;Support of automatic updates and Always-on distributed Composite Spreadsheets synchronize the linked spreadsheets automatically even when one or more components of the distributed spreadsheet are offline. 66
  • 7.
    IntroductionRequirementsPlatform architecture andoperating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion7Agenda7
  • 8.
    Platform architecture andoperating principles (1/2)Components of the platform:A centralized server-sideComposition Platform supports the execution of spreadsheet data exportation and importation, manages user accounts, and synchronizes data across dependent spreadsheet;AClient Plug-inintegrated in the end-user spreadsheet application. It interacts with the composition platform by means of messages exchange and allows the user to import/export data through a graphical UI.Spreadsheet types: Importer: it imports data from other Spreadsheets;Exporter: it exports data toother 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 (via direct inclusion or formulas).88
  • 9.
    Platform architecture andoperating principles (2/2)Operating principles:The exporter contribution update is periodically performed by each exporter Plug-in towards the platform;The importer spreadsheet update is periodically performed by the importer Plug-in. The Plug-in periodically polls the platform for new contributions 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 intermediate spreadsheet is updated the Plug-in performs a new upload.When an intermediate spreadsheet is offline, the platform runs a local spreadsheet engine in order to recalculate the exported ranges based on fresh import ranges.99
  • 10.
    IntroductionRequirementsPlatform architecture andoperating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion10Agenda10
  • 11.
    Hierarchical Enterprise SpreadsheetMashup – HESM (1/3)The main concepts in HESMs are:Master Organizational Unit (MOU)Contributing Organizational Units (COU)SpaceMaster SpreadsheetChain of spaces1111
  • 12.
    Hierarchical Enterprise SpreadsheetMashup – HESM (2/3)Case Study: the Car Dealers ExampleThe company is organized in an hierarchical way:Car Dealers – CDs interact with costumersA set of CDs located in a certain area are managed by the same Area Sales Manager - ASMA set of ASMs located in a certain region are managed by the same Regional Sales Manager – RSMThere are different relationships among actors:CDs keep track of their sales in their own spreadsheetsCDs 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 spreadsheetsASMs are the COUs of the spreadsheet owned by the related RMS (i.e., the MOU of this relationship)1212
  • 13.
    Hierarchical Enterprise SpreadsheetMashup – HESM (3/3)Case Study: the Car Dealers Example (Screenshots)1313
  • 14.
    IntroductionRequirementsPlatform architecture andoperating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion14Agenda14
  • 15.
    Platform implementation (1/2)TheClient Plug-in must be installed on nodes running the MS Excel softwareThe Plug-in and the Composition Platform communicates by means of SOAP-based APIsThe DB stores the importations, exportations, and the dependencies among spreadsheetsThe Excel Server component runs the intermediate spreadsheets when needed (i.e., an update in the exporting file occurred)The importing spreadsheets poll the Composition Server to retrieve updated data1515
  • 16.
    Platform implementation (2/2)SequenceDiagram for an exportation involving an intermediate spreadsheet1616
  • 17.
    IntroductionRequirementsPlatform architecture andoperating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion17Agenda17
  • 18.
    DiscussionOther Spreadsheet-based Mashuptools focus on the integration of different data sources into SpreadsheetsOn the contrary we focus on the distributed and always-on composition of spreadsheets
  • 19.
    Our approach canbe seen as complementary with respect to the platforms that import different data sources and convert them to spreadsheet cellsThe proposed solution aims at modeling the hierarchical structure of enterprises as shown in the Car Dealer case studyThe proposed solution may take advantage of the emerging Cloud Computing 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 an Amazon Machine Image – AMI deployed on the Amazon EC2 Cloud)In a Software as a Service – SaaS scenario, the Composition Platform might rely on the Google Spreadsheet APIs which allow to manipulate spreadsheets stored “in-the-cloud”1818
  • 20.
    IntroductionRequirementsPlatform architecture andoperating principlesHierarchical Enterprise Spreadsheet MashupPlatform implementationDiscussionConclusion19Agenda19
  • 21.
    ConclusionWe designed aspreadsheet Mashup tool which allow to:Create distributed spreadsheet compositionUpdate 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 informationWe implemented a prototype of the system presenting the following features:The client Plug-in is implemented to run on the Microsoft Office systemThe Client/Server communication architecture is based on SOAP messages exchangeIt manages the automatic update of complex spreadsheet composition through the execution of intermediate spreadsheetsFuture worksSecurityVersioningSpreadsheet Mashups “in-the-cloud”2020