Tim's Weblog
Tim Strehle’s links and thoughts on Web apps, software development and Digital Asset Management, since 2002.
2003-10-17

Asynchronous processes and RPC

In his Architecture Briefings, Ingo Rammer writes about many software developer's dislike of asynchronous processes:

The Flowchart Lie [PDF]: "It seems to be the common approach to map business processes to technical functions using general request/response style communication between client and servers. This is done even though most of the underlying business processes are inherently asynchronous and would therefore easily lend themselves a mapping to asynchronous messaging. [...] In practice, this simply leads to the the well-known "I'm really sorry. Please give me a second. Our computer system is very slow today" response on the phone."

SOAP is Not a Remote Procedure Call [PDF]: "It is for example quite unlikely that Amazon.com would allow your incoming XML Order message direct, real time access to its backend systems. It will instead store them in some sort of message queue so that it can process these messages whenever capacity is available, and will send outgoing OrderAccepted message later on."