- Introduction
- GEi overall description
- Build and Install
- Running
- API Overview
- API Walkthrough
- API Reference Documentation
- Testing
- Advanced topics
- License
- Support
This is the code repository for the Orion Context Broker, the reference implementation of the Publish/Subscribe Context Broker GE.
This project is part of FIWARE. Check also the FIWARE Catalogue entry for Orion
Any feedback on this documentation is highly welcome, including bugs, typos or things you think should be included but aren't. You can use github issues to provide feedback.
You can find the User & Programmer's Manual and the Installation & Administration Manual on readthedocs.org
For documentation previous to Orion 0.23.0 please check the manuals at FIWARE public wiki:
- Orion Context Broker - Installation and Administration Guide
- Orion Context Broker - User and Programmers Guide
Orion is a C++ implementation of the NGSI9/10 REST API binding developed as a part of the FIWARE platform.
Orion Context Broker allows you to manage all the whole lifecycle of context information including updates, queries, registrations and subscriptions. It is an NGSI9/10 server implementation to manage context information and its availability. Using the Orion Context Broker, you are able to register context elements and manage them through updates and queries. In addition, you can subscribe to context information so when some condition occurs (e.g. the context elements have changed) you receive a notification. These usage scenarios and the Orion Context Broker features are described in this document.
If this is your first contact with the Orion Context Broker, it is highly recommended to have a look to the brief Quick Start guide.
Build and Install documentation for Orion Context Broker can be found at the corresponding section of the Admin Manual.
How to run Orion Context Broker can be found at the corresponding section of the Admin Manual.
In order to create an entity (Room1) with two attributes (temperature and pressure):
(curl <orion_host>:1026/v1/contextEntities/Room1 -s -S --header 'Content-Type: application/json' \
--header 'Accept: application/json' -X POST -d @- | python -mjson.tool) <<EOF
{
"attributes": [
{
"name": "temperature",
"type": "float",
"value": "23"
},
{
"name": "pressure",
"type": "integer",
"value": "720"
}
]
}
EOF
In order to query the entity:
curl <orion_host>:1026/v1/contextEntities/Room1 -s -S --header 'Accept: application/json' | python -mjson.tool
In order to update one of the entity atributes (temperature):
(curl <orion_host>:1026/v1/contextEntities/Room2/attributes/temperature -s -S \
--header 'Content-Type: application/json' --header 'Accept: application/json' \
-X PUT -d @- | python -mjson.tool) <<EOF
{
"value": "26.3"
}
EOF
Please have a look at the Quick Start guide if you want to test these operations in an actual public instance of Orion Context Broker. In addition, have a look to the API Walkthrough and API Reference sections below in order to know more details about the API (subscriptions, registrations, etc.).
- FIWARE NGSI v1 (Markdown)
- FIWARE NGSI v2 (Apiary) - ongoing, not yet suitable for production
- FIWARE NGSI v1 (XSD and PDF)
- FIWARE NGSI v2 (Apiary) - ongoing, not yet suitable for production
The functional_test makefile target is used for running end-to-end tests:
make functional_test INSTALL_DIR=~
Please have a look to the section on building the source code in order to get more information about how to prepare the environment to run the functional_test target.
The unit_test makefile target is used for running the unit tests:
make unit_test
Please have a look to the section on building the source code in order to get more information about how to prepare the environment to run the unit_test target.
- Advanced Programming
- Installation and administration
- Container-based deployment
- Sample code contributions
- Contribution guidelines, especially important if you plan to contribute with code to Orion Context Broker
- Deprecated features
Orion Context Broker is licensed under Affero General Public License (GPL) version 3.
Ask your thorough programmming questions using stackoverflow
and your general questions on FIWARE Q&A. In both cases please use the tag fiware-orion