I've pondered over this in my brain quite alot about your typical n-Layer solution that contains your busienss logic in your business object classes. We take this logic (logic used for calculations, decisions on data to display/use, etc) out of database views and into the business object itself. This works great for your application and provides excellent flexibility, but my biggest concern has always been with reporting on this data.
Most reporting tools I have used will connect to a database view, but not to a collection of .NET business object classes in order to display the right data on a report, chart, etc...
How would you still make the argument for the use of business objects containing your logic in this scenario?
Points
You might have to **duplicate your logic **in the view or report to get the right info on the report...
You could **OLAP **the data from the business object to a database for reporting...
Use **SQL Reporting Services in client mode **to report directly off of your business object classes...
I am looking for other's people opinions about this. What has been tried? What is used? What works? What doesn't work so well? etc.....
Thanks!
Dan