One of the fundamental requirements for any streaming application is that the sources of data should have the ability to produce unbound data in terms of streams. Streaming systems are built for unbound data streams. If source systems have the support for such kinds of data streams, then streaming solutions are the way to go, but if they do not have support for data streams, then either you must build or use prebuilt custom components that build data streams out of those data sources or go for batch-oriented non-streaming-based solutions.
Either way, the key takeaway is that streaming solutions should have data stream producing data sources. This is one of the key design decisions in any streaming application. Any streaming solution or design should ensure that continuous unbound data streams are input to your stream processing engines.