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 |
---|
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.
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.
The instructions to install Perseo can be found in the Deployment Guide
Information about how to use Perseo can be found in the User & Programmers Manual
APIs and examples of their usage can be found here
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.
For performing a basic end-to-end test, you can follow the detailed instructions here.
Perseo FE is licensed under Affero General Public License (GPL) version 3.
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.