I am thinking about creating a service that would automate the process of chaining REST API calls, for example:
POST /jobs
to service A to ask it to process a job.- When I get a response for that job, then call
POST /jobs
to service B where some of the data passed in the request body may be mapped from some data we got in service A's response. - When I get a response from service B, then …
What does not seem that easy to me is to create that service without strong coupling between it and the other services: it should not have to know anything about service A or service B except probably a description of the services interfaces with any IDL. Is there any tool or protocols or something that would allow me to describe such execution flows?
Best Answer
Usually this is called an orchestrator. Netflix has one here:
https://github.com/Netflix/conductor
Here are some details...
https://en.paradigmadigital.com/dev/conductor-newest-thing-netflix-orchestration-microservices
Not sure if you need that much complexity. One could just write an implementation of orchestrator service if the needs are not that complex.