Skip to content

The FIWARE Catalogue is a curated framework of open source platform components which can be assembled together to accelerate the development of Smart Solutions.

License

Notifications You must be signed in to change notification settings

yanpengwuIoT/catalogue

 
 

Repository files navigation

FIWARE Catalogue

FIWARE Catalogue License AGPL

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, the FIWARE Academy and the Step-by-Step Tutorials.

📚 Tour Guide 🎓 Academy 🔠 Tutorials 🐳 Docker Hub 🎯 Roadmap

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 the following:

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 into five architectural areas

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 Core Context Management:
  • 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 the area of core context management:

  • 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 can be found on dedicated pages linked to 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 the area of IoT, Robotics and thiry-party systems:

  • 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 Micro XRCE-DDS Incubated Generic Enabler is an IoT-oriented middleware based on a publish-subscribe messaging pattern.
  • 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.
  • The Domibus Incubated Generic Enabler helps users to exchange electronic data and documents with one another in a reliable and trusted way.
  • The FIROS Incubated Generic Enabler works as a translator between the robotics doman and the cloud, transforming ROS messages into NGSI v2 and vice versa.

Further information can be found on dedicated pages linked to IoT Agents and Robotics and Third-Party Systems

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 simpler Big Data analysis over context integrated with popular Big Data platforms.
  • The FogFlow Generic Enabler is a distributed execution framework to support dynamic processing flows over cloud and edges.

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

  • 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.

Further information can be found on dedicated pages linked to 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 the security 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.

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 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 the area of API management, publication and monetization:

  • 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 can be found on dedicated pages linked to 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: AGPL-3.0 © 2018-2019 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.

Some FIWARE Components are distributed under GPL or AGPL open source licenses … Is it safe for me to use?

Absolutely. Issues with GPL (or AGPL) licenses are mostly related with the fact that different people assign different interpretations on the meaning of the term “derivate work” used in these licenses. Due to this, some people understand that there is a risk in just using software under GPL or AGPL licenses (even without modifying it).

In order to avoid any issue, FIWARE Generic Enabler owners who have decided to release their software using a GPL or AGPL license are required to make a public statement that states:

Please note that software derived as a result of modifying the source code of this software in order to fix a bug or incorporate enhancements is considered a derivative work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise unmodified version of existing software is not considered a derivative work.

This means that there is absolute no risk that you are forced to release the software that you may have developed using FIWARE Generic Enablers under a GPL, AGPL or any other open source license.

About

The FIWARE Catalogue is a curated framework of open source platform components which can be assembled together to accelerate the development of Smart Solutions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published