Sourcing Cluster

Sourcing clusters are automic units that execute a sourcing strategy. They respond to deals/orders and sourcing cluster volume inputs, calculate their own open position based on this data and has scripts to organise their volume and create orders or deals to interact with the rest of the portfolio.

Sourcing Cluster

Entity diagram

Calculations

Sourcing Cluster Actor

The sourcing cluster is implemented as an actor, this means that the actor is implemented as a black box that only has an inbox and an outbox with the outside world. The state that it creates is internal to the actor and shall not be directly viewed or mutated by anything else than an actor. This is why it is important to know the inputs and outputs of the sourcing cluster actor.

Inputs

Inputs from the actor should be introduced into the actor system. This can be done by other actors. There is special actor that can introduce messages from outside the actor system into the actor system. This actor is subscribes to a Kafka topic and publishes the messages to the specific actor that is the receipiant of the message.

Put Sourcing Cluster Volume Input

All volume inputs that are added to the sourcing cluster are also send to the sourcing cluster actor. The volume inputs message will contain the full time series data of the input as well as the metadata of that input.

Deal versions

All deals/deal versions that have a reference to a sourcing cluster are also send to the sourcing cluster. The message contains all the details of the deal version including possible volume or price time series data.

Order versions

All orders/order versions that have a reference to a sourcing cluster are also send to the sourcing cluster. The message contains all the details of the order version including possible volume or price time series data.

Linked order

Sends a message to the sourcing cluster actor whenever a order or deal is linked to an existing order and the sourcing cluster is involved in the parent order.

Initial sourcing cluster config

The message sends the initial configuration from the sourcing cluster to the sourcing cluster actor. This contains the intial configuration like the product type, book id, sourcing cluster key values, agreements on the sourcing cluster, scripts and sourcing product component en element configuration.

Set Process Forecast Responsibility Disabled

Sends a message to the sourcing cluster actor to enable or disable the processing of inputs to its target.

Set Process Open Position Management Disabled

Sends a message to the sourcing cluster actor to enable or disable the processing of open volume in the cluster. If disabled all input will still be processed to calculate a new open position but the cluster will not longer automatically act on this open position.

Sourcing cluster parent set

Send to a sourcing cluster actor to announce that it now has a parent sourcing cluster (actor).

Sourcing cluster child added

Send to a sourcing cluster actor to announce that another sourcing cluster (actor) just became its child.

Sourcing cluster Pricing Agreement Completed

Send to a sourcing cluster actor if a pricing agreement, that is linked to a sourcing cluster, is completed.

Sourcing cluster Sourcing Agreement Completed

Send to a sourcing cluster actor if a sourcing agreement, that is linked to a sourcing cluster, is completed.

Sourcing product component configuration update

Supply Agreement Strategies

Send to a sourcing cluster actor to send it the strategies that have been configured on supply agreements that are linked to sourcing agreements that are linked to the sourcing cluster.

Request rule context

Request the rule context of a sourcing cluster actor. Normally the rule context is created internally in the sourcing cluster actor from its internal state. This is only used for diagnostics of scripts that use the rule context of the sourcing cluster actor.

Diagnostics report request

Request a diagnostics report from a sourcing cluster actor. This is only used for diagnostics and is not used in the normal process.

Sourcing cluster deleted

Send to a sourcing cluster actor to inform it that the sourcing cluster has been deleted

Outputs

Command output

Send commands from the sourcing cluster actor to the CQRS system. It is wrapped in a message so we can use all message mechanics of the actor and to preserve existing transaction boundaries (commands should be send at the end of the message batch).

Position update

Send both the absolute as the relative position of all positions that have changed during the process of a batch of messages

Escalation

Sends a simple text message from the sourcing cluster actor when the sourcing cluster actor want to get the attention of a user.

Diagnostics report

A messages that contains a copy of or a summary of the internal state of the actor. This is only used for diagnostics to check the internal state of an actor.

Rule context output

Contains the rules context that can be used by the user to run scripts with a rule context that contains data from the internal state of the sourcing cluster actor.