Andrew Powell

Into The Mind of A Solutions Architect

Andrew Powell

Your MOM Is The Future Of The Web: WebNext

June 27, 2008 · 5 Comments

If "Web 2.0" was all about interactions and experience, then what I like to call "WebNext" is going to be about how we communicate with our services. The experience revolution that we've been a part of in the last 5 years has changed the way we use the Web, but WebNext will fundamentally change the way applications communicate and that will open up doors we never thought possible.

So what is going to drive all this? Well, it's quite simple. Ever since we've had the Web, and into Web 2.0, server communication has always been synchronous. The client makes a request and waits, in some form or another, for a response. The concept of WebNext is driven by Message Oriented Middleware (MOM). MOM brings a level of asynchronicity to the client-server communication paradigm that is just now starting to get traction in the enterprise sector. With MOM, your application sends a message to a message bus (cloud), then immediately goes about its business. Whether or not you listen for a corresponding response message from the bus, or if the server even responds via the bus, is totally unrelated the message you initially sent. It is a total shift from the request-response model we are used to now.

Let's stop for a minute and think about what this means in terms of development. Developers can now truly develop both the client and server (and back-office processes) in parallel to each other. As far as each tier is concerned, everything else that it communicates with is just a "black box". You can develop your client independent of the server, as long as you know what messages for which to listen and what messages you want to send and how to send them. It's pretty straightforward, once you break the components down.

The client level platform can be anything that can communicate with the message bus. Same goes for the servers and back-office processors. The bus that is the most prevalent foundation for architecting MOM powered applications is JMS. A good number of Enterprise Service Buses (like Fiorano), which expand on the concept of MOM, are running on top of JMS. At the moment though, Microsoft's MQ not withstanding, JMS is the most user-friendly and standards-based API available to implement MOM. JMS, at this point in the MOM concept, is a solid platform for implementing MOM type architectures.

Where does this bring us with WebNext? In WebNext, applications become independent of a particular web server and middleware. In WebNext, applications become message relayers, message creators, message readers, and message destinations. Applications gain true autonomy in this server independence. Applications will be able to communicate with a diverse and distributed set of services, ranging from an .NET app (there are JMS adapters) to Java apps to tiers such as ColdFusion. Security models can be setup that will make services either trusted or untrusted, authenticated or not, etc. The crux of WebNext is that it will give us a truly distributed web.

I believe that going forward, for the Web to remain relevant, it needs to be changing and evolving. This paradigm of WebNext via MOM is the next evolution for the Web. If, at the client level, we are able to, at least partially, break out of the request-response paradigm, why can we not break out of it when it comes to the server-side? The current communication, at its heart is still request-response and synchronous. Asynchronous requests to the server will allow us to open more doors and process data in methods currently not thought of as "standard practice". WebNext is the future, it's just a matter of how quickly we get there.

Tags: Java · ColdFusion · Flex · General · JMS · MOM · WebNext

5 responses so far ↓

  • 1 John // Jun 28, 2008 at 11:43 PM

    I agree with you that the future of web development is in MOM.<br /><br />The above site uses Browser to JMS communication to save user data. This gives the user the perception of a really fast updates, when in fact it uses JMS to save the database in a queue.
  • 2 Roger Voss // Jun 29, 2008 at 12:48 PM

    I've been building JMS-based, heterogeneous distributed software systems since 2003. Over the years I've been an evangelist for MOM in general and JMS in particular, having written numerous articles and blog/forum postings on the subject. Here is an item I posted back in Jan. 2006 urging folks to start looking at MOM/JMS as a new year's resolution:<br /><br />Why are Java developers ignorant of JMS and messaging in general?<br />http://www.javalobby.org/java/forums/m91986179.html<br /><br />Here are collection of links of things written on the subject matter of messaging:<br /><br />http://vossnet.org/jms-links.html<br /><br />I've been predicting the advent of a messaging approach to web/Internet software for about three years. I think the technology is now in place for that to finally happen.<br /><br />Let me explain:<br /><br />The latest distributed software architecture I've been designing and delivering incorporates Adobe Flex web RIA clients.<br /><br />We use BlazeDS in the middle-tier stack. BlazeDS is tied in with an adaptor to a JMS message broker in the data center. Flex clients can essentially be proxied by BlazeDS as subscribers to JMS topics. BlazeDS implements the Comet Pattern as a means to support server-side push of messages to clients.<br /><br />To better support the Comet Pattern, Tomcat 6 introduces async Comet Events (this must be used in conjunction to the Java NIO HTTP listener). Jetty supports continuations for similar purpose. Consequently, messaging push to web clients can now be scaled (because of Java NIO).<br /><br />BlazeDS doesn't yet support Comet Events and Jetty Continuations, but Adobe's James Ward told me that they will. They need to create an abstraction in BlazeDS that can support these multiple techniques of leveraging Java NIO in the web servers.<br /><br />In the meantime one can develop software around BlazeDS and expect that highly scalable support of the Comet Pattern will be forthcoming in a transparent manner.
  • 3 Peter Svensson // Jun 30, 2008 at 5:37 AM

    I like the way you think. Have you looked at SOFEA (Service oriented Front-End Architecture)? I believe it's the same basic idea, but focusing on the client with some specific patterns.<br /><br />http://sites.google.com/a/thinserverarchitecture.com/home/Articles<br /><br />Cheers,<br />PS
  • 4 cfindex // Jul 1, 2008 at 3:39 AM

    A beautiful Site.<br /><br />it improves my performence.<br /><br />this site is nice and very helpful.<br /><br />very nice blog.....
  • 5 cfindex // Jul 1, 2008 at 3:44 AM

    Thanks man.<br /><br />Excellent site.<br /><br />it improve my performence.<br /><br />It help me to built my carreer.<br /><br />this site is nice and very helpful.<br /><br />very nice blog.....

Leave a Comment