RESTful Web service composition with BPEL for REST

Current Web service technology is evolving towards a simpler approach to define Web service APIs that challenges the assumptions made by existing languages for Web service composition. RESTful Web services introduce a new kind of abstraction, the resource, which does not fit well with the message-oriented paradigm of the Web service description language (WSDL). RESTful Web services are thus hard to compose using the Business Process Execution Language (WS-BPEL), due to its tight coupling to WSDL. The goal of the BPEL for REST extensions presented in this paper is twofold. First, we aim to enable the composition of both RESTful Web services and traditional Web services from within the same process-oriented service composition language. Second, we show how to publish a BPEL process as a RESTful Web service, by exposing selected parts of its execution state using the REST interaction primitives. We include a detailed example on how BPEL for REST can be applied to orchestrate a RESTful e-Commerce scenario and discuss how the proposed extensions affect the architecture of a process execution engine.

[1]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[2]  Steve Vinoski Serendipitous Reuse , 2008, IEEE Internet Computing.

[3]  Hagen Overdick The Resource-Oriented Architecture , 2007, 2007 IEEE Congress on Services (Services 2007).

[4]  Liana L. Fong,et al.  BPEL4Job: A Fault-Handling Design for Job Flow Management , 2007, ICSOC.

[5]  Michael Schrenk,et al.  Webbots, Spiders, and Screen Scrapers: A Guide to Developing Internet Agents with PHP/CURL , 2007 .

[6]  Roy T. Fielding,et al.  Uniform Resource Identifiers (URI): Generic Syntax , 1998, RFC.

[7]  Marlon Dumas,et al.  Service Interaction Patterns , 2005, Business Process Management.

[8]  Steve Vinoski,et al.  Putting the "Web" into Web Services: Interaction Models, Part 2 , 2002, IEEE Internet Comput..

[9]  J. Tack,et al.  A little rest and relaxation , 2000, Gut.

[10]  Florian Rosenberg,et al.  Composing RESTful Services and Collaborative Workflows: A Lightweight Approach , 2008, IEEE Internet Computing.

[11]  Uwe Aßmann,et al.  Invasive Software Composition , 2003, Springer Berlin Heidelberg.

[12]  Marc J. Hadley,et al.  Web application description language (WADL) , 2006 .

[13]  Lauren Wood 技術解説 IEEE Internet Computing , 1999 .

[14]  Steve Vinoski,et al.  Web Services Interaction Models, Part 1: Current Practice , 2002, IEEE Internet Comput..

[15]  Schahram Dustdar,et al.  A survey on web services composition , 2005, Int. J. Web Grid Serv..

[16]  Mathias Weske,et al.  RESTful Petri Net Execution , 2008, WS-FM.

[17]  Mathias Weske,et al.  BPEL4Chor: Extending BPEL for Modeling Choreographies , 2007, IEEE International Conference on Web Services (ICWS 2007).

[18]  Mirroring resources or mapping requests: implementing WS-RF for grid workflows , 2006, Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06).

[19]  Gail E. Kaiser,et al.  Collaborative Work: SWAP: Leveraging the Web To Manage Workflow , 1999, IEEE Internet Comput..

[20]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[21]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[22]  Francisco Curbera,et al.  Bite: Workflow Composition for the Web , 2007, ICSOC.

[23]  Liming Zhu,et al.  Resource-oriented business process modeling for ultra-large-scale systems , 2008, ULSSIS '08.

[24]  Cesare Pautasso,et al.  Restful web services vs. "big"' web services: making the right architectural decision , 2008, WWW.

[25]  DustdarSchahram,et al.  A survey on web services composition , 2005 .

[26]  Cesare Pautasso,et al.  From Web Service Composition to Megaprogramming , 2004, TES.

[27]  Wolfgang Lehner,et al.  BPEL-DT - Data-aware Extension of BPEL to Support Data-Intensive Service Applications , 2007, WEWST.

[28]  Daniela Florescu,et al.  XL: an XML programming language for web service specification and composition , 2002, Comput. Networks.

[29]  Wolfgang Lehner,et al.  BPEL DT - Data-Aware Extension for Data-Intensive Service Applications , 2007, WEWST@ECOWS.

[30]  Frank Leymann,et al.  BPEL light , 2007 .

[31]  Jeffrey V. Nickerson,et al.  Developing web services choreography standards - the case of REST vs. SOAP , 2005, Decis. Support Syst..

[32]  Mashups…with or without potatoes… , 2007 .

[33]  Roy T. Fielding,et al.  Uniform Resource Identifier (URI): Generic Syntax , 2005, RFC.

[34]  Hagen Overdick Towards Resource-Oriented BPEL , 2007, WEWST.

[35]  T. Mexia,et al.  Author ' s personal copy , 2009 .

[36]  Thomas Friese,et al.  Grid Workflow Modelling Using Grid-Specific BPEL Extensions , 2007 .

[37]  Keith D. Swenson,et al.  Workflow and web service standards , 2005, Bus. Process. Manag. J..

[38]  Sam Ruby,et al.  RESTful Web Services , 2007 .