I've been looking at the web client software factory (though not actually installed it), and am curious about the choice of datasource control which appears to be advocated. It appears that the ObjectDataSource Web Server Control is advocated. I am suprised
because my experience is that it's use of reflection can impact on development time quite significantly. This because errors are not picked up at compilation but left until runtime and even then can be quite time consuming to find.
For classes of web application where data does not need to be abstracted into business entities, I would advocate using a custom datasource control which wraps a typed dataset (one datasourceview for each table). I would perform business operations by using
partial classes, adding business process methods and event handlers for data validation.
For large scale enterprise apps, I would look to cache the dataset in a server farm as outlined in my newsgroup post at http://groups.google.com/group/microsoft.public.dotnet.framework.aspnet.caching/browse_thread/thread/083feeaf08dc697f/4dbf7c70f7901398?hl=en#4dbf7c70f7901398
I would be interested to know the reasoning behind Microsoft's design choices in these respects.