Executing Universal Compositions:
                                 A Framework for the Integration of Web
                ...
2




Alessio Di Stasio – Giuseppe Landolfi
3



•  What
is
done
before:

   –  UI
integra+on
(e.g.
UISDL
and
XPIL)

   –  Web
mashups
(e.g.
Mixup
editor
and
JavaScri...
4



•  From
ad
hoc
(javascript….)
   
to
integra+on
middleware

   –  Drag
n
Drop
dev

   –  CommunicaBon
among
UIs

   –...
5




•  Combine
UI
and
applicaBon
integraBon
(and
later
on
   
also
data
integraBon)

•  Value:

   –  Again,
drag
n
drop...
6




•  What
kind
of
services
are
we
actually
talking
about?

•  In
principle,
on
the
Web
we
may
have:

   –  SOAP/WSDL
w...
7




•  We
now
have
two
[three]
different
types
of

   components:

    –  UI
components

    –  AL
(applicaBon
logic)
com...
8




•  Now
we
are
ready
for
the
demo
of
two
scenarios!


(1)
Pure
UI
composi+on





         Alessio Di Stasio – Giusep...
9




(2)
Universal
composi+on





        Alessio Di Stasio – Giuseppe Landolfi
10




•  Unified
component
model

   –  USDL
=
Unified
Service
DescripBon
Language

•  Universal
composiBon
model

   –  UC...
11



•  We
can
describe
UI
and
AL
components
by
means
of:

   –  Events

     UI
components
generate
events
in
response
t...
12




•  Example
USDL:

<usdl ...>
   <component id=quot;RSSAjax_component“ address=“...“
    type=“component/UI”>
      ...
13




•  Basically,
we
keep
the
concepts
we
already
know

   from
UI
composiBon...

   –  Listeners

   –  Events
and
ope...
14

<listener id=quot;ConditionalBranchingquot;>
  <event id=quot;newPositionquot; name=quot;newPosition” component=quot;G...
15




Alessio Di Stasio – Giuseppe Landolfi
16




Alessio Di Stasio – Giuseppe Landolfi
17




Alessio Di Stasio – Giuseppe Landolfi
18



• 
How
to
manage
“condi-on”
:
instantJ
Library,
it
allows
to
execute
parBal

java
source
code
during
runBme.


• 
Ho...
19




Alessio Di Stasio – Giuseppe Landolfi
20


•  Regarding
the
run+me
environment:

   –  Specific
formalism
to
manage
condi2on:

      •  Not
dependent
from
the
im...
21




Alessio Di Stasio – Giuseppe Landolfi
Upcoming SlideShare
Loading in …5
×

Tesi Laurea Specialistica

541
-1

Published on

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.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
541
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tesi Laurea Specialistica

  1. 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
  2. 2. 2 Alessio Di Stasio – Giuseppe Landolfi
  3. 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. 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. 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
  6. 6. 6 •  What
kind
of
services
are
we
actually
talking
about?
 •  In
principle,
on
the
Web
we
may
have:
 –  SOAP/WSDL
web
services
 –  RESTful
services
(plain
hXp)
 –  RSS/Atom
feeds
(XML
formats)
 •  But
we
could
also
think
of:
 –  CORBA
objects
 –  Java
beans
 –  …
 Alessio Di Stasio – Giuseppe Landolfi
  7. 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
  8. 8. 8 •  Now
we
are
ready
for
the
demo
of
two
scenarios!
 (1)
Pure
UI
composi+on
 Alessio Di Stasio – Giuseppe Landolfi
  9. 9. 9 (2)
Universal
composi+on
 Alessio Di Stasio – Giuseppe Landolfi
  10. 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. 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
  12. 12. 12 •  Example
USDL:
 <usdl ...> <component id=quot;RSSAjax_component“ address=“...“ type=“component/UI”> <operation name=quot;showRSSquot; address=quot;showRSSquot;> <param name=“feed” type=quot;xsd:stringquot; /> <param name=“limit” type=quot;xsd:stringquot; /> </operation> <event name=quot;news_selected” address=quot;news_selectedquot;> <param name=quot;cityNamequot; type=quot;xsd:integerquot; /> </event> </component> <types> ... </types> </usdl> Alessio Di Stasio – Giuseppe Landolfi
  13. 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
  14. 14. 14 <listener id=quot;ConditionalBranchingquot;> <event id=quot;newPositionquot; name=quot;newPosition” component=quot;GoogleMapquot;/> <operation id=quot;2quot; name=quot;getSearchedPhotoquot;component=“…flickrquot; condition=quot;condition1quot; type=quot;alquot;> <input source=quot;newPosition quot; name=”cityquot;/> </operation> <operation id=quot;3quot; name=quot;getCityCountryquot; component=“…CityBookquot; condition=quot;condition2quot; type=quot;alquot;> <input source=quot;newPosition quot; name=quot;cityquot;/> </operation> </listener> <listener id=quot;joinquot;> <event id=quot;2quot; name=quot;getSearchedPhotoquot; component=“…flickrquot;/> <event id=quot;3quot; name=quot;getCityCountryquot; component=“…CityBookquot;/> <operation id=quot;4quot; name=quot;createHtmlquot; component=“…htmlCreatorquot; condition=quot;quot; type=quot;alquot;> <input source=quot;3quot; name=quot;resultquot;/> <input source=quot;2quot; name=quot;resultquot;/> </operation> </listener> Alessio Di Stasio – Giuseppe Landolfi
  15. 15. 15 Alessio Di Stasio – Giuseppe Landolfi
  16. 16. 16 Alessio Di Stasio – Giuseppe Landolfi
  17. 17. 17 Alessio Di Stasio – Giuseppe Landolfi
  18. 18. 18 • 
How
to
manage
“condi-on”
:
instantJ
Library,
it
allows
to
execute
parBal 
java
source
code
during
runBme.
 • 
How
to
manage
No-fica-on
received
by
external
web
services
(see
next 
slide):
main
technologies
(AJAX,
Servlet).
 • 
Logging
System:
tool for web application performance analysis that it is easy to customize and suitable for any kind of developer requirement. 
 Alessio Di Stasio – Giuseppe Landolfi
  19. 19. 19 Alessio Di Stasio – Giuseppe Landolfi
  20. 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
  21. 21. 21 Alessio Di Stasio – Giuseppe Landolfi

×