Looking into the FIWARE Catalog I see two entries for Orion Context
Broker: one for something called "Publish/Subscribe Broker" and another
for "Configuration Manager".
So:
- Why are there two entries?
- Are they corresponding to the same piece of software?
- When should I have to use Publish/Subscribe Broker and when should I have to
use Configuration Manager?
UPDATE: since Orion 0.21.0, ConfMan functionality has been deprecated. Thus, using Orion as ConfMans is not recommended.
Orion Context Broker is a server implementation of the NGSI9/10 standards for context management and context managemente availability. In order to understand what I mean by "context management and context management availability" and a general overview of Orion Context Broker features I'd recommend you to have a look to this presentation.
On the other hand, there is a FIWARE enabler named IoTBroker that also implements NGSI10 for context management, which purpose is to provide an aggregation layer between "low level" NGSI entities (such as sensors) and "high level" NGSI entities (e.g. a room composed of a set of sensors), so the client queries for the room (high level) and gets a response based on the sensors (low level) transparently, for instance as an average of the values of all sensors. IoTBroker relays in NGSI9 registrations at Orion (running in an special model called "Configuration Manager") in order to know the providers for the actual "low level" entities in order to compose the response to queries on "high level" entities (i.e. IoTBroker doesn't implement NGSI9 itself).
Thus, there are two entries in the Catalog for Orion corresponding to both Orion usage model: Publish/Subscribe Broker for "full" Orion and Configuration Manager for Orion usage in combination with IoT Broker. Both entries corresponds to the same piece of software (i.e. the code and documentation are the same in both cases).
Regarding when to use one or the other, if your application needs low-to-high entities aggregation, then IoTBroker is recommended, and, therefore, you will be using Orion as Configuration Manager. For any other scenario, I'd recommend use Orion (which, in addition, is simpler to deploy, given that it involves only one software componente -the Orion broker itself- while IoTBroker requires the IoTBroker component and Orion Context Broker acting as Configuration Manager).