This is an umbrella repository which briefly introduces each of the components (also referred as Generic Enablers) which are part of FIWARE and allow users and developers to easily navigate to the relevant source code repositories, documentation and container registry images on Docker Hub or quay.io.
More information about what FIWARE is and how to use it can be found within the FIWARE Tour Guide, the FIWARE Academy and the Step-by-Step Tutorials. Generic questions about FIWARE can be asked on Ask.FIWARE and developer-based questions can be submitted on Stack Overflow using the FIWARE tag, and discussions raised on the FIWARE Discord Channel
fiware.org |
:books: Tour Guide |
:mortar_board: Academy |
:capital_abcd: Tutorials |
:question: Ask.​FIWARE |
Stack Overflow |
Discord Channel |
---|
FIWARE brings a curated framework of open source software platform components which can be assembled together and with other third-party components to build platforms that support the development of Smart Solutions faster, easier and cheaper. The main and only mandatory component of any “Powered by FIWARE” platform or solution is a FIWARE Context Broker Generic Enabler, supplying a cornerstone function required in any smart solution: the need to manage context information, enabling to perform updates and bring access to context.
FIWARE NGSI is the API exported by a FIWARE Context Broker, used for the integration of platform components within a "Powered by FIWARE" platform and by applications to update or consume context information. FIWARE NGSI API specifications have evolved over time, initially matching NGSI-v2 specifications, now aligning with the ETSI NGSI-LD standard. The FIWARE Community plays an active role in the evolution of ETSI NGSI-LD specifications which were based on NGSI-v2 and commits to deliver compatible open source implementations of the specs.
Building around the FIWARE Context Broker, a rich suite of complementary open-source FIWARE Generic Enablers are available, dealing with the following:
FIWARE is not about take it all or nothing. You are not forced to use these complementary FIWARE Generic Enablers but are free to use other third platform components as well to design the hybrid platform of your choice. As long as it uses the FIWARE Context Broker technology to manage context information, your platform can be labeled as “Powered by FIWARE” and solutions build on top as well. Listings of many FIWARE Ready devices and commercial “Powered by FIWARE” solutions can be found on the FIWARE Marketplace.
To be adopted as a Generic Enabler within FIWARE, each open source component must fulfil a number of contribution requirements. The technical direction of FIWARE is governed by the FIWARE Technical Steering Committee (TSC). Developers can also subscribe to the FIWARE TSC mailing list, join the FIWARE TSC regular confcalls as observer and follow the progress of the discussions through the FIWARE TSC meeting minutes.
:clipboard: Contribution Requirements |
:family: Technical Steering Committee |
:mega: Mailing list |
:open_file_folder: Meeting minutes |
---|
To obtain the latest codebase of all FIWARE Generic Enablers:
git clone https://github.com/FIWARE/catalogue.git
cd catalogue/
git submodule update --init --recursive
git submodule update --recursive --remote
The following sections describe the current list of Generic Enablers of the FIWARE platform structured into five architectural chapters.
A Context Broker component is the core and mandatory component of any “Powered by FIWARE” platform or solution. It enables to manage context information in a highly decentralized and large-scale manner.
The following Context Broker implementations, supporting the ETSI NGSI-LD 1.3.1. API specification or higher are available:
The NGSI-LD Specification is regularly updated published by ETSI. The latest specification is version 1.8.1 which was published in March 2024.
A spreadsheet detailing the current compatibility of the bleeding edge development version of each context broker (Orion-LD, Scorpio, Stellio) against the features of the 1.6.1 specification can be viewed and downloaded here
An Excel file detailing the compatibility of the latest FIWARE Release of each context broker (Orion-LD, Scorpio, Stellio) against the features of the 1.6.1 specification can be downloaded here
Accompanying a Context Broker component as part of Core Context Management, a number of Data Connectors are available:
The following is a list of Generic Enablers under incubation within the area of Core Data Connectors systems:
Further information can be found on dedicated pages linked to Core Context Management
A number of Generic Enablers are available making it easier to interface with the Internet of Things (IoT), Robots and Third-party systems for the purpose of gathering valuable context information or trigger actuations in response to context updates:
The IDAS Generic Enabler offers you a wide range of IoT Agents making it easier to interface with devices using the most widely used IoT protocols (LWM2M over CoaP, JSON or UltraLight over HTTP/MQTT, OPC-UA, Sigfox or LoRaWAN)
The Kurento Generic Enabler enables real-time processing of media streams supporting the transformation of video cameras into sensors as well as the incorporation of advanced application functions (integrated audiovisual communications, augmented reality, flexible media playing and recording, etc)
The following is a list of Generic Enablers under incubation within the area of IoT, Robotics and third-party systems:
Further information can be found on dedicated pages linked to IoT Agents and Robotics and Third-Party Systems
A number of Generic Enablers are available making it easier to process, analyze or visualize context information for the purpose of implementing the “smart behaviour” expected in any application:
The following is a list of Generic Enablers under incubation within the chapter:
Further information can be found on dedicated pages linked to Context Processing, Analysis and Visualization
You can implement secured access to components in the architecture of any “Powered by FIWARE” solution using Generic Enablers of the security chapter:
The incorporation of components and features to support Advanced Data Usage Control have been introduced as part of FIWARE Release 7.7. For a summary of vision and current status of work in this area, please visit the usage control pages found at: https://github.com/ging/fiware-usage-control
This area also contains a chapter for the publication and monetization of context data resources, available through the core Orion Context Broker component of your platform:
The following is a list of Generic Enablers under incubation within the area of API management, publication and monetization:
The following is a list of Generic Enablers under incubation within the area of Security:
Further information can be found on dedicated pages linked to Context Data/API Management, Publication and Monetization and Security
Most FIWARE components are available as Docker Images, direct links can be found
within the descriptions of each generic enabler. A docker-compose.yml
may also be available within the GitHub
repository, but these should only be used in development environments. For fully scalable production-ready instances of
FIWARE Generic Enablers please refer to the repository holding the FIWARE
Helm Chart recipes or find FIWARE Helm Chart receipes directly on
ArtifactoryHub
FIWARE brings the essential building blocks helping to create Data Spaces enabling access and share of data in an effective and trustworthy manner. The open source nature of FIWARE technologies foster creation of these data spaces as federated infrastructures where multiple providers can be involved and not just a few players. FIWARE is bringing today mature technologies, compatible with IDS and CEF Building Blocks, that may accelerate the delivery of data spaces to the market and the materialization of initiatives like GAIA-X in Europe.
The concrete selection of FIWARE components proposed as building blocks for the creation of Data Spaces can be found on dedicated pages linked to FIWARE for Data Spaces.
The individual components within the FIWARE catalogue are free to make semantic versioned releases at any time. Additionally, a labelling of the whole FIWARE catalogue takes place at regular intervals where all components are collected together and a FIWARE label added according to a set of well-defined rules. The FIWARE catalogue release schedule follows a strict timetable. Versions of components with the same FIWARE release label should be completely interoperable and work nicely with each other.
:dart: Roadmap | :rocket: Release Notes |
---|
As well as source-code repositories and binaries, relevant components are available as container registry images and Helm-chart recipes for Kubernetes. Smart Data Models for NGSI-v2 and NGSI-LD help to define harmonised representation formats and semantics that will be used by applications both to consume and to publish data. | Docker Hub |
quay.io |
Artifact Hub |
:globe_with_meridians: Helm Charts |
Smart Data Models |
---|
FIWARE is ready to work in industrial environments. A continuous quality assurance process is running to warranty the level of reliability in FIWARE Generic Enablers. Following the energy labelling system applied by European Union for devices, each Generic Enabler is assigned with an overall label in the Catalogue (A+++, A++, A+, A, B, C) according to the obtained results in testing different aspects.
A testing method has been defined to conduct documentation verification, functional tests (verification of Generic Enablers specifications and APIs testing) and non-functional tests such as performance, stability and scalability. The tests are executed for every new version of the Generic Enablers, providing valuable insights to the Generic Enabler owners for improving the next Generic Enabler release.
All the tests can be conducted by anyone since the files for defining and running the tests have been published in an open source repository.
Full details of the test results can be found on the FIWARE site - a summary of the test results is presented for each enabler within the submodules below.
Mature Generic Enablers have been thoroughly tested and have already demonstrated useful role accepted within the FIWARE framework. Incubated Generic enablers (annotated with :seedling:) have also been tested, but are still in the process of maturing to full acceptance with the FIWARE system. Recent applicants to FIWARE (annotated with :new:) are new to FIWARE and will undergo testing in the forthcoming release.
The application process for joining the FIWARE Initiative is described in the links below. To be adopted as a Generic Enabler within FIWARE, each open source component must fulfill a number of contribution requirements, follow common Open Source Best Practice and sign-up to the harmonized FIWARE Entity Contributor License Agreement. The technical direction of FIWARE is governed by the FIWARE Technical Steering Committee (TSC).
You can contribute to FIWARE technically by different means: contributing code for a given FIWARE component, helping to develop tutorials/training material which are made freely available to developers, supporting QA activities or supporting the operations of the FIWARE Lab.
:inbox_tray: Application Form |
:clipboard: Contribution Requirements |
:heavy_plus_sign: :computer: Entity CLA |
:wrench: Active Contributors |
:heavy_plus_sign: :bust_in_silhouette: Individual CLA |
---|
License: AGPL-3.0 © 2018-2023 FIWARE Foundation e.V.
The FIWARE Catalogue includes additional submodules which have been obtained under license - check the README
of each
submodule for more details. Some of these elements are available under a more permissive license than Affero General
Public License.
Additional permission is given to reproduce the texts found within the root project under the Creative Commons CC-BY-4.0 License.