peudom: a mashup platform for end user development of common information spaces
TRANSCRIPT
POLITECNICO DI MILANO Dipartimento di Elettronica,Informazione e Bioingegneria
PEUDOM:a Mashup Platform for the End User Developmentof Common Information Spaces
INTRODUCTIONINTRODUCTIONMashups have been conceived so far as Personal Information Spaces (PISs). Such applications, however, have a great potential in accommodating the sharing and co-creation of knowledge. The co-creation of web-based Common Information Spaces (CISs), especially by means of web mashups approaches, is still scarcely explored. Recent works highlight the need for collaboration for the creation of web-based artifacts, but the proposed solutions only cover specific aspects (e.g., awareness in synchronous editing), while they do not offer comprehensive approaches ranging different forms of synchronous and asynchronous collaboration.
COMPONENT EDITORPEUDOM provides a web environment for the creation of compo-nents, the Component Editor, which offers support for querying REST services, displaying the retrieved results in a visual format, and visually defining selection and projection queries over such results.A visual mapping process allows the user to select data attributes and associate them to user interface elements playing the role of data collectors. The association of data from multiple services to a same UI data collector also defines integration queries [1]. A Visual Mapping Manager translates the visual actions into an XML-based component schema. The execution of the so created component is then possible within the Mashup Dashboard, as well as standalone apps on different devices where execution engines, coded according to the target technology, interpret and instantiate the component schema [1, 2].
The coupling of components within an integrated workspace is based on the subscription of operations, which become listeners, for events exposed by other components. Subscriptions are expressed in a composition schema specified through an XML-based domain specific language [3], which is then used to govern the execution of the PIS. The Mashup Dashboard enables the creation of PIS schemas. An Event Handler on the client-side intercepts the visual composition ac-tions executed by the end-user, and automatically translates them into listeners and property values of the PIS schema.
Based on the so created schema, the Mashup Engine acts as an event bus: it listens to and handles the events raised by the interac-tion with each single components, and activates the subscribed op-erations as prescribed by the listeners in the composition schema.
MASHUP DASHBOARD
FROM PISs TO CISs
REFERENCES[1] Cappiello, C., Matera, M., Picozzi, M., Caio, A., Guevara, M.T., MobiMash: end user development for mobile mashups, Proceedings of the 21st World Wide Web Conference, WWW 2012, Lyon, France, April 16-20, 2012 (Companion Volume).[2] Cappiello, C., Matera, M., Picozzi, M., End-User Development of Mobile Mashups, 15th International Conference on Human-Computer Interaction, 21-26 July 2013, Mirage Hotel, Las Vegas, Nevada, USA, HCI International 2013.[3] Cappiello, C., Matera, M., Picozzi, M., Sprega, G., Barbagallo, D., Francalanci, C., DashMash: a Mashup Environment for End User De-velopment, 11th International Conference, ICWE 2011, Paphos, Cyprus, June 20-24, 2011.
Event Bus
Event
Operation
Binding
Publishers
Subscribers
Component 1
Component 2Component 3
Matteo Picozzi
Politecnico di MilanoItaly
[email protected] Matera
Politecnico di MilanoItaly
[email protected] Pini
Politecnico di MilanoItaly
[email protected] Tonazzo
Politecnico di MilanoItaly
Mashup DashboardComponent Editor
Service Manager Visual Mapping Manager
Component Execution Engine
Web Servicesand APIs
Repository Server
Service DescriptorRepository
Component SchemaRepository
Composition SchemaRepository
Service descriptor
Component schema
Visual Templates
Mashup EngineEvent Handler
Collaboration Layer
Live Editing Server
Editing Action Queue
Sharing Server Communication Server
Versioning System
User/Group Manager
Notification Server
Chat Server
Annotation Server
ClientServer
Live Editing Client
Communication Client
Component schema
Composition schema