Static Parameter Binding Approach for Web Service Mashup
Modeling
Eunjung Lee and Hyung-Joo Joo
Department of Computer Science, Kyonggi University, Suwom, South Korea
Keywords: Service Composition, Multiple Parameters, Parameter Binding, Mashup.
Abstract: The most essential aspect of integrating web services to create mashups is determining parameter bindings
for the connected requests. However, binding multiple parameters from a large and complicated xml tree is
something that has not been discussed in the literature. In this paper, we presented a multi-parameter
binding algorithm for repeated and nested xml trees. Moreover, we are interested in context-based
parameter bindings, for scenarios where the user selects a certain context node. The proposed binding
approach allows for the automatic integration of methods, even when the binding data is inside a repeated
group or deep in the nested level. As a result, we can generate navigation menus depending on the contexts
for the bound methods. In addition, we present a method for generating navigation codes (context menus)
for the mashup views, using the parameter bindings. To demonstrate the usability of the proposed approach,
we present an example of a course registration system.
1 INTRODUCTION
Service compositions and mashups have become one
of the most important technologies in the
development of new web applications and services.
With the increasing availability of web services and
the dynamic nature of these services, user-centric
client-side mashups have attracted considerable
attention (Pietschmann, 2010). On the other hand, a
difficulty of client-side mashup pages is that they
often have to interact with many services and
resources.
To support a dynamic service environment, it is
necessary to support the automatic generation of
codes from a given set of service methods. In
addition, the design of the client mashup page
navigation may be complicated when it comes to
handling several service requests and responses. To
support the generation of navigational code for a
mashup page, this paper aims to detect possible
service compositions for a method’s output data, as
well as data bindings for the corresponding
parameter passing.
In a previous paper (Lee, 2010), we introduced
the concept of parameter binding the process of
deciding data elements for parameters of the next
request. We also introduced the concept of repeat
binding, i.e., deterministic binding for the current
context of the repeated part of the output tree.
However, evaluating bindings for a context node is
challenging if the tree has a complicated and nested,
repeated structure.
This paper focuses on an algorithm for
evaluating the parameter bindings of a nested,
repeated structure xml tree. We introduce a top-
down binding approach, using xml schema
definitions, for the static evaluation of all possible
bindings.
As an extension of the previous paper’s code
generation system, we implemented context menu
generation for the multiple parameter bindings of
each output view. Our approach can identify a useful
set of mashup menus for a given client page context,
minimizing user interactions. To the best of our
knowledge, previous studies have not considered
user interface issues that arise from such
compositions.
This paper is organized as follows. Section 2
discusses related studies and provides background.
Section 3 describes our models and introduces the
concept of repeated bindings. Section 4 presents
proposed method for context dependent XML
parameter bindings. Section 5 briefs the
This work was supported by the GRRC program (GRRC
Kyonggi 2012B03) of Gyeonggi province.
195
Lee E. and Joo H..
Static Parameter Binding Approach for Web Service Mashup Modeling.
DOI: 10.5220/0003991101950199
In Proceedings of the 14th International Conference on Enterprise Information Systems (ICEIS-2012), pages 195-199
ISBN: 978-989-8565-10-5
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
implem
e
extensio
n
conclud
e
2 R
E
Service
c
connecti
integrati
o
(Pietsch
m
in servi
c
develop
m
There
interfac
e
composi
composi
p
ublishe
to act a
s
mashup
s
data, a
n
model-d
r
for ser
v
framew
o
terms
o
p
resenta
t
2010).
L
p
ublishe
generati
o
navigati
o
The
m
services
b
inding
s
b
inding
complic
a
discusse
d
studies
o
2003). I
b
inding
Moreov
e
p
aramet
e
selects a
3 M
O
In this p
values f
o
from a
g
a meth
o
means
m
p
aramet
e
method
b
e
ntation of t
h
n
of the cod
e
e
s the paper.
E
LATED
W
c
omposition i
ng and rela
y
o
n have re
c
m
ann, 2010).
c
e compositi
o
m
en
t
.
have been m
e
developm
e
tions. Recen
t
tion and exe
d. MashArt i
s
s
a compone
n
s
, integrating
n
d presentati
o
r
iven approa
c
v
ice composi
t
o
rks have be
e
o
f their ap
p
t
ion layer
(
L
astly, the
d a previou
s
o
n approac
h
o
n (Lee, 201
0
m
ost essenti
a
to create ma
s
s
for the c
o
multiple p
a
a
ted xml tree
d
in the liter
a
o
n XML sc
h
n
this paper,
w
algorithm for
e
r, we are
e
r bindings,
certain conte
O
DELS
A
p
aper, we are
o
r issuing req
u
g
iven output
x
o
d m, identif
y
m
apping val
u
e
rs. Therefo
r
b
ecomes call
a
h
e
p
aramete
r
e
generation
s
W
ORKS
nvolves inte
g
y
ing data.
M
c
ently
b
een
s
In this paper,
o
n methods
a
any pieces o
f
e
nt approac
h
t
ly, several
c
cution frame
w
s
a framewor
k
nt
-
b
ased dev
e
all three lay
e
o
n. Nestler
e
c
h to develo
p
t
ions. Sever
a
e
n compared
p
lication co
m
(
Pietschmann
authors' of
s
paper that
p
h
for cli
e
0
).
a
l aspect of
s
hups is deter
m
o
nnected re
q
a
rameters fr
o
is something
a
ture. There
h
h
ema inclusi
o
w
e presented
a
repeated and
interested
i
for the cas
e
xt node.
A
ND SCE
N
interested in
f
u
es
t
s to othe
r
x
ml tree. For
a
y
ing paramet
u
es from
T
r
e, by
b
indi
n
a
ble, since p
a
r
bindings a
s
s
ystem. Secti
o
rating servic
e
M
ashups and
s
tudied in
d
we are inter
e
a
nd user inte
r
f
research on
u
h
es for se
r
c
lien
t
-side se
r
w
orks have
b
k
that is inte
n
e
lopment too
l
e
rs of applica
t
t al. propos
e
p
a user inte
r
a
l main rese
and discusse
d
m
position at
and Walts
g
this work
h
p
resented a
c
e
n
t
-side se
r
integrating
m
ining para
m
q
uests. How
e
o
m a large
that has not
b
h
ave been se
v
o
n tests (Ho
s
a
multi-
p
ara
m
nested xml t
r
i
n contex
t
-
ba
e
when the
N
ARIOS
f
inding para
m
r
service met
h
a
n xml tree
T
er bindings
i
to the me
t
n
g
p
arameter
a
rameters are
s
an
o
n 6
e
s by
data
d
epth
e
sted
r
face
u
se
r
-
r
vice
r
vice
b
een
n
ded
l
for
t
ion,
e
d a
r
face
e
arch
d
, in
the
g
ot
t
,
h
ave
c
ode
r
vice
web
m
eter
e
ver,
and
b
een
v
eral
s
oya,
m
eter
r
ees.
ased
user
m
eter
h
ods,
T
and
i
n T
thod
r
s, a
then
rea
d
b
in
d
p
ar
a
ma
n
str
u
co
n
T
sch
sea
r
cre
a
F
rep
e
cla
s
the
n
for
Se
a
cla
s
the
b
in
d
Se
a
F
sch
no
d
so
m
dat
e
d
y to be p
d
ing is not
a
meters is m
o
n
y repeated
u
cture. In a
d
n
sider the con
t
T
he running
edule xml tre
e
r
ch methods
a
te/delete reg
i
F
or example,
e
ated nodes
i
s
s, and slot.
W
n
department
,
the given co
n
a
rchClasses(d
e
s
scode) in th
a
slot node i
s
d
ings for
a
rchClasses(d
e
F
igure 2 sho
w
edule xml t
r
d
es, nested in
m
e global val
u
e
.
Figure 1: Tr
e
r
ovided. Co
m
straightforw
a
o
re than one
a
nodes and
a
d
dition, our
t
ext of a selec
t
e
xample in t
h
e
, as shown i
n
for the cour
s
i
stration meth
o
in Figure
n
the tree, i
n
W
hen a class
c
,
year, cours
e
n
text. Theref
o
e
pt, lecturer)
a
at
context. O
n
s
selected,
w
SearchClas
e
pt, room), as
s the xml
s
r
ee, which i
n
depth. In thi
s
u
es, such as
e
e instance and
t
m
puting a
p
a
rd if the n
u
a
nd if the x
m
a complicat
e
main conc
e
ted node.
t
his paper is
n
Figure 1, a
n
s
es and sche
d
h
ods.
1, there ar
e
n
cluding grad
e
code node is
e
, and class
a
o
re, a user c
a
a
nd AddRegi
s
n
the other h
a
w
e can find
p
s
ses(dept,
d
shown in Fi
g
s
chema of t
h
n
cludes five
s example,
w
student id a
n
the available r
e
p
arameter
u
mber of
m
l tree has
e
d nested
e
rn is to
a course
n
d a set of
d
ules and
e
several
e
, course,
selected,
a
re bound
a
n request
s
ter(st_id,
a
nd, when
p
arameter
d
ay) or
g
ure 1.
h
e course
repeated
w
e assume
n
d today's
e
quests.
ICEIS2012-14thInternationalConferenceonEnterpriseInformationSystems
196
Fi
g
4 C
O
P
A
Compos
i
p
aramet
e
implem
e
comple
x
the cor
r
methods
a select
e
element
object t
context-
d
4.1
R
When a
repeated
Figure 3
a repeat
e
once i
n
conveni
e
node. A
l
nodes,
w
terminal
repeated
descend
a
node a
r
rel_path
repeated
and slo
t
repeated
Moreov
e
lecturer
}
g
ure 2: Schem
a
O
NTEXT-
D
A
RAMET
E
i
ng methods
b
e
rs is an
e
ntation of
w
x
, structured
x
r
esponding p
a
. Moreover,
d
e
d node requi
r
under the c
u
o
p
resent
m
d
ependent pa
r
R
epeated T
schema defi
n
d
tree structu
r
. A repeated
t
e
d node is a
n
n
the xml
e
nce, the roo
t
l
so, terminal
n
w
here each
r
descendant
d
node r,
t
a
nts and
t
he
r
e denoted
(r), respectiv
e
d
nodes are c
o
t
. For the cl
a
d
node is c
o
e
r, direct_te
r
}
and rel_path
a
of the xml tre
e
D
EPEND
E
E
R BIND
I
b
y relaying o
u
important t
e
w
eb service
x
ml tree, it i
s
a
rameter bin
d
d
ynamic
p
ara
m
r
e inspections
u
rrent conte
x
m
ethods that
r
ameter bindi
n
rees
n
ition is give
n
r
es (Lee, 20
0
t
ree consists
o
n
ode that is
d
schema. F
o
t
node is con
s
n
odes are gro
u
r
epeated nod
e
s. Therefor
e
t
he set of
path from th
e
by direct_
t
e
ly. In the ex
a
o
urse_list, gr
a
a
ss repeated
o
urse and t
h
r
minals(class
)
(class) = cou
r
e
in Figure 1.
E
NT XM
L
I
NGS
u
tput data to i
n
e
chnique in
mashups. F
o
s
difficult to
d
ings for re
q
m
eter binding
s
of every ter
m
x
t. Therefore,
can identify
n
gs, statically
.
n
, we can ex
t
0
6), as show
n
o
f repeated n
o
d
efined more
o
r computati
s
idered a rep
e
u
ped into rep
e
e
includes d
i
e
, for a g
direct ter
m
e
parent rep
e
t
erminals(r)
a
mple in Figu
r
a
de, course, c
node, the p
a
h
e child is
)
= {class
c
r
se_classes/.
N
L
n
put
the
o
r a
find
q
uest
s
for
m
inal
,
we
the
.
tract
n
in
o
des;
than
i
onal
e
a
t
ed
e
ated
irect
g
iven
m
inal
e
ated
and
r
e 4,
lass,
a
rent
slot.
c
ode,
N
ote
tha
t
4.
2
Fo
r
ap
p
ser
v
A
ma
p
m
a
as
b
ma
n
4,
b
Fi
g
F
wh
e
top
b
as
p
ar
a
an
d
an
d
T
co
m
ex
a
are
N
o
w
as
f
D
no
d
p
ar
a
b
in
d
pa
r
a
ba
rel
a
t
@st_id and
@
2
Param
e
r
the examp
p
roach of p
a
v
ice methods:
- m1 = Search
C
- m2 = Search
C
- m3 = Search
C
- m4 = AddRe
- m5 = Search
C
A
t each rep
e
p
pings using
d
a
nd its param
e
b
table(m), is
n
y as
m
’s
p
a
r
b
tables are sh
o
g
ure 3: The re
p
F
or each me
t
e
re the para
m
down traver
s
e context
n
a
meter bindi
n
d
r3, respecti
v
d
r3 as the bas
e
T
hen, the bi
n
m
puted from
a
mple m3, th
e
[
//cours
e
w
, we define
p
f
ollows.
D
efinition. L
e
d
e in output
(
a
meter types
d
ings for
r
ameter_bind
i
a
se contex
t
n
o
a
tive path of t
h
@
today are g
l
e
ter Bindin
g
l
e in Figur
e
a
rameter bin
d
C
ourses(dept, s
y
C
ourses(dept,
c
C
lasses(dept,le
c
g
ister(user
_
id,
c
C
lasses(dept, l
e
e
at node, w
e
d
irect termin
a
e
ters, a bindi
n
defined as
a
r
ameters. For
o
wn in Table
1
eat tree of the
c
h
od, we can
m
eter
b
inding
s
e. This repe
a
n
ode.” For
n
gs of m1 an
d
v
ely. Therefor
e
nodes, resp
e
n
ding path
fo
the base c
o
e
binding pa
t
e
-list/de
p
p
arameter_bi
e
t m
M
etho
(
m). Moreov
e
[
p
1
, p
2
, …, p
k
]
m are d
n
gs(m) = {
(
o
de of m in
h
e node whic
h
l
obal static v
a
g
s
e
4, we pr
e
d
ings with
f
s
year)
c
type)
c
turer)
classcode)
e
cturer, day).
e
can find
p
a
ls. For a giv
e
n
g table for
m
a
tuple of el
e
the example
1.
c
ourse schedul
e
find the re
p
is completed
ated node is
the above
d
m2 are fini
s
r
e, m1 and m
2
e
ctively.
f
or each
p
ar
a
o
ntext node.
t
hs for the p
a
p
t, ./le
c
i
ndings for a
m
o
ds and r
b
e
a
e
r, let m h
a
k
]
. Then, the
p
d
efined as
(
r, [
π
1
,
π
2
, ...,
output(m), a
n
h
is mapped t
o
a
lues.
e
sent our
f
ollowing
p
arameter
n method
m
, denoted
e
ments as
of Figure
e
schema.
p
eat node
during a
called “a
example,
s
hed at r2
2
have r2
a
meter is
For the
a
rameters
c
turer].
m
ethod m
a
repea
t
ed
a
ve input
p
arameter
follows:
π
k
] | r is
n
d π
i
is a
o
p
i
}.
StaticParameterBindingApproachforWebServiceMashupModeling
197
Algorithm 1: Top-down computing of XML parameter bindings.
1
2
3
4
5
Input: Methods = [m
1
, m
2
, ..., m
k
].
params(m
i
) = [p
i1
, p
i2
, ..., p
ni
], n
i
is the number of parameters of i-th method m
i
.
RT: the repeat tree of the output type schema tree, root: the root node of RT.
Output: parameter_bindings
Procedure findAllParamsBindings(root):
1 i k,
Let btable[i] = [b
1
, b
2
, ..., b
ni
], b
j
= null, 1 j n
i
.
parameter_bindings(m
i
) = null.
Call bind_repeat(root).
6
7
8
9
10
11
12
13
14
15
16
17
Procedure bind_repeat(r):
m
i
Methods, let btable[i] = [b
1
, b
2
, .., b
ni
] and binding of m
i
is not finished,
p
x
s.t. x-th parameter of m
i
where b
x
= null, 1 x n
i
,
t
j
direct_terminals(r), s.t. t
j
~ p
x
,
b
x
= (r, t
j
). // r is the base current node of bindings(m
i
)
If btable[i] is filled at this level, // binding is now finished,
for 1 x n
i
, let b
x
= (r', t
j
), r
r'
π
i
= a relative path of (r', t
j
) from the current repeated node r,
Let parameter_bindings(m
i
) add (r, [
π
1
,
π
2
, ...,
π
ni
]).
If there is any method where binding is not finished,
r'
repeat_child(r),
call bind_repeat(r').
Table 1: Binding tables on each repeated node of Figure 3.
r1 r2 r3 r4 r5
m1
dpt O
syear O
m2
dpt O
ctype O
m3
dpt
O
lecture O
m4
user_id @st_id
classcode O
m5
dpt
O
lecturer O
day O
For the example of Figure 3, parameter bindings
for methods m1 to m5 are as follows:
- parameter_bindings(m1) = {(r2, [../../dpt, ./year])}
- parameter_binding(m2)={(r3, [../../../dpt, ./ctype])}
- parameter_bindings(m3) = {(r3, [./cname])}
- parameter_bindings(m4)= {(r4, [../../../../dpt, ./lecturer])}
- parameter_bindings(m5)={(r4, [@st_id, ./classcode])}
Now, we are ready to present the parameter
binding algorithms using the notations introduced
thus far.
Algorithm 1 traverses the xml schema tree from
top to bottom, to identify the mapping of data
elements for the parameters of methods in Methods.
The algorithm visits repeated nodes through their
parent-child relations (line 17), gathering the node
paths that are matched to method parameters (line
9). If the binding is completed at the repeated node r
(line 11), then, r is the binding context base. Once
we find the base context node of m, we evaluate the
paths of the matched nodes (line 13) and parameter
binding is completed for the method. The top down
recursive call is continued while methods remain to
be bound and while there are more descendants to
visit.
4.3 Generating Context Menus
The parameter_bindings(m) refer to the parameters
that are ready when the repeated node is bound.
Therefore, the method m is callable when a user
selects one of the repeated nodes. Context popup
menus include all callable method requests for the
selected context. Therefore, we need to compute all
methods bound to a given repeated node from
Methods, a set of available methods. Thus, we can
define a set of callable methods for a given repeated
node r as follows:
callable(r) = {m | m
Methods, (r, pb)
parameter_bindings(m) for some
pb}.
For example, the schema and the parameter
bindings in Figure 3 show that callable(r4) = {m3,
m4}. On the other hand, the repeated node represents
a repeated level, so if any of the terminal values at
this level are selected, then the corresponding
methods can be called. For example, selecting a
node ccode determines the repeated node course
and its direct terminal descendants.
For a given xml tree, we have an output view
ICEIS2012-14thInternationalConferenceonEnterpriseInformationSystems
198
rendere
d
The con
t
the bou
n
5 I
M
In this se
c
of the
t
Algorith
p
reviou
s
Mashup
B
p
latfor
m
and ma
s
overall
a
extende
d
multiple
repeated
p
opup
m
generate
The
Descrip
t
for desc
r
as servi
c
services
.
identify
p
To e
n
all popu
p
of out
p
comput
e
menu vi
s
Figure 4:
p
roposed
d
with termin
a
t
ext menu is
n
d method.
M
PLEME
N
c
tion,
we intr
o
t
op down p
a
hm
s 1 and 2,
s
study, t
h
B
ench syste
m
m
providing s
e
s
hup code g
e
a
rchitecture o
f
d
the analyze
r
parameter
b
d
xml tree str
u
m
enu-genera
t
javascript co
d
system take
s
t
ion Languag
e
r
ibing REST
c
e description
.
Schema fil
e
p
arameter bi
n
n
able efficient
p
menus whe
n
p
ut data re
s
e
d
p
aramete
r
s
ibility and e
v
Architecture o
f
approach.
a
l nodes, as s
h
provided fo
r
N
TATIO
N
o
duce the imp
l
a
rameter bin
d
introduced i
n
h
e authors
m
(Lee, 20
1
e
rvice selecti
o
e
neration. Fi
g
f
the system.
r
and the cod
e
b
indings for
u
ctures. We
a
t
ing algorith
m
d
e.
s
WADL (
W
e
) files, whi
c
style service
s
inputs to sp
e
e
s are read b
y
n
dings for the
code genera
t
n
the view is
c
s
ponse. Sin
c
r
b
indings
b
v
ent handling
f
code generati
o
h
own in Figu
r
a request cal
l
N
l
ementation r
e
d
ing method
s
n
Section 4.
introduced
1
0), which
i
o
n, data map
p
g
ure 4 shows
In this paper
e
generator al
l
complicated
a
lso enhance
d
m
to effici
e
W
eb Applic
a
h is the stan
d
s
(WADL, 2
0
e
cify the avai
l
y
the analyz
e
service meth
o
t
ion, we cons
t
c
reated at the
t
c
e we stati
c
b
eforehand,
o
r
un dynamic
a
o
n system usin
g
r
e 5.
l
for
e
sult
s
by
In a
the
i
s a
p
ing,
s
the
r
, we
l
ows
and
d
the
e
ntly
a
tion
dard
0
06),
l
able
e
r to
o
ds.
t
ruc
t
time
c
ally
only
a
lly.
g the
Fig
u
rep
e
6
In
b
in
d
M
o
p
ar
a
sel
e
T
aut
o
b
in
d
nes
me
n
me
t
ge
n
ma
s
S
nes
ap
p
the
im
p
p
ar
a
R
E
Ste
f
Flo
r
Eu
n
We
b
Eu
n
Ha
r
u
re 5: Static-ti
m
e
ated node.
CONCL
U
this
p
aper,
d
ing algorith
m
o
reover, we
a
meter bindi
n
e
cts a certain
c
T
he propose
d
o
matic integ
r
d
ing data is i
n
ted level. As
n
us dependi
n
t
hods. In ad
d
n
erating navi
g
s
hup views, u
S
ince current
m
ted repeat
s
p
lied to servi
c
mashup c
o
p
lementing t
h
a
meter bindi
n
E
FEREN
C
f
an Pietschma
n
Platform for C
o
r
ian Daniel, et
a
models, lang
u
ER’2009.
n
jung Lee and
K
View Navigat
i
WEBIST’2010
.
b
application
www.w3.org/
S
n
jung Lee, 200
6
ICMOCCA’0
6
r
uo Hosoya, 2
0
test for attribu
t
m
e generated p
o
U
SIONS
we present
e
m
for repeate
d
are interes
t
n
gs, for sce
n
c
ontext node.
d
binding ap
p
r
ation of me
t
n
side a repeat
e
a
result, we c
n
g on the c
o
d
ition, we pr
e
ation codes (
c
s
ing the para
m
m
apping appr
o
s
tructure, ou
r
c
e mashup f
r
o
nnections.
W
h
e increment
a
n
gs.
C
ES
n
n, et al., 2010.
o
mposite Web
A
a
l., 2009. Host
e
u
ages and inf
r
K
yong-Jin Seo
i
ons Using Re
s
.
description la
n
S
ubmission/wa
d
6
. Inline bindi
n
6
.
0
03. Boolean
o
e-element con
s
o
pup menus fo
e
d a multi-
p
d
and nested
x
t
ed in cont
n
arios where
p
roach allow
s
t
hods, even
w
e
d group or d
e
c
an generate
n
o
ntexts for t
h
r
esen
t
ed a m
e
c
ontext men
u
m
eter binding
s
r
oaches do no
t
r
methods
c
r
amewor
k
s t
o
W
e are wo
r
a
l computati
o
.
A Thin-Serv
e
Applications.
I
e
d universal co
m
fr
astructure in
o
, 2010. Desig
n
s
t Style Servic
e
n
guage (WA
D
d
l.
n
g of XML dat
a
o
perations an
d
s
traint, ICIAA’
0
r the same
p
ara
m
eter
x
ml trees.
e
x
t
-based
the user
s
for the
w
hen the
e
ep in the
n
avigation
h
e bound
e
thod for
u
s) for the
s
.
t
consider
c
ould be
o
enhance
r
king on
o
n of the
e
r Runtime
I
CIW
'
10.
m
position:
MashArt.
n
ing Client
e
Patterns.
D
L), http://
a
. Proc. Of
d
inclusion
0
3.
StaticParameterBindingApproachforWebServiceMashupModeling
199