Data streaming and time-based reasoning applications are confronted with both simple and complex sets of challenges. Business requirements determine how data should be processed and helps to evaluate which streaming processing engines are the best fit for the business purpose. Other determining factors include return on investment, its dexterity to be applied across multiple use cases, and it's level of maturity for enterprise-wide adoption.