- Fluent NHibernate launches an official site and wiki.
- AutoMapper, an object-to-object mapper, maybe I can finally stop writing assemblers in my projects.
- Microsoft Geneva, enabling claim based applications, SSO for desktop apps perhaps.
- Mark Pollack talks about the Spring.Net roadmap on InfoQ, including a code based approach to configure your application.
- Custom authentication with Microsoft Geneva, shameless plug.
Actually, I still believe that assemblers are the way to go in most of the cases. Why? Because object-to-object mappers can’t be a one-ring-to-rule-them-all-solution.
I have tried multiple such frameworks in java and they all have their downsides. Take for example dozer: it requires that the object has a default (0 params) constructor. Writing a custom converter could be a work-around, but for some reason it doesn’t always pick up the right type of converter. (responding in yet another problem in your application)
SSO is nice! No need to worry about that whole “is my app secure” problem anymore. Does it include the necessary annotations so you can just configure the whole security on a method/class level?
I actually just hope that some boilerplate code can be omitted by using the framework (AutoMapper), some cases will still need developer input but that’s okay.
About the no params constructor, other frameworks need that to. NHibernate for instance so probably Hibernate too. But you can make the constructor protected so it doesn’t pollute your domain that much. I agree that frameworks you use should not force your code in a particular manner or inherit from some uber class to get the work done.
On Geneva, I haven’t seen anything in the out of the box code to apply security on your methods / classes via annotations / attributes but that can be added. Yet I think that approach will only work if you control the STS (security token service) and the application. Which will most likely be the case when doing enterprise development. But if you want to create an application for the public and want to support their google or windows live id you’ll still end up doing some role management in your application.