YOUR FEEDBACK
andy.mulholland wrote: intriguing !!! We have full scale 'Mashup Factories' in Chicago USA and Utrec...


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Web 2.0 Communication Layer: from HTTP to Comet to Internet Messaging Bus
Recently, we also started to realize some of the limitations of HTTP...

Coach Wei's Blog

What is Internet Messaging Bus? Internet Messaging Bus is an enhanced web communication layer built on top of HTTP that supports two-way, bi-directional communications as well as reliable messaging.

We all know HTTP, the communication layer of Web 1.0. Recently, we also started to realize some of the limitations of HTTP. For example, HTTP is request/response only and does not support bi-directional communication. There are techniques to be employed for enabling bi-directional communications on top of HTTP. These techniques are being called as “comet”. However, comet addresses only a small part of the challenge. There are a lot of other challenges to be addressed in order for the web communications layer to work well. At Nexaweb, we took a fairly systematic look at this issue a few years ago and invented a set of techniques to address them. These techniques have been working out very well (A lot of customer applications having been depending on them, such as financial trading applications used by over 20000 traders).  I call such a set of techniques “Internet Messaging Bus” (IMB).

The Web needs an enhanced communication layer in order to be more broadly adopted for enterprise business applications. This communication layer is beyond HTTP, beyond comet, and I think it is Internet Messaging Bus.

Historically speaking, the Internet was initially designed for presenting and sharing hyperlinked documents in the form of Web pages. Therefore, the communication layer is based on the HTTP “Request/Response” model, which adequately serves the purpose of “browsing.” Internet Messaging Bus is an enhanced communication layer that delivers reliability and two-way communications required by “mission critical” enterprise applications.

First off, Internet Messaging Bus supports guaranteed message delivery. Without IMB, when a user submits a request to the server, whether this request will actually arrive at the server or not is unpredictable. If there is a network problem (either with the ISP or within the corporate network itself), there is a good chance the request will be lost. However, this is not always a problem for Internet browsing, as the user can always click the link a second and third time if the first URL request is lost. Although this seems like a basic example in very basic terms, it is a serious problem for mission critical enterprise applications. The case and point being, that it is not out of the realm of possibility that a multi-million dollar transaction can be literally be “riding on the line.”

IMB supports guaranteed order of message delivery. Without IMB, if the user submits two requests in a row, there is no guarantee that the first request will arrive at the server before the second request. Again, while this is not necessarily a problem for browsing Web pages, the result of a later request can be dependent on an earlier request when using the Internet for business applications. A random ordering of message delivery makes the application behavior unpredictable — a pattern that many Web application users are familiar with.

IMB supports once and only once message delivery. Without IMB, a user request may arrive on the server side twice or even more, if some network problem caused the message to be cached and delivered more than once. Again, while this is not necessarily a problem for browsing Web pages, it can cause serious transactional problems for business applications.

IMB supports server-initiated communications (server push). For those who knows comet, this feature is really what comet is about. HTTP supports client-pull only. In a “client pull only” model, the server works like a phone that never rings. Obviously this is not a problem for browsing because the server needs to simply respond to page requests. However, many enterprise applications require the server to initiate interactions. For example, a stock trading application needs to push the latest stock price to the end user from the server. To side step this problem, developers typically use “client polling,” but this significantly increases the server/network load and therefore decreases application performance.

I always say “Web 1.0 architecture is seriously flawed” from an application point of view. The limitation of HTTP is one of these flaws. It is no surprise that the common perception is that Web applications are unreliable and problematic. Users often experience “404,” “resource unavailable” and “network unavailable” errors or even a mysterious application error telling them to “retry the application later.” The truth is that a fundamental source of all these problems is the HTTP communication layer of the Web itself, as it is often the cause of many of these problems. In order for the web to be adopted for enterprise business applications, Internet Messaging Bus is a must-have requirement.

About Coach Wei
Coach Wei is the Founder and Chairman of Nexaweb (www.nexaweb.com), developers of the leading software platform for building and deploying Web 2.0 and AJAX applications. Previously, he played a key role at EMC Corporation in the development of a new generation of storage network management software. Wei has his master's degree from MIT, holds several patents, is the author of several technology publications including JDJ, Web 2.0 Journal, and AJAXWorld Magazine, and is an industry advocate for the proliferation of open standards.

YOUR FEEDBACK
omg wrote: This is seriously the dumbest thing i read this year. The Windows Server 2008 ad in the top corner just adds to this farce.
Fernandez wrote: Complex user interfaces made with HTML and Javascript and communication based on HTTP just makes totally screwed systems. Impossible to debug and make secure. We cannot continue to ignore the lessons from the past. We should build UI with high level languages and COMMS with specialized protocols.
David wrote: I agree with Kevin Ryan. Now THAT is a guy that knows what he is talking about. Unlike the post author, Coach Wei, aka 'AJAXWorld News Desk'. "HTTP, the communication layer of Web 1.0." buahahah Next, you'll tell me the internets is a series of tubes. All of this is quite amusing. By the way, Cometd is comet with a messaging bus. Sound familiar? Oh, and it isn't vaporware like IMB. Cheers!
Mike wrote: As more and more layers are piled on top of the HTTP layer, my jaw drops lower and lower. All the concerns of guaranteed, in-order, singular delivery, etc. are important to applications. It's all so inefficient and complex. Ironically, as standards evolve, I see a whole new market for security tools to deal with the problems introduced by these new ultra high level protocols. It all seems vaguely familiar... Weren't all these concerns examined at a much lower level 15-20 years ago as TCP/IP really began to flourish? We need to take a step back and ask if everything needs to be piled on HTTP, just because it provides a pretty reliable and consistent path through firewalls and a ubiquitous browser client. Wouldn't the better solution be to take another of the plethora of protocols that is more suitable to truly bidirectional communication? Or, build a new protocol that builds on what...
Me boo wrote: This article is pure bullshit
Kevin Ryan wrote: I totally disagree with this article; the Web is a hugh-scale example of an architecture that works well and HTTP (and the URL) is what makes it work!! HTTP was cleverly designed to be scalable for use with technology that did not exist when it was created (content negotiation between client and server). The fact that IMB is a 'layer on top of HTTP" (like SOAP and the other crippling layers), illustrates the flexibility of HTTP. How can you imply that it is HTTP's fault for 404's? That is a server generated error message (that the requested resource is missing) - HTTP is just the messenger. The article's example of message ordering is confusing. If the second request depends on the results of the first, then how could the second request ever arrive before the first? It would never have been sent until the results of the first were obtained. IMB's guarantee of message delive...
AJAXWorld News Desk wrote: We all know HTTP, the communication layer of Web 1.0. Recently, we also started to realize some of the limitations of HTTP. For example, HTTP is request/response only and does not support bi-directional communication. There are techniques to be employed for enabling bi-directional communications on top of HTTP. These techniques are being called as ?comet?. However, comet addresses only a small part of the challenge. There are a lot of other challenges to be addressed in order for the web communications layer to work well.
LATEST JAVA STORIES & POSTS
The one thing that unifies the distributed computing style known as SOA, in most of its manifestations, is self-describing data via the Extensible Markup Language (XML). The benefits of XML over opaque message formats in data interchange are well established. No matter if your fo...
In the past couple of years, interest in Jetty has surged. Jetty is an open source Java-based web and application server and servlet container, but what else do you know about it? To commemorate the 12th anniversary of Jetty, here are 12 things that might surprise you
JavaScript is one of the most interesting and misunderstood programming languages in common use today. Most developers will go their entire careers without realizing its full potential. It's not often that you get a language that supports the feature set that JavaScript does, whi...
JavaScript 2 is becoming increasingly important. Learn how to take advantage of JavaScript 2 while still running in today's browsers. Leverage your current JavaScript and HTML skills to build applications that run in Flash 7-9, DHTML and more with no code changes! OpenLaszlo 4.2 ...
JavaScript is a language with more than its share of bad parts. It went from non-existence to global adoption in an alarmingly short period of time. It never had an interval in the lab when it could be tried out and polished. JavaScript has some extraordinarily good parts. In Jav...
Cloud computing is an opportunity for businesses to implement low-cost, low-power and high-efficiency systems to deliver scalable infrastructure. But moving to a cloud infrastructure is not necessarily as nice and clean as the providers would want you to think. With cloud infrast...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

SPONSORED BY INFRAGISTICS
In every field of design one of the first things students do is learn from the work of others. They ...
There are many forces that influence technological evolution. After a decade of building enterprise ...
2008 is going to be an important year for Rich Internet Applications. Most organizations are deliver...
The OpenAjax Alliance is developing an Ajax industry wishlist for future browsers, using a dedicated...
Infragistics announced the availability of two Community Technology Preview (CTP) User Interface (UI...
The YUI development team has released version 2.5.2; you can download the new release from SourceFor...
ADS BY GOOGLE