We are currently developing a web application for financial analysis using PHP (Zend Framework 2) and Doctrine as ORM-Tool (MySQL database). The complex financial calculations are done on the server-side, since the client has to be simple as possible. The data should be available in nearly "real-time", since the user is entering the data live. All user data will be transmitted to the server immediately.
For the financial calculations, we have to join multiple tables with custom filtering and data aggregation. The business logic and the calculations are rather complex.
So, we are concerned about mixing the business logic and rules in our SQL statements (encapsulation principle). Even using an ORM tool, some statements will be in native SQL and not easily understandable/modifiable.
We consider using an ETL or a BI software for the data processing. But most ETL tools and BI software are written in Java and their integration with PHP seems to be rather cumbersome. We, a team of 5 PHP developers, have little knowledge in ETL design and processing. The most crucial drawback we see in ETL is the processing time, latency and the up-to-dateness of the data.
Is the use of an ETL tool / Business Intelligence software recommended in our situation? Or should we stick to the complex Doctrine/SQL statements and tangle our business logic with SQL?
Many thanks for any insights or recommendations.