scieee Science in your language
[en] (orig)

A Taxonomy of Variability in Web Service Flows

Abstract

The combination of Software Product Lines (SPL) and Service-Oriented Architectures (SOA) development practices is expected to become a new development paradigm maximizing reuse and business integration. However, multiples issues must be still addressed in order to clarify the connections between both fields. One of the key questions to answer is how SPL practices can be used to support serviceoriented applications. in this context, identifying and managing the points of variability in composite Web services emerges as an inevitable step for making possible such integration. in this position paper we give a first step toward such direction by introducing a comprehensible overview of the main variability points in Web service flows.

Read accessible full text

A Taxonomy of Variability in Web Service Flows

Author: Segura Rueda, Sergio; Benavides Cuevas, David Felipe; Ruiz Cortés, Antonio; Trinidad Martín Arroyo, Pablo
Year: 2007
Source: https://idus.us.es/bitstreams/3cd59c2d-dda4-41b0-bf69-ca159c2e7aaf/download
A Taxonomy o Va iabili y in Web Se ice Flows ∗
Se gio Segu a, Da id Bena ides, An onio Ruiz-Co ´
es and Pablo T inidad
Depa men o Compu e Languages and Sys ems
Uni e si y o Se ille
email:{segu a, bena ides, a uiz, inidad}@ dg.lsi.us.es
Abs ac
The combina ion o So wa e P oduc Lines (SPL) and
Se ice-O ien ed A chi ec u es (SOA) de elopmen p ac-
ices is expec ed o become a new de elopmen pa adigm
maximizing euse and business in eg a ion. Howe e , mul-
iples issues mus be s ill add essed in o de o cla i y he
connec ions be ween bo h ields. One o he key ques ions o
answe is how SPL p ac ices can be used o suppo se ice-
o ien ed applica ions. In his con ex , iden i ying and man-
aging he poin s o a iabili y in composi e Web se ices
eme ges as an ine i able s ep o making possible such in-
eg a ion. In his posi ion pape we gi e a i s s ep owa d
such di ec ion by in oducing a comp ehensible o e iew o
he main a iabili y poin s in Web se ice lows.
1 In oduc ion
So wa e P oduc Lines (SPL) [8] and Se ice-O ien ed
A chi ec u es (SOA) [18] app oaches o so wa e de elop-
men pu sue di e en goals om a common pe spec i e:
so wa e euse. On he one hand, SPL ocus on manag-
ing commonali ies and a iabili ies among a se o ela ed
so wa e sys ems. On he o he hand, SOA enable assem-
bly, o ches a ion and main enance o se ice-based solu-
ions implemen ing business p ocesses.
Con ibu ions abou he connec ions be ween bo h de el-
opmen app oaches, SPL and SOA, a e s a ing o eme ge in
he SPL communi y [22]. Howe e , mul iple issues mus
be s ill add essed o s udying how SPL p ac ices could
suppo he de elopmen o se ice–o ien ed sys ems. In
his con ex , a ele an issue o be analyzed is how manag-
ing a ia ions o speci ic cus ome s o ma ke segmen s in
SOA.
Se ice–o ien ed applica ions a e no ied o an speci ic
echnology. Howe e , mos common implemen a ion o
∗This wo k has been pa ially suppo ed by he Eu opean Commission
(FEDER) and Spanish Go e nmen unde CICYT p ojec Web–Fac o ies
(TIN2006-00472)
SOA-based sys ems use Web se ices as a sui able in e-
g a ion echnology. A Web se ice is a so wa e sys em
designed o suppo in e ope able machine- o-machine in-
e ac ion o e a ne wo k using Web s anda ds p o ocols
[2]. The main goal is o achie e in e ope abili y among
applica ions in a language and pla o m independen man-
ne . Howe e , he eal s eng h o Web se ices is ob ained
when combining hem and o ches a ing hem in o de o
deli e added- alue se ices. In his con ex , Web Se -
ice Flows (WS- low) a e a common way o implemen ing
composi e Web se ices in SOA. WS- lows a e composi e
Web se ices implemen ed using a p ocess-based app oach.
Roughly speaking, a WS- low p ocess de ines an execu able
business p ocess in which pa icipan s a e Web se ices.
Resea ch in he ield o a iabili y in con en ional Web
se ices [12, 16, 19] and p ocess wo k low [7, 10, 11, 15,
20] is me ely add esed in he li e a u e. In [13] a high-
le el classi ica ion o app oaches o WS- low adap abili y is
p esen ed. A mo e echnological classi ica ion o WS- low
a iabili y poin s in se ice in oca ion is in oduced by he
IBM s a in [9]. Howe e , an explici classi ica ion o he
main a iabili y poin s in WS- low is s ill missed.
In his pape we gi e a i s s ep owa d a p oposal o
managing a iabili y in WS- low in he con ex o SPL
and SOA. In pa icula , we i s in oduce WS- low and
BPEL. Secondly, we desc ibe and classi y he main a i-
abili y poin s in WS- low. The goal is o p o ide he s a ing
poin o a base o knowledge abou a iabili y in WS- lows
ha can be la e used o bo h, i)e alua ing he di e en
mechanisms o implemen ing a iabili y in WS- low and
ii)iden i ying ac o s ha a ec he selec ion o such a i-
abili y mechanisms.
The emainde o his pape is o ganized as ollow: in
Sec ion 2 WS- lows and BPEL a e in oduced. The main
a iabili y poin s iden i ied in WS- lows a e desc ibed in
Sec ion 3. Finally, we summa ize ou main conclusions and
desc ibe ou u u e wo k in Sec ion 4.
2 Web Se ice Flows
AWeb Se ice Flow (WS- low) is a composi e Web se -
ice implemen ed using a p ocess-based app oach [13].
Simila ly o con en ional p ocess wo k low, WS- lows
speci y se o asks which a e execu ed by he pa icipan s o
a p ocess. Addi ionally, a WS- low de ines he execu ion o -
de o asks, he da a exchange among he pa icipan s and
he business ules. In con as wi h adi ional wo k lows,
he main cha ac e is ic o a WS- low is ha i wo ks wi h
a single ype o pa icipan s: Web se ices. Figu e 1 de-
pic s an example o a WS- low o a a el agency o a el
a angemen . The WS- low in okes he Web se ices o di -
e en ai lines, ca en al companies and ho els o e ing o
he cus ome a alue-added se ice o a el ese a ion.
The e exis mul iple p oposed languages o de in-
ing WS- lows such as WSCI [21], BPML [4] o BPEL
[14]. Howe e , he Business P ocess Execu ion Language
(BPEL) is ecognized as de ac o s anda d in his a ea.
BPEL in oduces basic and s uc u ed ac i i ies, con ol
s uc u es such as loops and condi ional b anches, syn-
ch onous and asynch onous communica ion, e c. Al hough
BPEL p ocesses a e de ined in XML o ma , mos de el-
opmen IDEs p o ide a g aphical no a ion o i . Once a
BPEL p ocess is de ined i can be execu ed in any BPEL-
complian execu ion engine such as ac i eBPEL [1]. The
execu ion engine o ches a es he in oca ions o he pa ici-
pan s Web se ices acco ding o he p ocess de ini ion.
3 Va iabili y in WS-Flows
In his sec ion we explo e he main a iabili y poin s in
WS- low. In pa icula , we ocus on he a iabili y in he in-
oca ion o se ices and he wo k low s uc u e. Va iabili y
in o he ad anced aspec s o se ices such as secu i y is ou
o he scope o his pape because o space cons ain s.
3.1 Se ice in oca ion
A se ice in oca ion is an ac i i y in which he wo k-
low in okes ano he se ice and exchange messages wi h
i e u ning con ol back o he wo k low. Figu e 2 summa-
izes he main a iabili y poin s iden i ied in he in oca ion
o se ices using a ea u e model. In pa icula , we ha e
iden i ied ou main a iabili y poin s:
•Binding Time. The selec ion o he se ice o in oke
can be pe o med ei he du ing he de elopmen o he
execu ion o he wo k low. In he i s case, he se ice
e e ence is de ined in design- ime o cing o edeploy
he wo k low i changes in he pa icipan s need o be
done. On he o he hand, mos lexible app oaches p o-
pose selec ing pa icipan s in un- ime making he ap-
plica ion adap able o changes in he execu ion en i-
onmen . Addi ionally, pa ne selec ion du ing un-
ime can be pe o med ei he by he use o au oma i-
cally acco ding o some selec ion policies.
Figu e 3 shows a possible implemen a ion o un- ime
au oma ed pa ne selec ion using a so-called se ice
egis y [3]. Fi s , he in o ma ion o he se ices (e.g.,
di e en ai lines Web se ices) is egis e ed in a se -
ice egis y. Then, he wo k low send a que y o he
egis y o de e mine a ma ching se ice acco ding o a
se o pa ame e s (e.g., a se ice wi h ime o esponse
≤10s) and he p ede ined selec ion policies. Finally,
he se ice e e ence ob ained as a esul o he que y
is used o in oke he ma ching se ice.
2. Que y 1. Regis e
Se ices
In o ma ion
3. Uses
Se ice Regis y
Figu e 3. Se ice Regis y
•Pa ne Selec ion C i e ia. Selec ion c i e ia help o
de e mine which o he a ailable se ices o e ing he
same unc ionali y will be selec ed o i s in oca ion
[17]. In his con ex , wo main a iabili y poin s a e
iden i ied:
E alua ion Con ex . Selec ion c i e ia can be ei he
ha d-coded in he wo k low o delega ed o an ex e -
nal en i y. The i s op ion is e y limi ed since wo k-
low and selec ion c i e ia a e highly coupled. On he
o he hand, de ining he selec ion c i e ia in an inde-
penden manne is a p e e ed app oach since i allows
managing changes mo e e icien ly. Figu e 4 depic s
an example in which he selec ion c i e ia a e de ined
ou o he scope o he wo k low. No ice ha changes
in he selec ion c i e ia would be welcome since hey
would no a ec he wo k low.
De ini ion Time. Selec ion c i e ia can be modi ied ei-
he in design- ime o un- ime. Simila ly o he pa -
ne selec ion, he i s op ion o ce o edeploy he
wo k low o esponds o changes meanwhile he sec-
ond al e na i e is much mo e lexible since i allows
adap ing he p ocess wo k low dynamically.
•MessagesExchange. Messages exchange be ween ex-
ecu able se ice wo k lows and o he se ices a e yp-
ically pe o med using wo di e en communica ion
Clien
Figu e 1. A possible WS- low o T a el A angemen
Se ice In oca ion
Pa ne Selec ion P o ocol
Pa ne Selec ion C i e ia
Message Exchange
E alua ion Con ex De ini ion Time
Ha d-coded Delega ed
Synch onous Asynch onous SOAP/HTTP
SOAP/JMS SOAP/SMTP
XML/HTTP
Design- ime Run- ime
Use -D i en Au oma ed Run- imeDesign- ime
Binding Time
Figu e 2. Va iabili y Poin s in Se ice In oca ion
I om = Eu ope
I om = Asia
T ade
I om = A ica
Figu e 4. Wo k low-independen selec ion
c i e ia
pa e ns: synch onous o asynch onous. Synch onous
eques / esponse message exchange consis s on send-
ing a eques message o he se ice and wai o i o
esponse. Al hough his is he mos common and na -
u al app oach, i is clea ly no easible i he se ices
equi e signi ican ime o esponse since i blocks he
wo k low p ocessing. Hence, when he pa icipan se -
ices can ake a long ime o esponse and such e-
sponse is no needed o wo k low p ocessing, an asyn-
ch onous pa e n is ypically used.
In he asynch onous model he communica ion is pe -
o med be ween wo wo k lows, he so-called se ice
p o ide and se ice eques o o clien . In his si ua-
ion, he clien need no block on he call. Ins ead, he
clien implemen s a callback in e ace, and once he e-
sul s a e a ailable, he se ice p o ide simply makes
a callback in oca ion on he clien . Figu e 5 illus a es
an example o asynch onous messages exchange.
Reques
Call-back
Se ice P o ide Clien
Figu e 5. Asynch onous Model
•P o ocols. Mul iples p o ocols can be used o se -
ice in e ac ions o e a ne wo k, i.e. SOAP/HTTP,
SOAP/JMS, XML/HTTP, e c. Thus, he selec ion o
a sui able se o p o ocols o he communica ion wi h
se ices is a key a iabili y poin .
3.2 P ocess Wo k low S uc u e
The p ocess wo k low s uc u e de e mines all he as-
pec s ela ed o he way in which he p ocess is execu ed:
he execu ion o de , he da a exchange be ween pa icipan s,
he business ules, he e o s ea men , e c. Hence, wo
main a iabili y poin s a e iden i ied in his con ex :
•Con ol Flow. The wo k low s uc u e de e mines he
asks o be execu ed, he execu ion o de and e en
he ype o pa icipan in he p ocess. The e o e, he
con ol low will commonly ha e loca ions likely o
change in esponse o changes in he business p ocess.
Hence, o ins ance, suppose he a el agency decides
o change he o de in which ligh a es a e consul ed
o ce ain cus ome s, e.g. p io i izing low-cos ai -
lines o young people.
•Da a Flow. Du ing he execu ion o a WS- low pa ic-
ipan s exchange di e en kind o da a in XML o ma .
Simila ly o he con ol low, da a is likely o change as
consequence o changes in he business p ocess. As an
example, suppose he a el agency is asked o p o ide
addi ional secu i y in o ma ion in he cases in which
passenge s a el o a speci ic coun y.
4 Conclusions and Fu u e Wo k
In his pape we expose he need o an explici clas-
si ica ion o a iabili y in WS- low as a s a ing poin o
handling a iabili y h ough se ices in he con ex o SPL
and SOA. In pa icula , we iden i ied and classi y he main
a iabili y poin s in he in oca ion o se ices and he wo k-
low s uc u e. In some cases he dis inc ion be ween
de elopmen - ime and un- ime is exposed explici ly be-
cause o i s ele ance. Howe e , we emphasize ha he ime
in which a iabili y is esol ed will depend mainly o he
echnology used.
Many challenges emain o ou u u e wo k. Once he
main a iabili y poin s a e iden i ied is ime o conside
he a ailable echnological app oaches o implemen ing i .
Hence, we a e al eady e alua ing he di e en implemen a-
ion p oposals paying special a en ion o he way in which
hey suppo he a iabili y poin s p esen ed in his pape .
Finally, ou main goal is o de elop a p o o ype de el-
opmen ool o he gene a ion o a SPL o composi e Web
se ices. Al hough ou wo k is s ill imma u e we plan o
de elop a amewo k o he au oma ed o semi-au oma ed
gene a ion o BPEL code om a gi en ex ended ea u e
model [6]. The amewo k will implemen a co e business
p ocess in which a iable pa s will be gene a ed au oma -
ically acco ding o he ea u e selec ion. Fo such pu pose,
we will s a by associa ing ea u es and ea u e a ibu es
o Web se ices and Quali y-o -Se ice (QoS) pa ame e s
espec i ely [5].
Re e ences
[1] Ac i eBPEL. www.ac i ebpel.o g/.
[2] G. Alonso, F. Casa i, H. Kuno, and V. Machi aju. Web
Se ices: Concep s, A chi ec u es and Applica ions.
Sp inge -Ve lag, 2004.
[3] D. A dagna and B. Pe nici. Adap i e Se ice Com-
posi ion in Flexible P ocesses. IEEE T ansac ions on
So wa e Enginee ing, 33(6):369–384, 2007.
[4] A. A kin. Business P ocess Modeling Language
(BPML). Ve sion 1.0, 2002. h p://www.bpmi.o g/.
[5] D. Bena ides, A. Du ´
an, M.A. Se ano, and
C. Mon es-Oca. Quali y o se ice a iabili y in sys-
em amilies based on web se ices. In Simposio de In-
o m´
a ica y Telecomunicaciones SIT 2002, pages 205–
218, Se illa, Spain, 2002.
[6] D. Bena ides, A. Ruiz-Co ´
es, and P. T inidad. Au o-
ma ed easoning on ea u e models. LNCS, Ad anced
In o ma ion Sys ems Enginee ing: 17 h In e na ional
Con e ence, CAiSE 2005, 3520:491–503, 2005.
[7] F. Casa i, S. Ilnicki, L. Jin, V. K ishnamoo hy, and
M. Shan. Adap i e and Dynamic Se ice Composi-
ion in eFlow. In Con e ence on Ad anced In o ma-
ion Sys ems Enginee ing, olume 1789, pages 13–31.
Sp inge Ve lag, 2000.
[8] P. Clemen s and L. No h op. So wa e P oduc Lines:
P ac ices and Pa e ns. SEI Se ies in So wa e Engi-
nee ing. Addison–Wesley, Augus 2001.
[9] G. Goldszmid and C. Osipo . Make composi e
business se ices adap able wi h poin s o a iabili y.
choosing he igh implemen a ion. IBM, Ap il 2007.
h p://www.ibm.com/de elope wo ks/lib a y/a -
cbspo 1/.
[10] Y. Han, A. She h, and Ch . Bussle . A Taxonomy o
Adap i e Wo k low Managemen . In CSCW-98 Wo k-
shop, Towa ds Adap i e Wo k low Sys ems, 1998.
[11] P. Heinl, S. Ho n, S. Jablonski, J. Neeb, K. S ein, and
M. Teschke. A comp ehensi e app oach o lexibili y
in wo k low managemen sys ems. SIGSOFT So w.
Eng. No es, 24(2):79–88, 1999.
[12] A. Ruokonen J. Jiang and T. Sys a. Pa e n-based Va i-
abili y Managemen in Web Se ice De elopmen .
IEEE, No embe 2005.
[13] D. Ka as oyano a and A. Buchmann. Ex ending Web
Se ice Flow Models o P o ide o Adap abili y. In
P oceedings o he OOPSLA ’04 Wo kshop on ”Bes
P ac ices and Me hodologies in Se ice-o ien ed A -
chi ec u es: Pa ing he Way o Web-se ices Success”,
Vancou e , Canada, Oc obe 2004.
[14] OASIS. Web Se ices Business P ocess Execu ion
Language Ve sion 2.0, May 2006. h p://www.oasis-
open.o g/.
[15] M. Reiche and P. Dadam. ADEPT lex -suppo ing
dynamic changes o wo k lows wi hou losing con ol.
Jou nal o In elligen In o ma ion Sys ems, 10(2):93–
129, 1998.
[16] S. Robak and B. F anczyk. Modeling Web Se ices
Va iabili y wi h Fea u e Diag ams. In Re ised Pa-
pe s om he NODe 2002 Web and Da abase-Rela ed
Wo kshops on Web, Web-Se ices, and Da abase Sys-
ems, pages 120–128, London, UK, 2003. Sp inge -
Ve lag.
[17] A. Ruiz-Co ´
es, O. Ma ´
ın-D´
ıaz, A. Du ´
an-To o, and
M. To o. Imp o ing he au oma ic p ocu emen o
web se ices using cons ain p og amming. In . J.
Coope a i e In . Sys , 14(4):439–468, 2005.
[18] E. Thomas. Se ice-O ien ed A chi ec u e: A Field
Guide o In eg a ing Xml and Web Se ices. P en ice
Hall, 2004.
[19] N. Yasemin Topaloglu and R. Capilla. Modeling he
Va iabili y o Web Se ices om a Pa e n Poin o
View. In ECOWS, pages 128–138, 2004.
[20] an de Aals , W. M. P., and S. Jablonski. Dealing
wi h wo k low change: iden i ica ion o issues and so-
lu ions. In e na ional Jou nal o Compu e Sys ems
Science and Enginee ing, 15(5):267–276, Sep embe
2000.
[21] W3C. Web se ice cho eog aphy in e ace 1.0, Au-
gus 2002. h p://www.w3.o g/TR/wsci/.
[22] C. Wienands. Syne gies be ween Se ice-O ien ed
A chi ec u e and So wa e P oduc Lines, 2006.
Siemens Co po a e Resea ch. P ince on, NJ.