dashmash: a mashup environment for end user development
DESCRIPTION
Web mashups are a new generation of applications based on the “composition” of ready-to-use services. In different contexts, ranging from the consumer Web to Enterprise systems, the potential of this new technology is to make users evolve from passive receivers of applications to actors actively involved in the “creation of innovation”. Enabling end users to self-define applications that satisfy their situational needs is emerging as an important new requirement. In this paper, we address the current lack of lightweight development processes and environments and discuss models, methods, and technologies that can make mashups a technology for end user development.TRANSCRIPT
��,#��,#������,#.*��(/$+)(' (-�!)+��(���, +�� / &)*' (-
[email protected]@[email protected]@[email protected]@elet.polimi.it
11th International Conference on Web EngineeringJune 20-24 2011, Paphos, Cyprus
Cinzia CAPPIELLOMaristella MATERA
Matteo PICOZZIGabriele SPREGA
Donato BARBAGALLOChiara FRANCALANCI
�)� +(�� ���**&$��-$)(,��(����� �
UI
Web Applications
public APIs
widgetsdata sources
Web 2.0
Active co-creation of new ideas, knowledge and simple
applications
Culture of participation
User involvement
in the creation of contents
End User Development
Web Mashups
� ��'�,#.*,Consumer Mashups Enterprise Mashups
Development of online applications starting from contents and functionality available on the Web in form of data sources, APIs, reusable services, …
�
Porting of the mashup paradigm to company intranets
�
�, +��+$/ (�$(()/�-$)(
• The desire of users to develop their own things is a driver for the mashup phenomenon- Mashup developers want to create solutions that satisfy
their situational needs
- Sometimes such solutions can be very effective, and worth to be reused by other users…
• User-driven innovation paradigm- Need for innovation toolkits: adequate processes and
tools, to let users build their own products and innovate
�
Mashup platform
�$"#-0 $"#-�� / &)*' (-�*+)� ,, ,
• Abstraction from technical details- A platform speaking the user language (functionality and
terminology), possibly through visual mechanisms
• Continuous feedback- Immediate visual feedback → immediate mashup execution
• Composition support- Assisted composition, e.g., by means of recommendations
• Domain specific focus - A platform restricted to a well-defined domain the user is
comfortable with
The need for composing an application, starting from resources responding to personal needs, and simply running it, without
worrying about what happens behind the scenes, arises
��,#��,#• A mashup tool for the construction of
dashboards• Integration of
- company internal services on top of local data warehouses
- public APIs- Web resources
• Recently specialized for sentiment analysis- Project funded by Milan Municipality on the analyses of
the reputation of the Milan city services- Emergent need for the integration of sentiment analysis
indicators with relevant external Web resources- We developed domain-specific services for the
computation of sentiment indicators and domain-specific rules for their composition
Do
mai
n sp
ecifi
c foc
us
��,#��,#�!)+�, (-$' (-��(�&1,$,�
Runtime engine
<uisdl> ...</uisdl>
Componentdescriptors
Component registryComposition repository
Wrappers
<xpil> ...</xpil>
Compositiondescriptors
Web
RemoteData SourcesComponent
Business Logic
LocalData Sources
autonomouscommunication
<smdl> ...</smdl>
Statusdescriptors
Event broker
Execution Handler
Composition Handler
Recommendation Manager
raises events
invokes operations
Visual Front End
��,#��,#��+�#$- �-.+ �Ab
stra
ction
from
tech
nica
l det
ails
�/ (-��+$/ (�*�+��$"'
Component 1
Component 2
Component 3
Component 4
Component 5
Event 1
Operation 2
Binding
Binding
Publisher: Component 1Event: Event 1
Subscriber: Component 3Operation: Operation 2
composition.xml
<comp><bind>
Abst
ract
ion fr
om te
chni
cal d
etai
ls
�.(-$' � ("$( ��
Runtime Engine
Event Broker
Recommendation Manager
CompositionHandler
Execution Handler
(immediate) execution
Automatic generation of the model descriptors
Intermixing between mashup composition and execution
Cont
inuo
us fe
edba
ck
• Default bindings- Automatic definition of basic couplings- Automatic synchronizations based on component
classification (domain dependent)
� +/$� ��$(�$("�� !$($-$)( ��Co
mpo
sition
supp
ort
• Default bindings- Automatic definition of basic couplings- Automatic synchronizations based on component
classification (domain dependent)
� +/$� ��$(�$("�� !$($-$)( ��Co
mpo
sition
supp
ort
• Default bindings- Automatic definition of basic couplings- Automatic synchronizations based on component
classification (domain dependent)
• Custom bindings- User defined- Additional component synchronizations to
accommodate further user needs- Assisted by recommendations
� +/$� ��$(�$("�� !$($-$)( ��Co
mpo
sition
supp
ort
�)'*),$-$)(�+ �)'' (��-$)(,
• Recommendations based on- syntactic and semantic compatibility- quality rankings of components- mashability measure
• Additional components and bindings for mashup completion
• How to improve quality
��Co
mpo
sition
supp
ort
�+ &$'$(�+1�/�&$��-$)(
• Execution of two tasks with incremental complexity with a sample of 35 users with different expertise- Performance (task completion time) - Ease of use (questionnaire)- Satisfaction (questionnaire)
All the users were able to complete both tasks
15% reduction of the mean time of execution between the two tasks (a measure of learning?)
No relevant differences between experts and non
experts
��
=> The users felt very confident about their
performance
�)(�&.,$)(,
• We have proposed our view over mashup tools as instruments for End Users Development - Lightweight development processes- Intelligible concepts- High degree of assistance
• There are still some open issues:- Easy-to-create components- Effectiveness of mechanisms assisting composition:
quality-based, task-based, wisdom of the mass… what else?
- Quality of both components and the overall mashups- Interoperability- Not only for dashboards: a Platform for End User
Development Of Mashups (PEUDOM)
��
�)(�&.,$)(,
• We have proposed our view over mashup tools as instruments for End Users Development - Lightweight development processes- Intelligible concepts- High degree of assistance
• There are still some open issues:- Easy-to-create components- Effectiveness of mechanisms assisting composition:
quality-based, task-based, wisdom of the mass… what else?
- Quality of both components and the overall mashups- Interoperability- Not only for dashboards: a Platform for End User
Development Of Mashups (PEUDOM)
��
�#�(%�1).���. ,-$)(,� �