Jonathan Schabowsky from Solace.com focuses on the choreography of stateless event-driven microservices: “Orchestration entails actively controlling all elements and interactions like a conductor directs the musicians of an orchestra, while Choreography entails establishing a pattern or routine that microservices follow as the music plays, without requiring supervision and instructions.” In the decision management world the role of a conductor is usually played by a BPM engine or some kind of ruleflow, while choreography is implemented with as an event broker when “everything happens in an asynchronous manner, without waiting for a response or worrying about what happens next“. Link
“If conducting a symphony is a good metaphor for service orchestration, then a dance team works well for choreography. In a dance team, everyone knows what they’re supposed to be doing, and is able and required to take the right step as each beat hits…
In our analogy, the dancers (microservices) listen to the music (the event broker) and make the necessary moves because they’re all following the same choreography.
Each service is observing its environment, and any other service that subscribes to that channel of messages will know what to do from there.”
“The time has passed for a RESTful API-only approach – for architecture that delivers business services faster and more reliably, and that scales with ease, a better approach is to choreograph the microservices interactions. As event-driven architecture and microservices sweep across your software development landscape, a choreographed approach to communication between services will save your company time and money while improving the experience you offer your customers.”