It’s official!!! I’m starting a new book project– Service-Based Enterprise AJAX on the Microsoft Platform. (That’s the working title– not sure on what we’ll print on the cover!) I’m writing for Microsoft Press again, and compiling several years of real world enterprise experience building service based AJAX applications. I know there’s a LOT of AJAX books out there– but there’s not many great architectural focused AJAX books based on the Microsoft platform. I’ve been talking with a LOT of .NET developers lately, and too many .NET devs are stuck on a server-side based approach to UI development. Wrapping a data grid in the UpdatePanel does NOT make your application AJAX– although it’s a great way to make that sucker faster (and it TOTALLY has a great use case in grid-based applications)! But using server-based user interface controls breaks the AJAX model, and your user interface just isn’t as dynamic as a pure AJAX approach, and you’re tying your application to a UI in many cases. You also can’t fly in dynamic functionality on a whim when the user needs it (at runtime)– you’re stuck with what you put on the page at design time. AJAX breaks this model down, in that you can load multiple mini-applications whenever you want them. In a pure AJAX application– the user would really never have to navigate pages in your app– just application contexts. That’s rarely the case though, so we’ll take a balanced approach but still present the best architecture patterns available for dynamic AJAX applications.
The model that we’ll talk about in the book is service-based. This means that the application is completely contract-driven from an API perspective, and it all lives on the backend and is exposed through a published, documented and discoverable API. This lets us loosely couple the UI and swap out either side (the front end OR the back end) as we see fit. Are you tired of XSLT and want to switch to the Silverlight rendering engine? No problem– and you can reuse almost all of your code. Only the rendering engine is swapped out. The other benefits to this are that consumers can create their own mashup components, remote Windows Presentation Foundation applications or even Macintosh client apps based on your services. We’ve seen enormous benefits to this at NewsGator, and our product portfolio (now all FREE on the client side, BTW) reflects this.
Stay tuned for more info– and I’ll be blogging again pretty heavily as I write (after going "dark" for the last few weeks while I was waiting on my book proposal!). This time it’s not going to be SharePoint focused at all, although we’ll drop in a few chapters which should be interesting to non-SharePoint developers, as it’s a great platform to talk about integration and mashups on someone else’s server.