Context Broker Documentation
What is the Context Broker
The CEF Context Broker enables organisations (including but not limited to public administrations) to manage and share data in real-time describing “what is currently happening” within their organisations, in the real world they manage or where they run their daily business processes. Thus, for example, Smart Cities can share information about what is happening in streets (e.g., traffic status, quality of air data, available parking slots, location). Similarly, a packet delivery service company may share data about orders (e.g., current location and expected delivery time). This information describing what is currently happening is referred as “context information”.
Management of context information within an organisation is key since it allows assembling together information linked to different systems within the organisation which are otherwise performing as separate information silos (e.g., the systems managing the different municipal services within a city: waste management, traffic management, air quality, etc). This enables implementation of systems supporting overall governance functions and the exploitation of data with a more holistic perspective. Organisations can share part of the context information they manage with third parties: other organisations to improve processes across a whole value chain, or third developers (e.g., startups) enabling development of new innovative services upon shared data.
The CEF Context Broker provides the FIWARE NGSI API, which is a RESTful API enabling applications to provide updates and get access to context information. More concretely:
Update context information, e.g. send updates on air quality data for a given district of the city, weather forecast for a given region or the administrative record created for handling a request issued by a given citizen
Query context information. The Context Broker stores context information updated from applications, so queries are resolved based on that information.
Being notified when changes on context information take place (e.g. the air quality in a given street has changed) or with a given frequency (e.g. get measures of the traffic in a street each minute)
Register context provider systems which can be queried by the Context Broker to get the latest status of context, e.g. a system provided by the national meteorology agency which provides updated weather forecasts upon request
Entities and their Attributes are the basic constructs that describe a Context information Model. Entities represent the items/concepts composing the context. The attributes, whose values change over time, characterise the entities. Taking into account the Smart Cities examples above, entities are “Street”, “District” or “Citizen”. Attributes of a street can be “name”, “traffic density”, “temperature”, “relevant buildings”. Some attributes of entities may be more static while others very dynamic, but this is the intrinsic nature of context information.
The CEF Context Broker is composed by two major software components: the Orion Context Broker component which implements the core Context Broker functionality itself and the Cygnus component which complements Orion. Cygnus captures updates on context information managed by the Orion Context Broker and produces a stream of context data history which can then be stored into a specific persistent data sink storage, such as MySQL, MongoDB, Flink or HDFS for further processing or CKAN for Open Data publication.
An important aspect is that of security when accessing to context information. The FIWARE Community has developed a complete suite of components enabling to manage authorisation and enforce access control policies when accessing the Orion Context Broker. This suite of components is not part of the CEF Context Broker but can be found in FIWARE Catalogue. It relies on well-known and widely adopted standards like OAuth2 and XACML and provide integration with the CEF eID Building Block. Organisations deploying the CEF Context Broker can use alternative security frameworks based on these same standards or different standards.
The FIWARE Community has also developed several components enabling the publication of real-time/API data resources (NGSI datasets) in data publication portals like CKAN. It also has developed components enabling the monetisation of datasets, including real-time/API datasets.