« Web Services in EJB 3 and WCF very much alike. | Main | Trends in technology platforms by country. »
May 4, 2006
AJAX : To Loosely Couple or Not.
At the moment, AJAX is as HTML was back in 1995 : a 'hot' skill, with a lot of buzz and many ways to approach it. As with every technology, patterns are already being cast to deal with the many issues surrounding it, but in my opinion, there is one issue that will have the most impact on AJAX developments : Loosely Coupling.
| [Entry continues to the left and below ad ] |
The term -- more widely used in web services -- refers to a server application not being tied exclusively to a particular client application, and vice versa. In AJAX's case, being a browser bound client there are two possibilities : Either you lock away -- tightly couple -- your server side application to a browser client or you leave the door open for tapping your server app from non-AJAX applications.
The difficulty in deciding to tightly couple or not your AJAX applications, depends more on what framework, tool or language you will be using for AJAX. For the mainstream platforms -- Java EE and .NET -- tightly coupling has been something that eases development, you create a component -- JSF or .NET Control -- customize it, deploy it, and have your web interface ready to go.
The current trend for using AJAX in these same platforms -- JSF and Atlas -- is the same: Everything is constructed behind the scenes and the interface is generated with the AJAX responsiveness everyone desires. Big deal you might say: "I'm still getting the end result I need", agreed you are, but at a price.
In the grander scheme of things, if your software collaborates with other departments, organizations or partners, using this last approach, you will in all likelihood reinvent the wheel every so often. If you build an application for HR, Finance or some other business area, even though you 'might' be able to reuse a component, you are still bounding the application to a browser client.
You see, one of the many benefits of AJAX applications, is that the browser is capable of making instantaneous calls to server side applications without the end user being aware of it, this in turn allows you to call many different sources if they are reachable as XML/web services. But if you are using a component development approach to AJAX applications, not only are you locking yourself away from this possibility, but you are also blocking other developments -- AJAX or non-AJAX -- from reusing the same server side logic.
On the other hand, having a loosely coupled architecture may not be a big deal for an isolated application or even a software start-up that requires the fastest development time possible, but if you are in an organization that is taking the steps to ensure a Service Orientated Architecture, this may be a critical decision when designing AJAX applications.
You can read more on AJAX in other related articles I have written: ( AJAX : Demystifying the buzz for all platforms. (Basic intro) and Services with Ajax: Why, when and why not. (Intermediate design)
| [Comments below ad ] |
Posted by Daniel at May 4, 2006 5:22 PM
Comments
Post a comment
Track back Pings
Track Back URL for this entry:
http://www.webforefront.com/mtblog/mt-tb.cgi/43.








