Pattern-Based Design of an Asynchronous Invocation Framework for Web Services

Asynchronous invocations are needed in the context of distributed object frameworks to prevent clients from blocking during remote invocations. Popular Web service frameworks offer only synchronous invocations (over HTTP). An alternative is messaging protocols but these implement a different communication paradigm. When client asynchrony is not supported, client developers have to build asynchronous invocations on top of the synchronous invocation facility. But this is tedious, error-prone, and might result in different remote invocation styles used within the same application. We present a number of patterns for asynchronous invocations and explain how these patterns can be used to build asynchronous invocation facilities for Web service frameworks. We exemplify this approach by explaining the design and implementation of an asynchronous invocation framework for Apache Axis.

[1]  大島 正嗣,et al.  Simple Object Access Protocol と,その応用としてのソフトウェアの組み合わせについて (渡邉昭夫教授退任記念号) , 2001 .

[2]  C. M. Sperberg-McQueen,et al.  Extensible markup language , 1997 .

[3]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.1 , 1997, RFC.

[4]  Aleksander Slominski,et al.  Web Services Invocation Framework (WSIF) , 2001 .

[5]  D. Box,et al.  Simple object access protocol (SOAP) 1.1 , 2000 .

[6]  David M. Booth,et al.  Web Services Architecture , 2004 .

[7]  Bobby Woolf,et al.  Enterprise Integration Patterns , 2003 .

[8]  Gustaf Neumann,et al.  Distributed Web Application Development with Active Web Objects , 2001 .

[9]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[10]  C. M. Sperberg-McQueen,et al.  eXtensible Markup Language (XML) 1.0 (Second Edition) , 2000 .

[11]  Uwe Zdun,et al.  Remoting Patterns , 2004, IEEE Internet Comput..

[12]  Miroslaw Malek,et al.  Search Strategies for Automatic Web Service Composition , 2006, Int. J. Web Serv. Res..

[13]  Brian Foote,et al.  Designing Reusable Classes , 2001 .

[14]  Shahram Ghandeharizadeh,et al.  A Comparison of Alternative Encoding Mechanisms for Web Services , 2002, DEXA.

[15]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[16]  Erik Wilde Hypertext Transfer Protocol (HTTP) , 1999 .

[17]  Michael Stal Design Patterns for Concurrent and Distributed Objects , 2001, TOOLS.

[18]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[19]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[20]  Uwe Zdun,et al.  Patterns for Asynchronous Invocations in Distributed Object Frameworks , 2003, EuroPLoP.

[21]  Mälardalen,et al.  .NET FRAMEWORK By , 2004 .