Say, our team owns 3 services, one is responsible for creating persons, other is responsible for creating buildings, and 3rd one is responsible for creating jobs. Also, we have one website, which is connected to all these services. Now, we want to add a functionality on our UI that would take a CSV with fields asking values for creating persons, buildings and jobs. Once that CSV is uploaded, it should create persons with some buildings and jobs. Also, say, this kind of functionality is required by some client calling our service from their service. We want this CSV upload functionality, at least in UI, to be asynchronous in nature which means we will return some job id to the user/client and user/client can use that to track the progress of job.
Then, is it a good idea to create a service which does this orchestration kind of work, calling our other services and provide the endpoint to the API of that to the client as well as to the UI? Or UI backend should do the orchestration at their side while client should do it at their side?
I have never seen a service whose only purpose is to create jobs and call other services. What do you suggest and why?