I'm trying to find the best architecture for an application that shows a dashboard with aggregated stats that come from another one (e.g. number of sales in the last 12 months, current sales this month, a fairly complex score, performance of users over last 30 days, etc.)
There is a fair bit of business logic that lives in Application 1 but the aggregated data gets saved in Application 2 (dashboard).
What's the best way to create the aggregate data?
1) Pull data directly from Application 1 database and duplicate business logic for score calculation etc. 2) Push data from Application 1 to Application 2 somehow 3) Aggregate data in Application 1 on the fly and provide and api for Application 2 4) Other (probably)
Please suggest solutions,