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.
TeamStation AI System Report LATAM IT Salaries 2024
DashMash: a Mashup Environment for End User Development
1. 11th International Conference on Web Engineering
June 20-24 2011, Paphos, Cyprus
Cinzia CAPPIELLO cappiell@elet.polimi.it
Maristella MATERA matera@elet.polimi.it
Matteo PICOZZI picozzi@elet.polimi.it
Gabriele SPREGA gabriele.sprega@mail.polimi.it
Donato BARBAGALLO barbagallo@elet.polimi.it
Chiara FRANCALANCI francala@elet.polimi.it
2. UI b Ma hAPIss
s up
e public
Active co-
W creation of new ideas,
knowledge and simple
data sources applications
widgets
User
involvement
in the creation
of contents
En d User
D evelop ment
Culture of
participation
Web Applications Web 2.0
3. Consumer Mashups Enterprise Mashups
Porting of the
mashup paradigm to
company intranets
Development of online applications starting from contents and
functionality available on the Web in form of data sources, APIs,
reusable services, …
4. • 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…
Mashup
platform
• User-driven innovation paradigm
- Need for innovation toolkits: adequate processes and
tools, to let users build their own products and innovate
5. 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
• 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
6. Domain specific focus
• 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
7.
8. Abstraction from technical details
Runtime engine Visual Front End
Execution Recommendation
Handler Manager
Composition
Event broker Handler
raises events
invokes operations
Local
Data Sources
<xpil> <smdl> <uisdl> autonomous
... ... ... communication
</xpil> </smdl> </uisdl>
Wrappers
Web
Composition Status Component
descriptors descriptors descriptors
Composition repository Component registry
Remote
Component Data Sources
Business Logic
10. Continuous feedback
Intermixing between
mashup composition (immediate) execution
and execution
Automatic generation of
the model descriptors
Execution Handler Recommendation
Manager
Composition
Event Broker Handler
Runtime Engine
11. Composition support
• Default bindings
- Automatic definition of basic couplings
- Automatic synchronizations based on component
classification (domain dependent)
12. Composition support
• Default bindings
- Automatic definition of basic couplings
- Automatic synchronizations based on component
classification (domain dependent)
13. Composition support
• 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
14. Composition support
• Recommendations based on
- syntactic and semantic compatibility
- quality rankings of components
- mashability measure
• Additional components and bindings for mashup
completion
• How to improve quality
15. • 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)
The users felt very
All the users were able to => confident about their
performance
complete both tasks
15% reduction of the mean time
No relevant differences of execution between the two
between experts and non tasks (a measure of learning?)
experts
16. • 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)
17. • 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)