We've Grown too Fat for AJAX
I believe we've all finally 'gotten' it. Object Oriented design with POJOs, simplified with both state and behavior, wired together with IoC flare. Many patterns outlined in the blueprints handbook just add needless complexity. Even the Java Champions mailing list had a question posted on the need for Data Transfer Objects anymore.
You're right sir, we've grown too fat with our simplified architectures. Who needs all of those layers/abstraction/patterns anymore? Just simplify, see through the needless complexity of the patterns outlined before. Why where they there? Was it to protect you from your own code or were patterns there to make up for the deficiencies of multi-tier deployment?
Riding on the issues with marshalling your domain objects, RPC opens up a couple other issues.
First off is Security. You were safe with your existing architectures since your objects were never exposed to remote clients. You queried, processed, and rendered on the server. Now there's facilities to expose your account and ordering information directly from your domain model. While at first glance, this seems like fun, you have to wonder if you want to expose everything you've wired into your domain models. Ah, the whole DTO pattern comes back into play. Think about services. Lets say you create a DAO (as in the equinox example) that exposes things by key, or allows for lookup. Will you ever do that with your account information or orders? I would hope not. So without creating a facade and adding contextual security to prevent snooping in DAOs and services, RPC and DWR are a bad idea.
What about data? How much and when do you send it? Some of your have been able to model some pretty rich relationships with the ORM frameworks we have today-- this is good. But how much of those relationships do you want exposed via marshalling. Again, we turn towards DTOs and facades to provide bounds over our elegant domain models. I'm not going to go back into the inablity to marshall Java logic, but instead start talking about the presentation.
What's the Solution?
Public examples of Ajax will seem glaringly obvious and without issue (such as auto completing your zip code), but I'm talking about actual business applications. With that you have to tread carefully with the technologies above, but I'm just not sure the trade-off in development is there to constitute their use. As mentioned above, there are solutions to each issue, but is it worth the development?