EF compliant Generic Enablers

The FIWARE Generic Enablers “component” is composed of various generic enablers that have been developed in the FIWARE project. These enablers provide functionalities in different domains such as IoT, data, context management, middleware, etc. They can be installed and used through Enablers Framework component.

  • Orion: The Orion Context Broker is a Generic Enabler that allows the user to manage context information, including update contexts, queries contexts, registrations and subscriptions. It can be useful for providing functionalities for context management and can be useful in use cases that involve data brokers between producers (e.g. sensors) and consumers (e.g. smartphone applications). It has an NGSI and REST interface that allow to make several operations, such as:

    • Query context information: The Orion Context Broker stores context information updated from applications, so queries are resolved based on that information. Context information consists on entities (e.g. a car) and their attributes (e.g. the speed or location of the car).
    • Update context information: e.g. send updates of temperature of a specific entity
    • Get notified when changes on context information take place (e.g. the temperature has changed)
    • Register context provider applications, e.g. the provider for the temperature sensor within a room [1]

    A detailed documentation regarding this FIWARE generic enabler is available on the official repository: https://github.com/telefonicaid/fiware-orion.

  • Authzforce The AuthZForce Generic Enabler provides an Attribute-Based Access Control (ABAC) framework compliant with the OASIS XACML standard v3.0, that mostly consists of an authorization policy engine and a RESTful authorization server. It was primarily developed to provide advanced access control for Web Services or APIs, but is generic enough to address all kinds of access control use cases. More specifically, it defines RESTful interfaces for:

    • Managing XACML-compliant authorization policies
    • Requesting authorization decisions based on those policies, in a XACML-compliant request-response format
    • Managing multiple PDPs, one per domain (aka tenant), in order to provide multi-tenancy [2]

    A detailed documentation regarding this FIWARE generic enabler is available on the official repository: https://github.com/authzforce/fiware.

  • IotAgent Json: An Internet of Things Agent for a JSON based protocol (with AMQP, HTTP and MQTT transports). This IoT Agent is designed to be a bridge between JSON and the NGSI interface of a context broker.

    A detailed documentation regarding this FIWARE generic enabler is available on the official repository: https://github.com/telefonicaid/iotagent-json.

  • Keyrock: Keyrock is a Generic Enabler component responsible for Identity Management. Using Keyrock (in conjunction with other security components such as PEP Proxy and Authzforce) enables the application to have OAuth2-based authentication and authorization security to your internal services and applications.

    Some concepts of this enabler are:

    • Users: can manage organizations and register applications.
    • Organizations: group of users that share resources of an application (roles and permissions).
    • Applications: has the client role in the OAuth 2.0 architecture and will request protected user data[3].

    A detailed documentation regarding this FIWARE generic enabler is available on the official repository: https://github.com/ging/fiware-idm.

  • STH: The FIWARE Short Time Historic (STH) - Comet is in charge of managing (storing and retrieving) historical raw and aggregated time series context information about the evolution in time of context data (i.e., entity attribute values) registered in an Orion Context Broker instance.

    All the communications between the STH and the Orion Context Broker as well as between the STH and any third party (typically for data retrieval) use standardized NGSI v1 interfaces[4].

    A detailed documentation regarding this FIWARE generic enabler is available on the official repository: https://github.com/telefonicaid/fiware-sth-comet.

  • Bizframework The Business API Ecosystem provides sellers the means for managing, publishing, and generating revenue of their products, apps, data, and services. The Business API Ecosystem enables the monetization of different kind of assets (both digital and physical) across the whole service life cycle, from offer creation through to charging, accounting and revenue settlement and sharing[5]

    A detailed documentation regarding this FIWARE generic enabler is available on the official repository: https://github.com/FIWARE-TMForum/Business-API-Ecosystem.

All these generic enablers can be accessed from the following link.

Pre-requisites:

To use these generic enablers, it is necessary to have the following vf-OS components:

Installation instructions

The deployment of these generic enablers is made through Enablers Framework.

EF GUI

As a default configuration, the Enablers Framework contains the metadata to create the necessary information to deploy the generic enablers.

Enablers Version

The first version of the enabler already contains the docker-compose of the generic enabler, which points to the official vf-OS repository, the engagement hub repository.

Enablers Qualification

Its qualification was already verified and the enabler was already approved to be used by enablers framework.

Enablers Services

If the enabler uses NGSI, their services are already filled. If the enabler uses REST, a few services were already registered to be used by the enabler.

Enabler Deployment

To deploy the enabler through the Enabler Framework, it is necessary to create a instance. The auto-install field is the field that orders the Enablers Framework to install its docker file.

Confirmation Message

After the developer save the instance information, a confirmation message is displayed on the browser.

Status initializing

Since Generic enablers are a docker instances, there deployment can take some time to be ready. For that reason, the instance's status is Initializing.

Status Running

When the instance's status is Running, the generic enabler is ready to be used.