Web Servce-based Busness Process Autoaton Usng Matchng Algorths Yanggon K and Juhnyoung Lee 2 Coputer and Inforaton Scences, Towson Uversty, Towson, MD 2252, USA, yk@towson.edu 2 IBM T. J. Watson Research Center Yorktown Heghts, New York 0598, USA, jyl@us.b.co Abstract. In ths paper, we focus on two probles of the Web servce-based busness process ntegraton: the dscovery of Web servces based on the capabltes and propertes of publshed servces, and the coposton of busness processes based on the busness requreents of subtted requests. We propose a soluton to these probles, whch coprses ultple atchng algorths, a cro-level atchng algorth and acro-level atchng algorths. The soluton fro the acro-level atchng algorths s optal n ters of eetng a certan busness objectve, e.g., zng the cost or executon te, or axzng the total utlty value of busness propertes of nterest. Furtherore, we show how exstng Web servce standards, UDDI and BPEL4WS, can be used and extended to specfy the capabltes of servces and the busness requreents of requests, respectvely. Introducton A busness process refers to a process n whch work s orgazed, coordnated, and focused to produce a valuable product or servce. Busness processes coprse both nternal and external busness partners and drve ther collaboraton to accoplsh shared busness goals by enablng hghly flud process networks. A busness process soluton conssts of a odel of the underlyng busness process (referred to as a process odel or a flow odel) and a set of (flow-ndependent) busness logc odules. The abstractons of the eleentary peces of work n a flow odel are called actvtes; the concrete realzatons of these abstractons at process executon te are referred to as actvty pleentatons. The prevalent techque for creatng busness process solutons follows a anual and tedous approach nvolvng asslaton of vared process desgn and vendor specfcatons and wrtng vast aount of code that produces a tght nflexble couplng between processes. Web
2 Yanggon KPP and Juhnyoung LeeP2P servces provde a set of technologes for creatng busness process solutons n an effcent, standard way. The prose of Web servces s to enable a dstrbuted envronent n whch any nuber of applcatons, or applcaton coponents, can nteroperate sealessly wthn an orgazaton or between copaes n a platforneutral, language-neutral fashon. Fro the perspectve of busness process solutons, a Web servce could represent an actvty wthn a busness process, or a coposte busness process coprsng a nuber of steps [7]. A Buldng a busness process soluton by usng Web servces nvolves specfyng the potental executon order of operatons fro a collecton of Web servces, the data shared aong the Web servces, whch busness partners are nvolved and how they are nvolved n the busness process, and jont excepton handlng for collectons of Web servces. A bass for these specfcaton tasks s the dscovery, coposton, and nteroperaton of Web servces, whch are prary pllars of autoatc process ntegraton and anageent solutons. In ths paper, we focus on the followng two probles of the Web servce-based busness process autoaton: the locaton of servces based the capabltes of publshed servces, and the coposton of busness processes based on the busness requreents of subtted process requests. Ths paper dscusses solutons to these probles, and, especally, focuses on the followng aspects: the specfcaton of the capabltes of servces and the requreents of requests, and algorths for atchng publshed servces and subtted process requests n ters of servce capabltes and requested busness requreents. The rest of ths paper s structured as follows: Secton 2 suarzes the prevous work on the probles of nterest, dscusses ther ltatons, and explans how the work presented n ths paper addresses the. Secton 3 addresses ssues nvolved wth the specfcaton of busness requreents n process request docuents. Secton 4 presents a atchng algorth for locatng servces based on servce capabltes and propertes. Secton 5 presents atchng algorths that are degned to satsfy the busness requreents and provde optal solutons n ters of eetng certan busness objectves. In Secton 6, conclusons are drawn and future work s outlned. 2 Related Work Recently, there have been actve studes related to the Web servce-based process autoaton n both acadea and ndustry. Industral effort for the busness process autoaton s centered around the Busness Process Executon Language for Web Servces (BPEL4WS), whch s an XML-based workflow defton language that allows copaes to descrbe busness processes that can both consue and provde Web servces [4]. Along wth copleentary specfcatons, WS-Coordnaton and WS-Transacton, BPEL4WS provdes a bass for a busness process autoaton fraework, and s vewed to becoe the bass of a Web servce standard for coposton. Wth the BPEL4WS specfcaton, vendors such as IBM provde workflow engnes (e.g., BPWS4J [3]) on whch busness processes wrtten n BPEL4WS can be executed. Runng on Web applcaton servers such as Apache Tocat, the workflow engnes support the coordnated nvocaton, fro wthn the
Web Servce-based Busness Process Autoaton Usng Matchng Algorths 3 process, of Web servces. There are soe studes, ostly fro acadea, done for the specfcaton of servce capabltes and process requests by usng seantc knowledge-based arkup languages, notably, OWL-S(forerly known as DAML-S) [2]. For atchng publshed servces and subtted process requests n ters of servce capabltes and requested busness requreents, we propose a syste ultple atchng algorths, a cro-level atchng algorth, whch atches the capabltes and attrbutes of publshed servces wth actvtes n a process request, and acro-level atchng algorths, whch are used to copose a busness process by selectng one servce for each actvty aong the canddate servces selected by the cro-level algorth. Soe prevous work envsoned the task of busness process coposton as an AI-nspred planng proble [3, ]. They represent a Web servce by a rule that expresses the servce capable of producng a partcular output, gven a certan nput. Then, a rule-based expert syste s used to autoatcally deterne whether a desred coposte process can be realzed usng exstng servces, and construct a plan that nstantates the process. 3 Requreent Specfcaton In ths secton, we address ssues nvolved wth the specfcaton of busness requreents and objectves n process request docuents. We dscuss what nforaton on busness requreents and preferences need to be specfed n process request docuents and how the nforaton ay be used n the dscovery of servces and the coposton of processes. We extend the BPEL4WS specfcaton to accoodate ths nforaton n busness process docuents. Busness process docuents wrtten n BPEL4WS ostly consst of the followng parts, whch are prary coponents of BPEL4WS [4]: Process defton, Partner defton, Contaner defton, Flow odel, and Fault handlng. Fg. shows an exaple of specfyng several requreents for a busness process,.e., cost, te and qualty of servces. In Secton 5, we wll explan how ths requreent nforaton s used n selectng servces for coposng a busness process wth an algorth for optzng certan busness objectves, or a ultattrbute decson analyss algorth that axzes the total utlty value of selected servce cobnatons. <busnessrequreents> <requreent nae="processbudget" type="cost" value="30000.00" ut="usd" lt="axu" weght="0" />
4 Yanggon KPP and Juhnyoung LeeP2P <requreent nae="processte" type="te" value="365" ut="days" lt="axu" weght="7" /> <requreent nae="processavalablty" type="qualty" value="98.0" ut="%" lt="u" weght="5" /> </busnessrequreents> Fg.. Specfcaton of busness requreent In addton to busness requreents, users of busness processes soetes need to express ther preferences n selectng Web servces for pleentng processes. An exaple s the preference regardng who a copany prefers (or does not prefer) partnerng wth n a busness process dependng on ts exstng busness relatonshp wth servce provders. 4 Servce Dscovery wth Mcro-Level Matchng Ths algorth returns a (pre-specfed) nuber of servces that suffcently atch wth an actvty n the request. It s based on the prevous work n [3, 9] whch allows servce provders to advertse ther servces n OWL-S servce profle arkup, and atch subtted requests agan n OWL-S profle arkup wth approprate servces. Unlke ths prevous work, our work does not depend on OWL-S profle, but utlzes the specfcaton of servce capabltes and request requreents drectly stored n UDDI records and BPEL4WS docuents, respectvely. Ths algorth s referred to as a cro-level atchng algorth, because t ostly deals wth a sngle atoc process of a request. Fg. 2. The cro-level atchng algorth
Web Servce-based Busness Process Autoaton Usng Matchng Algorths 5 Fg.2 depcts the archtecture of the cro-level atchng algorth. The Parser odule s capable of parsng an nput BPEL4WS docuent and creates objects storng busness requreents specfed n the docuents. The Inference Engne odule parses and reasons wth ontologes that provde the workng odel of enttes and nteractons n knowledge doans of nterest, specfed n the OWL language [5, 6]. The Capablty Matchng Engne s based on the seantc atchng algorths outlned n [3, 9]. Whle the atchng algorth presented n [9] s constraned to atch only nput and output essages of Web servces, the algorth proposed n [3] generalzed the prevous algorth to atch for any attrbute of servces and requests by paraeterzng the atch crtera such as qualty, servce categores as well as nput and output essages. Fgure 4 outlnes the an control loop of the atchng algorth, whch s based on the work n [3]. The degree of atch s a easure of the seantc dstance between the conceptual eangs of the servce attrbutes [3, 9]. Each attrbute has a lexcal concept attached to t that s defned n the Ontology Database avalable to the Inference Engne. We use three dfferent degrees of atches based on specalzaton relatonshp as defned n [9]. As gven n the degreeofmatch odule of Fg.3, the degrees of atch are preferentally ordered based on the seantc dstance that the degree represents: an EXACT atch between concepts s preferred to a PLUG_IN atch, and a PLUG_IN atch s preferred over a SUBSUMES atch [9]. atchattrbute(request, servce, atchcrtera) { for each crtera n atchcrtera do { requestattrbutes = request(attrbutecrtera); servceattrbutes = servce(attrbutecrtera); for each requestattrbute n requestattrbutes do { for each servceattrbute n servceattrbutes do { degreematch = degreeofmatch(requestattrbute, servceattrbute); f (degreematch < atchlt) return fal; f (degreematch < globaldegreematch) globaldegreematch = degreematch; } } } return success; } degreeofmatch(requestattrbute, servceattrbute) { f requestattrbute s SaeClassAs servceattrbute return EXACT; f servceattrbute s SubClassOf requestattrbute return PLUG_IN; f requestattrbute s SubClassOf requestattrbute return SUBSUMES; else return FAIL; } Fg. 3 Capablty atchng algorth
6 Yanggon KPP and Juhnyoung LeeP2P 5 Macro-Level Matchng The cro-atchng algorth works wth other atchng algorths, acro-level atchng algorths, whch are used to copose a busness process by selectng one servce for each actvty n the request. The output fro the acro-level atchng algorths satsfes the busness requreents of the subtted request, and provdes optal solutons n ters of eetng a certan objectve, e.g., zng the cost or executon te, or axzng a certan qualty easure. In ths paper, we odel the acro-level atchng proble as a varaton of the ultple-choce knapsack proble [8], and desgn a confgurable, generc optzaton engne, whch can be repeatedly run wth varatons of confguraton crtera n search for a busness process soluton best ft the need. In addton, we alternatvely odel the acrolevel atchng proble as a ult-attrbute decson akng proble. Ths odel s partcularly useful when t s not suffcent to provde an optal soluton for a sngle easure, but requres axzng the total utlty value of ultple busness easures of nterest. Our algorth s based on ult-attrbute decson analyss, whch coputes the scores of the canddate servce cobnatons by consderng ther attrbutes values and capabltes, ranks the canddates by score, and selects servces aong the top-rankers. 5. Multple-Choce Knapsack Algorth Fg.4 dsplays the archtecture of the acro-level atchng algorth. The nput to the atchng algorth s a set of Non-Donated Match Vectors, one vector for each atoc actvty n the request, whch were generated by the cro-level atchng algorth. The output of the optzaton engne s a set of servces selected fro the nput, one servce fro each Non-Donated Match Vector. The atch engne can be custozed for dfferent busness objectves and constrants as specfed n another nput to the engne, the Confguraton. Fg.4. The acro-level atchng algorth We odel the acro-level atchng proble as a varaton of the ultple-choce knapsack proble [8]. The "ultple-choce" ter n ths proble desgnaton refers
Web Servce-based Busness Process Autoaton Usng Matchng Algorths 7 to the requreent of selectng exactly one servce fro each canddate lst,.e., each Non-Donated Match Vector. For a specfc exaple, consder the followng proble: We are gven a set of busness actvtes n our busness process request, a,...,a such that actvty, a, contans n canddates of Web servces fro the crolevel atchng step. The j-th canddate for actvty a has cost c j, and executon te t j. Gven the total executon te lt T for ths busness process, the goal of ths acro-level atchng algorth s to copose an pleentaton plan for ths busness process by selectng one and only one Web servce canddate fro each canddate lst such that the overall cost s zed wthout exceedng our total executon te lt. If we use ndcator varable x j to ndcate whether the j-th servce fro the canddate lst for actvty a was selected, we can foralze the proble wth the followng equatons: ze C = n = j= cjx j subject to = j= tjxj T j= xj =, =,..., { 0,},, j. xj The ultple-choce knapsack proble s known to be NP-hard [8]. It s possble to exactly solve the above probles usng branch-and-bound algorths, but because the worst-case runng te of these algorths s exponental n both the nuber of actvtes and the nuber of canddates on each lst, branch-and-bound algorths are often too slow to be useful. An alternatve approach s to use dynac prograng techques, and there are a nuber of algorths known n ths drecton [8]. By usng off-the-shelf software packages of optzaton algorths such as IBM's OSL [2], the gven proble can be pleented n a straghtforward anner. Wth ths odel n place, we can vary the proble wth dfferent objectve functons and constrants. The varaton of the proble can be pleented by usng the Confguraton coponent n Fg.4. For exaple, soe processes ay need to be optzed for executon te, whle other easures such as cost wll be treated as a constrant. In ths case, the proble can be re-forulated as follows: We are gven a set of busness actvtes, a,...,a such that actvty, a, contans n canddates of Web servces. The j-th canddate for actvty a has cost c j, and executon te t j. Gven the total cost budget C for ths busness process, the goal of ths algorth s to copose an pleentaton plan for ths busness process by selectng one and only one Web servce canddate fro each canddate lst such that the overall executon te s zed wthout exceedng our total executon te lt. If we use ndcator varable x j to ndcate whether the j-th servce fro the canddate lst for actvty a was selected, we can foralze the proble wth the followng equatons: ze T = tjxj = j=
8 Yanggon KPP and Juhnyoung LeeP2P subject to = j= cjxj C j= xj =, =,..., { 0,},, j. xj Yet another varaton of ths proble s an optzaton on an nterestng etrc such as the degree of atch descrbed n the prevous secton. For exaple, the proble can be forulated as follows: We are gven a set of busness actvtes, a,...,a such that actvty, a, contans n canddates of Web servces. The j-th canddate for actvty a has cobned degree of atch d j, cost c j, and executon te t j. Gven the total cost budget C and the total executon te lt T for ths busness process, the goal of ths algorth s to copose an pleentaton plan for ths busness process by selectng one and only one Web servce canddate fro each canddate lst such that our overall degree of atch s axzed wthout exceedng our total cost budget and the total executon te lt. If we use ndcator varable x j to ndcate whether the j-th servce fro the canddate lst for actvty a was selected, we can foralze the proble wth the followng equatons: axze D = n = j= djx j subject to = j= cjxj C = j= j= tjxj T xj =, =,..., { 0,},, j. xj The degree of atch of an actvty can be ore portant than those of other actvtes. In such a case, the varant portance of degree of atch of dfferent actvtes can be reflected n the odel by the assgnent of weght w for each a. Then the objectve odel s slghtly odfed as follows: axze D = n w = j= djx j 5.2 Mult-Attrbute Decson Analyss Another approach to solvng the acro-level atchng proble s a ult-attrbute decson analyss. Ths ethod s partcularly useful when t s not suffcent to
Web Servce-based Busness Process Autoaton Usng Matchng Algorths 9 provde an optal soluton for a sngle easure, but requres axzng the total utlty value coputed by consderng ultple busness easures such as cost, executon te, degree of atch, qualty, category, and busness entty relatonshp. The nput to ths algorth s a set of n servce cobnatons, s,..., s n such that servce cobnaton, s, contans Web servces, one servce for each actvty n the gven busness process. Also, each servce cobnaton has k busness attrbutes, x,..., x k such that busness attrbute, x j, s assgned a relatve weght w j (Reeber the weght attrbute of the <requreent> tag n Fg..). Then ths algorth uses addtve value functon n order to copute the scores of the alternatve servce cobnatons. The syste then ranks the alternatve cobnatons by score, and selects the wnng cobnatons aong the top-rankers. The basc hypothess of ths ult-attrbute decson analyss algorth s that n any decson proble, there exsts a real valued functon U defned along the set of feasble alternatves, whch the decson aker wshes to axze. Ths functon aggregates the crtera x,..., x k. Besdes, ndvdual (sngle-easure) utlty functons U (x ),..., U n (x n ) are assued for the k dfferent attrbutes. The utlty functon translates the value of an attrbute nto utlty uts. The overall utlty for an alternatve s gven by the su of all weghted utltes of the attrbutes. For an outcoe that has levels x,..., x k on the k attrbutes, the overall utlty for an alternatve s gven by U ( x k = x,, x k ) wu ( ) = The alternatve wth the largest overall utlty s the ost desrable under ths rule. Each utlty functon U(x ) assgns values of 0 and to the worst and best levels on that partcular objectve and k = w =, w > 0 Consequently, the addtve utlty functon also assgns values of 0 and to the worst and best concevable outcoes, respectvely. A basc precondton for the addtve utlty functon s preferental ndependence of all attrbutes, whch has been the topc of any debates on ult-attrbute utlty theory [, 4]. 6. CONCLUDING REMARKS In ths paper, we addressed two prary probles of the Web servce-based busness process autoaton: the locaton of servces on the bass of the capabltes of publshed servces, and the coposton of busness processes on the bass of the busness requreents of subtted process requests. We proposed a soluton, whch coprses ultple atchng algorths, a cro-level atchng algorth and a acro-level atchng algorth. The frst algorth reasons wth seantc nforaton of servces and returns servces that suffcently atch wth an actvty n the request. The second algorth solves a varaton of the ultple-choce knapsack proble that odels the acro-level atchng proble for optzng a busness objectve and fulfllng other busness constrants. In addton, we proposed a ult-attrbute decson analyss algorth, whch can be used wth the
0 Yanggon KPP and Juhnyoung LeeP2P optzaton algorth n a copleentary fashon for a better process coposton result. Ths algorth s partcularly useful when t requres axzng the total utlty value coputed by takng ultple busness easures nto account. For securng nforaton requred for the executon of the atchng algorths, we explaned how exstng standards, UDDI and BPEL4WS, could be used and extended to specfy servce capabltes of servces and busness requreents, respectvely. 7. REFERENCES. R. T. Cleen, Makng Hard Decsons: an Introducton to Decson Analyss, Wadsworth Publshng Copany, Belont, CA, 996. 2. DAML-S Coalton, "DAML-S: Web Servce Descrpton for the Seantc Web," Proceedngs of the st Internatonal Seantc Web Conference, June 2002. 3. P. Dosh, R. Goodwn, R. Akkraju, S. Roeder, "A Flexble Paraeterzed Seantc Matchng Engne," IBM Research Report, 2002. 4. W. Edwards, "How to Use Mult-Attrbute Utlty Measureent for Socal Decson Makng," IEEE Transactons on Systes, Man, and Cybernetcs SMC, vol. 7:326-340, 977. 5. D. Fensel, I. Horrocks, F. van Harelen, D. L. McGunness, and P. F. Pate, "OIL: An Ontology Infrastructure for the Seantc Web," IEEE Intellgent Systes, Vol. 6, No. 2, 200. 6. J. Hendler, and D. L. McGunness, "DARPA Agent Markup Language," IEEE Intellgent Systes, Vol. 5, No. 6, 200. 7. F. Leyann, D. Roller, and M. T. Schdt, "Web Servces and Busness Process Manageent," IBM Systes Journal, Vol. 4, No. 2, 2002. 8. S. Martello, and P. Toth, Knapsack Probles, Chchester, New York, John Wley & Sons, 990. 9. M. Paolucc, T. Kawaura, T. R. Payne, and K. Sycara, "Seantc Matchng of Web Servces Capabltes," Proceedngs of the st Internatonal Seantc Web Conference, June 2002. 0. M. Paolucc, T. Kawaura, T. R. Payne, and K. Sycara, "Iportng the Seantc Web n UDDI," Workshop on Web Servces, e-busness, and the Seantc Web: Foundatons, Models, Archtecture, Engneerng and Applcatons, Toronto, Ontaro, Canada, May 2002.. S. R. Ponnekant, and A. Fox, "SWORD: A Developer Toolkt for Web Servce Coposton," Proceedngs of the th World Wde Web Conference, Honolulu, Hawa, May 7-, 2002 2. IBM Optzaton Solutons and Lbrary, http://www- 3.b.co/software/data/b/osl/ndex.htl. 3. "BPWS4J," IBM Corporaton, http://alphaworks.b.co/tech/bpws4j, August 2002. 4. "Busness Process Executon Language for Web Servces, Verson.0," BEA Systes, IBM Corporaton, and Mcrosoft Corporaton, Inc., http://www.b.co/developerworks/lbrary/ws-bpel/, July 2002.