I have to implement a document management service as an orchestration layer that orchestrates between underlying service such as storage , parsing , anti virus scan etc. The requirement is to make the layer flexible so that different flows for different kinds of documents can be implemented quickly
One approach is to model this as a event driven system and implement processing pipeline on events using framework like Apache Flink.
Another way to think about it is - workflow . Design this as a workflow that runs on a workflow engine like Apache Airflow or Uber Cadence.
What will be a better approach.