I have a question about business rules and Business Intelligence tools.
The team working on Business Intelligence report tries to re-implement business rules in their report. Our application does calculation, transformation of raw data, and implement complex business rules …. I think the BI team doesn’t need to re-implement already coded business rules and do not have to use raw but already transformed data.
What is the best way to provide transformed data to the Business Intelligence team ?
- Save more data in our table to provide already transformed data ?
- Create views or tables with the transformed data ?
- Use Web Service ?
- …
1
There is no “best way”, it always depends. The very first thing you have to clarify is if the BI team really want to reuse the existing business rules, and if the team managing the existing application has enough resources to provide and maintain an external interface to the business logic. Such reuse will create an encoupling between the two teams and their components. For example, if some business rules change, the BI team might have to wait for the application’s team until they change the interface – but if the application’s team has no time for the next 3 weeks, and the BI team needs the change tomorrow, you have a problem.
Assumed both teams agree to reuse some business logic – ask the BI people what kind of interface they prefer. What tools do they use, are those SQL bound, do they allow easy acess to a web service? If the question is “views vs. tables with additional attribute”, you should start with views if possible (much less hassle with redundant data), and use addtional data in your tables only if you encounter measurable performance problems. You also did not tell us how the existing business rules are encoded – when they are currently not in a view, only in your application, you might have no other choice than to provide the calculation results in form of some additional attributes within an existing table.
4