Ajax Application Patterns
Since I think in Patterns and JackBe has done lots of Ajax in the last few years, I've tried to organize all the work we’d done as a set of Ajax application patterns. I was able to whittle it down to three:
- The first (obvious) pattern was simple: down-and-dirty Web Apps. Take any old client-server application, applications you need but haven’t gotten around to building, and new enterprise class applications and move them to the browser using Ajax. You’ve probably seen examples of this in the consumer world like self-service travel or account access & bill payment, and in the enterprise world, ‘SaaS’ apps like on-line CRM/ERP. We’ve even done this in one instance where the application was supposed to look exactly like its client-server predecessor. Admittedly, it wasn’t terribly sexy-looking, since the original app was many years old. The application owners wanted to deploy new features easily but didn’t want to retrain a workforce of 10,000+. They got the best of both worlds.
- A second (less obvious) Ajax application pattern is the Dynamic Desktop. You give users easy access to sources of data and logic, easy ways to integrate them, and easy ways to apply visual skins, such as graphs and maps. While this is certainly a popular style in the consumer world, enterprises always have higher requirements in areas like security, governance, and scalability. This application pattern works well in areas where knowledge workers have ever-changing information needs. Think call center staff or anyone with ‘analyst’ in their title. The coolest example I know of is the briefing dashboard we’ve developed for the DIA.
- Finally, the least obvious, but the one I think has the most potential is the 'Web Embeddable'. In this case, the emphasis is on embedding business functionality into a page as a black box. Pretty much like Google Maps, except for the enterprise. The Web Embeddable is delivered from the enterprise data center and all communication between it and the data center is handled out of the box. Many people might think I am talking about snippets and widgets like popup calendars and sliders. This is not that. Think about a mini home loan approval application. Instead of going to a LendingTree.com site to apply, why not have Lending Tree develop a Web Embeddable and syndicate it? Let anyone embed it and get a cut from Lending Tree. Seems to make sense to me (we call this Application Syndication). JackBe did this for a recent customer. We built an e-commerce checkout Web Embeddable that did full catalog and shopping management. The beauty is it doesn't care where it's running because all communication from the application to the data center is self managed and secure. This makes for a wonderful user experence and that is always good for business.



