It seems that there is an explosion of AJAX libraries and opensource projects, RICO, DWR, Prototype, etc. Which one seems to have the most support and do you see these as compimenetary or competitive to each other.
You figure that there are one or two Ajax libraries?
I don't know which libraries seem to have the most support, and would not even want to guess at that. The market in my opinion is too wide open, and not settled enough. There is too much noise and I am part of that noise.
From a personal perspective I like Prototype, and DojoToolkit the best as they seem to be the most professional and well thought out. This is not to say that other toolkits are bad. Just that Prototype, and DojoToolkit jump out to me and say, "use me, use me". What I like about the two mentioned toolkits is that they are client side focused and do not try to "fix" the server.
For protocol I see XML, and JSON as being two defacto standards. Initially I disliked JSON, but have appreciated its niche with respect to Ajax.
With respect to Ajax, Struts and Tiles. IMHO, and please let's keep it at that, I feel those days are past us. I believe that the power of Ajax is its ability to decouple the client from the server and vice-versa.
Struts and Tiles solve the problem well, because Struts and Tiles assume that the client is generally "dumb". However, Ajax changes this in that the client can make decisions and load the appropriate content when its needed. The focus of control on what the application does switches from the server to the client. The client sees the server as a series of resources that can be dynamically injected into the HTML. The individual resources will in most cases not be related to each other, and expect the client to wire everything together.
I personally feel the Ajax approach is how we code client GUI's in a traditional environment. When we create a push button, and click it, the client decides what to do and how to do it. In most cases the client will make server side calls using IIOP, or Web Services. In the case of Ajax I see REST as the server side calling mechanism.