REST API – Automating REST API Call Chaining

apirest

I am thinking about creating a service that would automate the process of chaining REST API calls, for example:

  1. POST /jobs to service A to ask it to process a job.
  2. 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.
  3. 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.