I'm currently looking for a BI solution for an existing business application. Naturally, thought of implementing similar layered solution for BI, so the data source is possibly served by a web service on top of CSLA. The idea is so that we have consistent security control even if we have different vendors for reporting, dashboard, analytics, etc.
Some BI vendors have a semantic layer that allows connection to web service, and allows end-users to use the metadata layer to create user-friendly ad-hoc queries using a graphical query builder. Most don't (SSRS).
I would imagine each business object will be represented as an entity in the semantic layer. For example: Employee, TimeCard. Say I want to rollup all timecard records for all active employees. In this scenario, wouldn't the server have to load all employee and timecard records, then filter and join afterwards using sort of a "table scan"? That sounds very inefficient, and the whole purpose of having a data warehouse is to make the reports run faster.
The main reason we want the CSLA business layer is to control security (column and row level), since they will be totally different business objects from what we use for our transactional application being read-only and different data schema. Are we on the wrong path doing this? Should we just use the built in security implementations connected straight to our data warehouse?
Anyone had success in a BI solution with CSLA? Comments are welcome.
Copyright (c) Marimer LLC