Aggregating Service Orders

When Fulfillment Provisioning receives an incoming order from an external system, it may generate multiple service orders that pass through the provisioning flow. Yet the external system may expect a single reply to its incoming order. The soa package provides a way to aggregate service orders into a single service order for response to the originating system.

The interface ServiceOrderAggregation interface is a specialization of prov::OrderQueue, providing a module that you can add into your provisioning flow. This module computes an aggregate service order from multiple incoming service orders.

Service order aggregation is essentially the reverse of the framing function provided by provca. Where the framer splits a request into frames that will later be turned into service orders, the ServiceOrderAggregation aggregates those service orders into a single aggregate service order ready to be used by a provca::Responder instance. It provides a way to send a single response to a multi-frame -- thus multi-service-order -- originating request.

For further details, refer to the component documentation for the soa package.