Separate Managements are used for subscribing and unsubscribing.
(Unsubscribing is solved in a generic way, so it can be provided by the ApplicationPattern, while the Subscription is individual to the applications.)
Subscribing is creating Clients and adding references to the ForwardingConstruct.
Unsubscribing is removing references from the ForwardingConstruct and potentially deleting the Clients.
Thus, in general there might be several Managements defined on a Forwarding and the ForwardingList allows to distinguish their roles.
In principle, Forwarding defines just an Input-Output-relationship between at least two interfaces.
These interfaces could exist idenpendently from the ForwardingConstruct.
The ForwardingList allows distinguishing the following kinds of Management by an individual OperationServer:
- Just changing already existing and connected interfaces
- Just connecting already existing interfaces
- Just disconnecting, but not deleting an interface
(Deleting, but not disconnecting doesn't make sense.)
Unfortunately, the syntax of the OpenApiSpecification v3.0 is not capable of expressing these differences.
There is a way of coding them into the description statements at the respective attributes.
Details can be found in a later chapter about how to create the OAS.