Real asynchronous vs. Simulated asynchronous
Abstract: In the asynchronous world, we can talk about Real async and Simulated async. Each one has its own pros and cons. Let’s see a simplified sample of each case.
Sample scenario, let’s assume two systems, A and B:
1.- A sends a message to B.
2.- B processes the request from A.
3.- B returns a response to A.
Constraint: The processing of the request (step 2) takes some unpredictable time, so we cannot afford A to have an open connection waiting for the response from B at step 3. We need an asynchronous model, but it can be a real async or simulated async.
Real Async
In a Real async scenario all the communications are one-way, fire-and-forget. A sends the request to B and closes the connection. Once the processing is finished, B starts a new connection with A and sends a new message, the response.
The characteristics are:
- Each message goes in a true one-way communication.
- Both client and server must implement listeners --> from the communications point of view, both are client and servers.
- Both A and B must be aware of the other system's endpoint.
- Bandwidth and CPU are optimized, and there are no blocking points.
here is a sample picture. Arrows shows who start the communications:
Probably, the most important issue is the second point: both A and B are clients and servers (or consumers and providers). Both systems must implement a listener or message sink. This is not suitable in many cases when A is a client app. So we can go for a simulated async.
Simulated Async
In the simulated approach, almost all the communications are still one-way, but B never starts a new connection; instead, B just puts the response available for A. It’s A responsibility to get the response, doing some polling.
The characteristics are:
- All the communications are started by A. B does not deal with communications issues.
- B is not even aware of A. If there are many As, B does not need to know.
- Easy to implement. Or at least, easier than Real Async.
- Bandwidth overload, because of the polling, as well some CPU consumption on A.
Here is the sample picture, modified showing simulated async via polling. Arrows shows who start the communications:
In this case, the response is not sent (PUT); it’s retrieved (GET), so it’s not a one-way communication.
These two models can extend to the infinite with many variations, but I think here are the two most basic ones.
Comments
Anonymous
August 18, 2005
Thank you for the info. This was very helpful. http://www.bignews.comAnonymous
February 21, 2006
Kansas City hotelsAnonymous
March 02, 2006
Kissimmee hotelsAnonymous
March 19, 2006
Very nice and informative website.Anonymous
April 29, 2006
Very nice website with a lot of informative response from membersAnonymous
June 02, 2006
i like your website very much but please do get us more information about itAnonymous
August 22, 2006
Very nice blog. I read it every day.Anonymous
November 16, 2006
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://www.wholesalemotel.info/pram_France/miracle_Rh%C3%B4ne-Alpes/inflect_Lyon_1.htmlAnonymous
November 23, 2006
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://www.lowcostresort.info/page/1132.htmlAnonymous
December 05, 2006
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://www.reductionmotel.info/bleb_Germany/intelligibility_Berlin/applause_Berlin_1.htmlAnonymous
December 07, 2006
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://www.bbhotelhome.info/observance_Italy/lure_Emilia-Romagna/bourgeois_Rimini_1.htmlAnonymous
December 07, 2006
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://www.krakowhotelhome.info/defamation_United%20Kingdom/indelicacy_England/move_Nottingham_1.htmlAnonymous
December 21, 2006
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://fmis.coa.gov.tw/Members/car/nsurance_1.htmlAnonymous
January 22, 2007
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://www.banksjob.info/accusal_Germany/virulent_Niedersachsen/ukulele_Hannover_1.htmlAnonymous
January 26, 2007
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://www.alltasks.info/cuss_Spain/disorder_Islas%20Baleares/oscular_San%20Antonio_1.htmlAnonymous
March 05, 2007
luogo interessante, soddisfare interessante, buon!Anonymous
March 10, 2007
Luogo molto buon:) Buona fortuna!Anonymous
March 13, 2007
E evidente che il luogo e stato fatto dalla persona che realmente conosce il mestiere!Anonymous
March 15, 2007
luogo interessante, soddisfare interessante, buon!Anonymous
March 17, 2007
Lo trovo piuttosto impressionante. Lavoro grande fatto..)Anonymous
March 18, 2007
Stupore! ho una sensibilit molto buona circa il vostro luogo!!!!Anonymous
April 07, 2007
9 su 10! Ottenerlo! Siete buoni!Anonymous
April 09, 2007
Interessieren. SEHR interessant! ;)Anonymous
April 11, 2007
Ich besichtige deinen Aufstellungsort wieder bald fur sicheres!Anonymous
April 12, 2007
luogo interessante, soddisfare interessante, buon!Anonymous
April 15, 2007
Lo trovo piuttosto impressionante. Lavoro grande fatto..)Anonymous
August 14, 2007
BizTalk, EAI, BPM, SO/A and related technologies I do not agree. Go to http://apartments.waw.pl/Anonymous
October 30, 2007
<a href=" http://volodya.introduce.com.au/2007/10/31/maxpizdavorot/ ">maxpizdavorot</a> <a href=" http://volodya.introduce.com.au/2007/10/31/arturkovac/ ">arturkovac</a> <a href=" http://volodya.introduce.com.au/2007/10/31/radimovoleg/ ">radimovoleg</a> <a href=" http://volodya.introduce.com.au/2007/10/31/yes-my-friend/ ">yes-my-friend</a>Anonymous
June 08, 2009
PingBack from http://cellulitecreamsite.info/story.php?id=2584Anonymous
June 09, 2009
PingBack from http://hairgrowthproducts.info/story.php?id=1254