Information integration, application integration and component‐based software development
have been among the most important research areas for decades. The last years have been
characterized by a particular focus on web services, the very recent years by the advent of web
mashups, a new and user‐centric form of integration on the Web. However, while service composition
approaches lack support for user interfaces, web mashups still lack systematic development
approaches and mature technologies.
In this paper, we aim to overcome both these shortcomings and propose what we call a universal
composition approach that naturally brings together SOAP services, RESTful services, RSS
and Atom feeds, and user interfaces. We propose a unified component model and a universal,
event‐based composition model, both able to abstract from low‐level implementation details
and technology specifics. Via the mashArt platform, we then provide universal composition as a
service in form of an easy‐to‐use graphical development tool equipped with an execution environment
for fast deployment and execution.
1. Executing Universal Compositions:
A Framework for the Integration of Web
Services and User Interfaces
Relatore: Maristella Matera
Correlatore: Florian Daniel
Studenti: Alessio Di Stasio – Giuseppe Landolfi.
Corso di Laurea Specilistica in Ingegneria Informatica
3. 3
• What is done before:
– UI integra+on (e.g. UISDL and XPIL)
– Web mashups (e.g. Mixup editor and JavaScript runBme)
• Goal of this presentaBon (our thesis)
– Web service composi+on (“BPEL in one page” – why not?
– Java)
– Propose a soluBon that seamlessly combines the three
above points into one universal integra+on/composi+on
approach.
– Show how (and that) the proposed universal composiBons
can be executed (runBme environment).
Alessio Di Stasio – Giuseppe Landolfi
4. 4
• From ad hoc (javascript….)
to integra+on middleware
– Drag n Drop dev
– CommunicaBon among UIs
– Reusable components
– Lightweight infrastructure
• Elements:
– Component model
– ComposiBon model
– Design tools
– RunBme Middleware
Alessio Di Stasio – Giuseppe Landolfi
5. 5
• Combine UI and applicaBon integraBon (and later on
also data integraBon)
• Value:
– Again, drag n drop development
– Reusable universal components
– Focus on simplicity and “separaBon of duBes”
• Simple flow, coarse‐grained, complex components
– Beyond SOAP
• Integrate all sorts of services, transparently
– Build on successful middleware paradigms
• Events and pub/sub
Alessio Di Stasio – Giuseppe Landolfi
7. 7
• We now have two [three] different types of
components:
– UI components
– AL (applicaBon logic) components
– [Hybrid components (expose both UI and AL interfaces)]
• As they indeed are different, we need a way to
graphically
– dis+nguish them,
– clearly highlight their differences, but also
– clearly highlight their similari+es.
Alessio Di Stasio – Giuseppe Landolfi
10. 10
• Unified component model
– USDL = Unified Service DescripBon Language
• Universal composiBon model
– UCL = Universal ComposiBon Language
• Java runBme environment for universal composiBon
>> discussed next
Alessio Di Stasio – Giuseppe Landolfi
11. 11
• We can describe UI and AL components by means of:
– Events
UI components generate events in response to user
interacBons or to internal applicaBon logic, AL
component’s operaBons may be used as events.
– Opera+ons
UI components expose operaBons to allows internal state
changes, AL components are essenBally represented as
operaBon invocaBons.
– Proper+es
Especially UI components may have e.g. configuraBon
parameters.
Alessio Di Stasio – Giuseppe Landolfi
13. 13
• Basically, we keep the concepts we already know
from UI composiBon...
– Listeners
– Events and opera2ons
– Simple parameter passing
• But we slightly change the former XPIL logic and add
a few new features:
– Dis+nc+on of UI and AL components
– Explicit data mapping
– Condi+ons over input parameters
– Branch and join constructs
Alessio Di Stasio – Giuseppe Landolfi
20. 20
• Regarding the run+me environment:
– Specific formalism to manage condi2on:
• Not dependent from the implementaBon Language (i.e. Java)
• Add special kind of condiBons
– To improve composiBon algorithm
– Add other features
• Regarding the overall plaPorm:
– IntegraBon into the MashArt plaform (plug‐in)
– IntegraBon with the MashArt registry
Alessio Di Stasio – Giuseppe Landolfi