telefonicaid / perseo-fe

Front End process for the Perseo CEP
GNU Affero General Public License v3.0
15 stars 29 forks source link

Perseo Context-Aware CEP

FIWARE Processing License: AGPLv3 Support badge
Quay badge Docker badge
Documentation badge CI Coverage Status Status CII Best Practices

Overview

Perseo is a Complex Event Processing (CEP) software designed to be fully NGSI-v2-compliant. It uses NGSI-v2 as the communication protocol for events, and thus, Perseo is able to seamless and jointly work with context brokers. The context broker tested with Perseo and officially supported is Orion Context Broker.

This project is part of FIWARE. You can find more FIWARE components in the FIWARE catalogue.

:books: Documentation quay.io :whale: Docker Hub :dart: Roadmap

Content

Background

Perseo is an Esper-based Complex Event Processing (CEP) software designed to be fully NGSI-v2-compliant.

It follows a straightforward idea: listening to events coming from context information to identify patterns described by rules, in order to immediately react upon them by triggering actions.

Perseo Components

By leveraging on the notifications mechanism, clients instruct Orion CB to notify Perseo of the changes in the entities they care about (Event API). Details of this process are explained in the Orion Subscription part of the User Manual. Then, rules to the CORE Rule Engine can be easily managed using the publicly available WireCloud) operational dashboard, or making use of any of the REST clients able to programmaticly use the Perseo's Rule API. These rules will identify patterns that will trigger actions with Orion to create or update entities, or with other different components or external systems, such as Web (HTTP), Email (SMTP) or SMS (SMPP) servers.

Installation

The instructions to install Perseo can be found in the Deployment Guide

Usage

Information about how to use Perseo can be found in the User & Programmers Manual

API

APIs and examples of their usage can be found here

Contributing

Contributions to this project are welcome. Developers planning to contribute should follow the Contribution Guidelines. If you plan to contribute, please also read the Development documentation.

Testing

For performing a basic end-to-end test, you can follow the detailed instructions here.

More Information

License

Perseo FE is licensed under Affero General Public License (GPL) version 3.

Are there any legal issues with AGPL 3.0? Is it safe for me to use?

There is absolutely no problem in using a product licensed under AGPL 3.0. 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 believe that there is a risk in just using software under GPL or AGPL licenses (even without modifying it).

For the avoidance of doubt, the owners of this software licensed under an AGPL 3.0 license wish to make a clarifying public statement as follows:

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, and therefore it does not need to be released as under the same license, or even released as open source.