DWR, .NET
This morning I went to an Ajax talk that focused on DWR (direct web remoting) which exposes Java objects via JavaScript. The Spring integration provides direct access to beans in the web application context. Right now this is implemented as a servlet that is included with the web application, but they will soon provide tighter integration with Spring by providing a Spring MVC controller instead of a servlet. Overall it looks like very cool technology that requires minimal JavaScript to be coded inside of event handlers. I look forward to trying it out.
Afterwards I attended a session on Spring .NET. The motivation was to provide dependency injection for the .NET framework, especially for those spoiled by the DI provided by Spring on Java. Note that this is not just a code conversion port; much care is taken to develop this framework using .NET conventions and style. Non invasive DI frameworks are useful under any language or platform, and .NET is no exception.
Java developers familiar with Spring already know about the benefits of DI and are therefore drawn to Spring.NET, but most .NET developers that encounter Spring.NET do so because they are searching for a framework to ease .NET web development. After trying out the many features provided by Spring.NET such as the bi-directional data binding and the improved validation and i18n support, they get hooked on the DI container just like the rest of us!
They also provided a demo where a calculator service was consumed with a .NET client. The service was deployed using .NET remoting, RMI/IIOP, and WebLogic. That would be useful for creating Windows desktop clients that use J2EE as a middle tier.
The roadmap for Spring.NET includes a framework for WinForms clients, ADO.NET data access layer (like Spring JDBC), integrations with NHibernate and IBatis.NET, Spring WebFlow support, multiple view types for web applications, and more.