Seems the Web Application Architectures are Converging to Message Oriented

It seems the web is converging to messaging based architecture from traditional resource based architecture in which a hyperlink was treated as resource identifier. In recent past, came the RESTful style, that suggested to expose resources on web to let HTTP methods (GET, POST, PUT, DELETE, etc.) play with resources.

Now WebSockets are getting into play, that is socket based two way communication between web server and client. The protocol has already been standardized by IETF. The API standardization is almost done by W3C (see WebSockets API).

With Java perspective, the implementation is already bundled with latest releases of Tomcat and Jetty containers. Java Specification Request (JSR 356) for Java API for WebSockets' Review Ballot closed on March 2012. Spring is highly used framework for different enterprise requirements, on 30 April, Spring Source also rolled a ticket to add WebSockets support into Spring Framework.

As Java developer, there are a lot of interesting stuff to get familiar with in coming days. Specifically how the Java WebSocket API uses Java Servlet API, to initiate socket based communication. Whether its built independently on Java Core. In past, almost all web related technologies in Java were based on Servlets API, e.g. JSPs, SOAP and REST based web services (JAX-WS and JAX-RS).

I believe, the convergence to socket based communication wouldn't replace something but compliment existing technologies e.g. AJAX, "pure" HTTP and RESTful services. Additional choices (i.e. WebSockets) are interesting and would help to optimize performance areas for particular use cases (e.g. stock updates, online chats, etc) or other app that need frequent updates.

Have fun and stay tune :)

Comments