Source code for all Generic Enablers which make up the FIWARE Platform
Switch branches/tags
Clone or download
Latest commit 08674a1 Dec 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
core Add emojis Dec 14, 2018
data-publication Add emojis Dec 14, 2018
iot-agents Add emojis Dec 14, 2018
processing Added Academy links Dec 14, 2018
robotics Move links Dec 14, 2018
security Add academy links Dec 14, 2018
.gitignore Initial Revision Sep 6, 2018
.gitmodules Remove AEON from catalogue Nov 23, 2018
.textlintrc Add text linter Oct 25, 2018
LICENSE Added licenses Oct 8, 2018
README.md Additional links Nov 24, 2018
package-lock.json Add text linter Oct 25, 2018
package.json Add text linter Oct 25, 2018

README.md

FIWARE Catalogue

FIWARE Catalogue License: MIT

This is an umbrella repository holding all of the source code for all Generic Enablers which make up the FIWARE catalogue. The purpose of the catalogue is to briefly introduce each Generic Enabler and allow users and developers to easily navigate to the relevant source code repositories, documentation and Docker images.

More information about what FIWARE is and how to use it can be found within the FIWARE Tour Guide and Step-by-Step Tutorials.

Contents

Background

FIWARE is a curated framework of open source platform components which can be assembled together and with other third-party platform components to accelerate the development of Smart Solutions. The main and only mandatory component of any “Powered by FIWARE” platform or solution is the FIWARE Orion Context Broker Generic Enabler, which brings a cornerstone function in any smart solution: the need to manage context information, enabling to perform updates and bring access to context.

Building around the FIWARE Context Broker, a rich suite of complementary FIWARE components are available, dealing with:

FIWARE is not about take it all or nothing. You are not forced to use these complementary FIWARE Generic Enablers but other third platform components 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.

Installation

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

Generic Enablers

The following sections describes the current list of Generic Enablers of the FIWARE platform structured in chapters.

Core Context Management

The Orion Context Broker Generic Enabler 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. It provides the FIWARE NGSI v2 API which is a simple yet powerful Restful API enabling to perform updates, queries or subscribe to changes on context information.

  • The Orion Context Broker Generic Enabler holds information about the current context. However, context information evolves over time, creating a context history. Accompanying the Orion Context Broker component as part of the Core Context Management Chapter:
  • The STH Comet Generic Enabler brings the means for storing a short-term history of context data (typically months) on MongoDB
  • The Cygnus Generic Enabler is enables a means of managing the history of context which is created as a stream of data and can be injected into multiple data sinks, including many popular databases such as PostgreSQL, MySQL, MongoDB or AWS DynamoDB or as Big Data platforms such as Hadoop, Storm or Spark. The component is based on Apache Flume

The following is a list of Generic Enablers under incubation within this chapter:

  • The QuantumLeap Generic Enabler supports the storage of NGSI data into a time series database (CrateDB)
  • The Draco Generic Enabler is an alternative data persistence mechanism for managing the history of context. It is based on Apache NiFi and is a dataflow system based on the concepts of flow-based programming. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic and also offers an intuitive graphical interface

Further information about the Generic Enablers supporting Core Context Management

Interface with IoT, Robots and Third-Party Systems

A number of Generic Enablers are available making it easier to interface with the internet of Things, Robots and Third-party systems for the purpose of gathering valuable context information or trigger actuations in response to context updates:

The following is a list of Generic Enablers under incubation within this chapter:

  • The Fast RTPS Incubated Generic Enabler has been adopted as default middleware in ROS2, the widely known Robot Operating System, therefore it helps to interface with robotics systems.
  • The OpenMTC Incubated Generic Enabler brings an open source implementation of the OneM2M standard. A northbound interface with the Orion Context Broker is implemented as part of the product.

Further information about the IoT Agents and Robotics

Context Processing, Analysis and Visualization

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 Wirecloud Generic Enabler brings a powerful web mashup platform making it easier to develop operational dashboards which are highly customizable by end users.
  • The Knowage Generic Enabler brings a powerful Business Intelligence platform enabling to perform business analytics over traditional sources and big data systems.
  • 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 Cosmos Generic Enabler enables a more easy Bigdata analysis over context integrated with most popular BigData platforms.

The following is a list of Generic Enablers under incubation within this chapter:

  • The FogFlow Generic Enabler is a distributed execution framework to support dynamic processing flows over cloud and edges.
  • The Perseo Generic Enabler introduces Complex Event Processing (CEP) defined using a rules-based system, enabling you to fire events which send HTTP requests, emails, tweets, SMS messages etc.
  • The Domibus Incubated Generic Enabler helps users to exchange electronic data and documents with one another in a reliable and trusted way.

Further information about the Generic Enablers for Context Processing, Analysis and Visualization

Context Data/API Management, Publication and Monetization

You can implement secured access to components in the architecture of any “Powered by FIWARE” solution using Generic Enablers of this chapter:

  • The Keyrock Identity Management Generic Enabler brings support to secure and private OAuth2-based authentication of users and devices, user profile management, privacy-preserving disposition of personal data, Single Sign-On (SSO) and Identity Federation across multiple administration domains.
  • The Wilma PEP Proxy Generic Enabler brings support of proxy functions within OAuth2-based authentication schemas. It also implements PEP functions within an XACML-based access control schema.
  • The AuthZForce PDP/PAP Generic Enabler brings support to PDP/PAP functions within an access control schema based on the XACML standard.

This chapter also brings Generic Enablers for the publication and monetization of context data resources, available through the core Orion Context Broker component of your platform:

  • The CKAN extensions Generic Enabler brings a number of add-ons enabling to extend current capabilities of the world-leading CKAN Open Data publication platform to allow publication of datasets matching right-time context data, the assignment of access terms and policies to those datasets and the assignment of pricing and pay-per-use schemas to datasets.
  • The Biz Framework Generic Enabler brings backend support to Context API/Data monetization based on open TM Forum Business APIs.

The following is a list of Generic Enablers under incubation within this chapter:

  • Idra is able to federate existing Open Data Management Systems based on heterogeneous technologies (e.g. CKAN, SOCRATA, DKAN etc.) providing a single API and a standard metadata format (DCAT-AP) to discover open datasets.
  • APInf API Management Framework is a tool for API owners to manage their APIs. It provides all the necessary features to run business with APIs and makes it easy for API consumers to find and start using the standard APIs.

Further information about the Generic Enablers supporting Context Data/API Management, Publication and Monetization and Security

Testing

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 🌱) 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 🆕) are new to FIWARE and will undergo testing in the forthcoming release.

License

License: CC-BY-4.0 © FIWARE Foundation e.V.

The CC-BY-4.0 License only applies to the texts within the root project. The project includes additional submodules which were obtained under license - check the README of each submodule for more details.