Asynchronous communications

You can implement event-driven asynchronous communication between Neptune DXP microservices in a choreographed fashion. In this approach, events are published by a producer Neptune DXP microservice to notify consuming Neptune DXP services of changes to the state of producing Neptune DXP service resources.

For example, a Neptune DXP order microservice emits an “order created” event used by a Neptune DXP notification microservice to confirm the order to the customer. A consumer microservice must first subscribe to an event published by the producer. Beyond binary connections, several choreographed services using publish/subscribe integrations can produce narratives to describe end-to-end transactions. For example, a set of Neptune DXP order, fulfilment, payment, inventory, and notification microservices can be organized in a saga of asynchronous interactions to model the customer online journey when purchasing items:

microservice3

To implement this pattern, you can use Neptune DXP’s npm native package integration to onboard a client events stream library of your choice (for example, a Kafka Client library or IBM’s Bluemix MQ Client Light).