- The Orion Context Broker is used for context information management in IoT systems and allows storing and retrieving context data.
- It uses an entity-attribute model where context information is represented by entities with attributes. Producers can create, update, and retrieve this context data from the broker using RESTful HTTP requests.
- Consumers can subscribe to the broker to receive notifications of attribute updates that match certain criteria. The broker notifies subscribers by invoking callback URLs provided in the subscription.
A brief description to FIWARE Ecosystem and detailed one of the FIWARE IoT framework. Introduction to Orion Context Broker, IoT Agent - Ultralight 2.0 and Short Term Historic - Comet.
Context-aware application development with FIWARE #CPBR8Fermin Galan
Context-aware application development with FIWARE, used in the #CPBR8 workshop. It includes basic and advanced Orion topics, along with usage examples.
A brief description to FIWARE Ecosystem and detailed one of the FIWARE IoT framework. Introduction to Orion Context Broker, IoT Agent - Ultralight 2.0 and Short Term Historic - Comet.
Context-aware application development with FIWARE #CPBR8Fermin Galan
Context-aware application development with FIWARE, used in the #CPBR8 workshop. It includes basic and advanced Orion topics, along with usage examples.
FIWARE: Managing Context Information at large scaleFermin Galan
This presentation describes how context management is implemented in FIWARE platform, base don Orion Context Broker GEri. Both basic usage of Context Broker and advanced topics are included.
FIWARE (https://www.fiware.org) is a collection of well-integrated Open Source tools (e.g. OpenStack, Hadoop, Docker, ...) that provides a set of RESTful APIs that allows for easy development of cloud-based applications. Haven't you yet heard about it? Sit down and enjoy the ride! The talk will present FIWARE main APIs and discuss a small example of FIWARE-based application for context-aware data management.
Brief description how to use FIWARE Lab Cloud to deploy your resources and the differents steps and recomendations that you have to follow to resolve any problem
An introduction of the FIWARE Ecosystem in order to understand what it is , what kind of things we can offer, how you can obtain more information and where you can request help.
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE
FIWARE NGSI: Managing Context Information at Large Scale, by Fermín Galán.
Orion Context Broker developing team. 1st FIWARE Summit, Málaga, Dec. 13-15, 2016.
FIWARE Developers Week_ Introduction to Managing Context Information at Large...FIWARE
Introduction to Managing Context Information at Large Scale by Fermín Galán and Leandro Gullén (@leandrogullen @fermingalan) for Developers Week
www.fiware.org
FIWARE: Managing Context Information at large scaleFermin Galan
This presentation describes how context management is implemented in FIWARE platform, base don Orion Context Broker GEri. Both basic usage of Context Broker and advanced topics are included.
FIWARE (https://www.fiware.org) is a collection of well-integrated Open Source tools (e.g. OpenStack, Hadoop, Docker, ...) that provides a set of RESTful APIs that allows for easy development of cloud-based applications. Haven't you yet heard about it? Sit down and enjoy the ride! The talk will present FIWARE main APIs and discuss a small example of FIWARE-based application for context-aware data management.
Brief description how to use FIWARE Lab Cloud to deploy your resources and the differents steps and recomendations that you have to follow to resolve any problem
An introduction of the FIWARE Ecosystem in order to understand what it is , what kind of things we can offer, how you can obtain more information and where you can request help.
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE
FIWARE NGSI: Managing Context Information at Large Scale, by Fermín Galán.
Orion Context Broker developing team. 1st FIWARE Summit, Málaga, Dec. 13-15, 2016.
FIWARE Developers Week_ Introduction to Managing Context Information at Large...FIWARE
Introduction to Managing Context Information at Large Scale by Fermín Galán and Leandro Gullén (@leandrogullen @fermingalan) for Developers Week
www.fiware.org
An online training course run by the FIWARE Foundation in conjunction with the i4Trust project. The core part of this virtual training camp (21-24 June 2021) covered all the necessary skills to develop smart solutions powered by FIWARE. It introduces the basis of Digital Twin programming using linked data concepts - JSON-LD and NGSI-LD and combines these with common smart data models for the sharing and augmentation of context data.
In addition, it covers the supplementary FIWARE technologies used to implement the common functions typically required when architecting a complete smart solution: Identity and Access Management (IAM) functions to secure access to digital twin data and functions enabling the interface with IoT and 3rd systems, or the connection with different tools for processing and monitoring current and historical big data.
This 12-hour online training course can be used to obtain a good understanding of FIWARE and NGSI Interfaces and form the basis of studying for the FIWARE expert certification.
Extending this core part, the virtual training camp adds introductory and deep-dive sessions on how FIWARE and iSHARE technologies, brought together under the umbrella of the i4Trust initiative, can be combined to provide the means for the creation of data spaces in which multiple organizations can exchange digital twin data in a trusted and efficient manner, collaborating in the creation of innovative services based on data sharing. In addition, SMEs and Digital Innovation Hubs (DIHs) that go through this complete training and are located in countries eligible under Horizon 2020 will be equipped with the necessary know-how to apply to the recently launched i4Trust Open Call.
General overview of Orion Context Broker architecture. Introduction to NGSI, NGSIv2. Overview of the main functionalities of FIWARE Orion Context Broker. Creating and pulling data. Pushing data and notifications and the introduction to the batch operations.
This get started tutorial takes users through the creation of a simple FourSquare clone using the MoSync Reload SDK and cloudbase.io as a backend platform http://cloudbase.io http://www.mosync.com
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoTAmazon Web Services
We are collecting tons of sensor data from billions of devices. How do you get the value from your IoT data sources? In this session, we will explore different strategies for collecting and ingesting data, understanding its frequency, and leveraging the potential of the cloud to analyze and predict trends and behavior to get most out of your deployed devices.
Presenting the status of the "SOSPilot". A SensorWeb/IoT project where raw AirQuality data from The Netherlands is transformed (ETL) into Web Services like WMS-Time/WFS and in particular the OGC Sensor Observation Service (SOS). Project at Geonovum with partners, a.o.: RIVM, 52 North, and IRCEL - CELINE (Belgium). Work in progress, striving for EIONET IPR and INSPIRE compliance.
Combined tools like Stetl, PostGIS, HeronViewer, GeoServer, and 52North SWE-line. All FOSS. All promising tools as it all just worked, also thanks to the partners' support, within my 100-hour effort. Find more on http://sensors.geonovum.nl
Original version july 2, 2014. Updated with eionet-reporting and Geonovum weather station on okt 27, 2014.
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...confluent
Kafka Streams and the addition of KSQL has provided opportunities do stateful processing of data. Sometimes, the biggest challenge is determining how you can join that data. Keying and windowing are core concepts that need to be understood in order to properly and efficiently stream data. In this presentation, Neil will utilize geospatial data to showcase non-trivial joining; particularly, but not limited to, distance comparisons. The stream processing will be written in Kafka Streams DSL and in KSQL with the topologies being compared. KSQL 2.0 concepts of User Defined Functions (UDFs), nested AVRO structures, and ‘insert into’ functionality of KSQL will be showcased.
The presentation will show a custom OpenSky Connector for obtaining real-time aircraft, a Streams application for processing that data, a D3 topojson application to visualize the data, and an addition KSQL implementation of the streams application for comparison. Expect a deep dive into the Streams DSL and KSQL implementations that will provide the bases into a discussion around Apache Kafka and stream processing.
The Share Document Library provides a number of out-of-the-box default actions and displays basic, essential metadata for documents and folders. This session will show you how to add custom metadata and status indicators, modify the available actions and wire-up new filters. We'll also look at how the Document Library was extended for the DoD 5015.2 Records Management Fileplan browser. You will need to be familiar with basic Surf concepts as well as JavaScript and Freemarker to follow the webscript customization. Familiarity with YUI 2.x and CSS will aid understanding during this session.
FIWARE Training: Connecting to Legacy Systems, IoT and other SystemsFIWARE
An online training course run by the FIWARE Foundation in conjunction with the i4Trust project and IShare Foundation. The core part of this virtual training camp (27 Jun - 01 Jul 2022) covered all the necessary skills to develop smart solutions powered by FIWARE. It introduces the basis of Digital Twin programming using NGSI-LD (the simple yet powerful open standard API enabling to publish and access digital twin data) combined with common smart data models
In addition, it covers the supplementary FIWARE technologies used to implement the rest of functions typically required when architecting a complete smart solution: Identity and Access Management (IAM) functions to secure access to digital twin data, and functions enabling the interface with IoT and 3rd systems, or the connection with different tools for processing and monitoring current and historic big data.
Extending this core part, the training camp also cover how you can easily integrate FIWARE systems with blockchain networks to create audit-proof logs of processes and ensure transparency.
Programming the Physical World with Device Shadows and Rules EngineAmazon Web Services
Learn more about how to use AWS IoT's Device Shadows and Rules Engine to build powerful IoT applications. With Device Shadows, you can build applications that interact with your devices by providing always available REST APIs. By taking advantage of AWS IoT's topic-based rules and built-in integrations, you can build IoT applications that gather, process, analyze, and act on data generated by connected devices at global scale, without having to manage any infrastructure.
First overview of the deployment of Smart City Platform, Powered by FIWARE solutions following the recommendation of the FIWARE DevOps lesson learns. We introduce the concepts and the requirements to explain why we have adopted this approach based on Docker and Docker Compose and the reason behind the Orchestration of services, applied in this presentation into Docker Swarm. Finally, we provide the reason, why should be use the Infrastructure as Code (IaC) with Terraform and Ansible.
Description of a Smart City Platform, what is the offering of FIWARE in terms of the Smart City Platform with general concepts about the standards used and a complete architecture of services. The relationship of Smart Cities and Cloud for deployment of solutions, with the specific case of the FIWARE Lab. This is our OpenStack environment free for use for the FIWARE Ecosystem to deploy Infrastructure as a Service (IaaS) to test the "Powered by FIWARE" solutions.
Introduction to Information Model. Which types of representation of Information Model are used in FIWARE. What are the differences between NGSIv2 and NGSI-LD. Where can I get details about Data Models in use?
How can FIWARE and Standardised Context Data Management create synergies between Robotic Systems and other Smart Solutions. How to integrate Real-Time Operating System (ROS) with FIWARE Orion Context Broker.
● What is a Robotic System?
● How to get/put context data out from/into robotic systems?
Introduction to Big Data and how FIWARE manage it through the different approaches. What are the differences between Apache Flink and Spark approaches. Introduction to FIWARE Connectors to manage NGSI context information. Brief introduction to Machine Learning with FIWARE technology
Introduction to the cutting-edge end-user (software) development, RIA and semantic technologies to offer a next-generation end-user centred web application mashup platform through FIWARE WireCloud.
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoFernando Lopez Aguilar
Introduction to Complex Event Processing (CEP). How FIWARE deals with CEP through FIWARE Perseo. How to connect FIWARE Perseo with FIWARE Orion Context Broker. How can we define an event with Event Processing Language (EPL) and what are the predefined actions to include in FIWARE Perseo.
Introduction to the security components used in FIWARE architecture. What is the standard communication of the oAuth2.0 standard. What about the fine grane access to the information using XACML standard. How to use JWT with FIWARE Secure components. What are the different types of accessing support are allowed. How to offer security access to your applications using these components. What is eIDAS and eID and how to integrate them in the FIWARE Security architecture. Finally an overview of the Data Usage Control using FIWARE Security components
Introduction to the management of data persistency in FIWARE with the different approach adopted by the FIWARE Community. What is a Time Series Database. What are the different between the different solutions adopted.
A set of Tips & Tricks in the resolution of the typical problems that you can find and the reason of them when you work with FIWARE IoT Agents and FIWARE Orion Context Broker
Introduction to the FIWARE IoT Agents. Which kind of transport protocol are used. What is a message protocol. What do the terms northbound/southbound and north/south port mean. How are commands and measurements processed. What is an IoT Agent and what does it do.
Complete set of presentations of the FIWARE Training Sessions in Tunisia. Deep introduction to the FIWARE Core Generic Enablers as well as NGSI/NGSI-LD and the next steps in AI, ML, and Robotics.
A brief description of the FIWARE Ecosystem with an introduction to the FIWARE Foundation, FIWARE iHubs, FIWARE Community, FIWARE Generic Enablers, FIWARE Catalogue, and FIWARENGSI/NGSI-LD
Presentation about the activities of the FIWARE Lab and how to attract people from the OpenStack community. Focused in Monitoring Architecture based in OpenStack Monasca and FIWARE Lab Sanity Checks tool.
This 7-second Brain Wave Ritual Attracts Money To You.!nirahealhty
Discover the power of a simple 7-second brain wave ritual that can attract wealth and abundance into your life. By tapping into specific brain frequencies, this technique helps you manifest financial success effortlessly. Ready to transform your financial future? Try this powerful ritual and start attracting money today!
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfFlorence Consulting
Quattordicesimo Meetup di Milano, tenutosi a Milano il 23 Maggio 2024 dalle ore 17:00 alle ore 18:30 in presenza e da remoto.
Abbiamo parlato di come Axpo Italia S.p.A. ha ridotto il technical debt migrando le proprie APIs da Mule 3.9 a Mule 4.4 passando anche da on-premises a CloudHub 1.0.
Context Information Management in IoT enabled smart systems - the basics
1. IoT in the FIWARE Platform - 2:
Context Information Management in IoT-enabled Smart Systems:
The basics
Fernando López Aguilar
FIWARE Cloud and Platform Senior Expert
fernando.lopez@fiware.org
@flopezaguilar
2. • Orion Context Broker
• Creating and pulling data
• Pushing data and notifications
• Batch operations
• STH - Comet
2
Outline
4. Orion Context Broker
• Main functions:
– Context management
– Context availability management (advanced topic)
• HTTP and REST-based
– JSON payload support
• Context in NGSI is based in an entity-attribute model:
Attributes
• Name
• Type
• Value
Entity
• EntityId
• EntityType
1 n
“has”
4
5. Orion Context Broker in a nutshell
Orion Context Broker
Context
Producers
Context
Consumers
subscriptions
update
query
notify
notify
update
update
DB
1026
1026
5
6. GET <cb_host>:1026/version
{
"orion" : {
"version" : "1.6.0",
"uptime" : "7 d, 21 h, 33 m, 39 s",
"git_hash" : "aee96414cc3594bba161afb400f69d101978b39c",
"compile_time" : "Mon Dec 5 08:38:58 CET 2016",
"compiled_by" : "fermin",
"compiled_in" : "centollo"
}
}
6
Orion Context Broker – check health
7. Two “flavours” of NGSI API
• NGSIv1
– Original NGSI RESTful binding of OMA-NGSI
– Implemented in 2013
– Uses the /v1 prefix in resource URL
• NGSIv2
– A revamped, simplified binding of OMA-NGSI
– Enhanced functionality compared with NGSIv1 (eg. filtering)
– Stable, ready for production, version already available
• Current NGSIv2 version is Release Candidate 2016.10
http://telefonicaid.github.io/fiware-orion/api/v2/stable
• New features coming (http://telefonicaid.github.io/fiware-orion/api/v2/stable)
– Uses the /v2 prefix in resource URL
• Introduction to NGSIv2
– https://docs.google.com/presentation/d/1_fv9dB5joCsOCHlb4Ld6A-
QmeIYhDzHgFHUWreGmvKU/edit#slide=id.g53c31d7074fd7bc7_0
7
8. Orion Context Broker Basic Operations
Entities
• GET /v2/entities
• Retrieve all entities
• POST /v2/entities
• Creates an entity
• GET /v2/entities/{entityID}
• Retrieves an entity
• [PUT|PATCH|POST] /v2/entities/{entityID}
• Updates an entity (different “flavours”)
• DELETE /v2/entities/{entityID}
• Deletes an entity
8
9. Orion Context Broker Basic Operations
Attributes
• GET /v2/entities/{entityID}/attrs/{attrName}
• Retrieves an attribute’s data
• PUT /v2/entities/{entityID}/attrs/{attrName}
• Updates an attribute’s data
• DELETE /v2/entities/{entityID}/attrs/{attrName}
• Deletes an attribute
• GET /v2/entities/{entityID}/attrs/{attrName}/value
• Retrieves an attribute’s value
• PUT /v2/entities/{entityID}/attrs/{attrName}/value
• Updates an attribute’s value
9
11. Context Broker operations: create & pull data
• Context Producers publish data/context elements by invoking the update
operations on a Context Broker.
• Context Consumers can retrieve data/context elements by invoking the query
operations on a Context Broker
Context
Consumer
query
Context
Producer
update
Context
Broker
11
12. Quick Usage Example: Car Create
201 Created
12
POST <cb_host>:1026/v2/entities
Content-Type: application/json
...
{
"id": "Car1",
"type": "Car",
"speed": {
"type": "Float",
"value": 98
}
}
13. Quick Usage Example: Car Speed Update (1)
PUT <cb_host>:1026/v2/entities/Car1/attrs/speed
Content-Type: application/json
...
{
"type": "Float",
"value": 110
}
204 No Content
…
13
In the case of id ambiguity, you can use
"?type=Car" to specify entity type
14. Quick Usage Example: Car Speed Query (1)
200 OK
Content-Type: application/json
...
{
"type": "Float",
"value": 110,
"metadata": {}
}
14
You can get all the attributes of the entity using the
entity URL:
GET/v2/entities/Car1/attrs
GET <cb_host>:1026/v2/entities/Car1/attrs/speed
15. Quick Usage Example: Car Speed Update (2)
PUT <cb_host>:1026/v2/entities/Car1/attrs/speed/value
Content-Type: text/plain
...
115
204 No Content
…
15
16. Quick Usage Example: Car Speed Query (2)
16
200 OK
Content-Type: text/plain
...
115.000000
GET <cb_host>:1026/v2/entities/Car1/attrs/speed/value
Accept: text/plain
23. Quick Usage Example: Filters (2)
23
200 OK
Content-Type: application/json
...
[
{
"id": "Room1",
"pressure": 720,
"temperature": 25,
"type": "Room"
}
]
GET <cb_host>:1026/v2/entities?options=keyValues&q=pressure==715..725
The full description of the Simple
Query Language for filtering can be
found in the NGSIv2 Specification
document
25. Context Broker operations: push data
• Context Consumers can subscribe to receive context information that satisfy
certain conditions using the subscribe operation. Such subscriptions may have
an expiration time.
• The Context Broker notifies updates on context information to subscribed
Context Consumers by invoking the notify operation they export
subId = subscribeContext (consumer, expr, expiration)
Context
Consumer
notify (subId, data/context)
Context
Broker
Application
25
30. Orion Context Broker batch operations
30
• Batch query and batch update
• They are equivalent in functionality to previously described RESTful
operations
• All them use POST as verb and the /v2/op URL prefix, including
operation parameters in the JSON payload
• They implement extra functionality that cannot be achieved with
RESTful operations, e.g. to create several entities with the same
operation
• They are not a substitute but a complement to RESTful operations
34. STH-COMET: Why?
34
▪ The Context Broker only stores
the latest attribute values:
• Event-driven action-oriented
paradigm
▪ The Short Time Historic adds
memory into the equation:
• Continuous improvement
paradigm
35. STH-COMET: What?
35
▪ Time series database:
• Optimized to deal with values
indexed in time
• Raw data vs. Aggregated data
• Basic aggregation concepts:
□ Range
□ Resolution
□ Origin
□ Offset
38. Help project content
38
Context Broker
IoT Agent
Ultralight 2.0
STH - COMET
MongoDB
7896
4041
1026 8666
Virtual Machine Instance
▪ Ansible and docker-compose file to deploy a Virtual Machine with
Orion, IoT Agent Ultralight and Comet.
https://github.com/flopezag/fiware-iot-hackathon
▪ Instruction to send data from sensor and recover them from Orion or
Comet (data aggregation)
39. • The easy way
– Orion User Manual: google for “Orion FIWARE manual” and use the first hit
– Orion Catalogue page: google for “Orion FIWARE catalogue” and use the first hit
• References
– NGSIv2 Specification
• http://fiware.github.io/specifications/ngsiv2/stable
• http://fiware.github.io/specifications/ngsiv2/latest
– NGSIv2 for NGSIv1 developers
• http://bit.ly/ngsiv2-vs-ngsiv1
– Orion Catalogue:
• http://catalogue.fiware.org/enablers/publishsubscribe-context-broker-orion-context-
broker
– Orion support though StackOverflow
• Ask your questions using the “fiware-orion” tag
• Look for existing questions at http://stackoverflow.com/questions/tagged/fiware-orion
39
Would you like to know more?
44. • Used by /v2/op/update (batch operation)
• Conventional actionTypes
– APPEND: append (or update if the attribute already
exists)
– UPDATE: update
– DELETE: delete
• Special actionTypes
– APPEND_STRICT: strict append (returns error if some of
the attributes to add already exists)
– REPLACE: delete all the entity attributes, next append
the ones in the update request
Special update action types
44
45. NGSIv2 status (AKA the “NGSIv2 disclaimer”)
• NGSIv2 is in “release candidate” status
– By "release candidate" we mean that the specification is quite stable,
but changes may occur with regard to new release candidates or the
final version. In particular changes may be of two types:
• Extensions to the functionality currently specified by this document.
Note that in this case there isn't any risk of breaking backward
compatibility on existing software implementations.
• Slight modifications in the functionality currently specified by this
document, as a consequence of ongoing discussions. Backward
compatibility will be taken into account in this case, trying to
minimize the impact on existing software implementations. In
particular, only completely justified changes impacting backward
compatibility will be allowed and "matter of taste" changes will not
be allowed.
45
46. So… when should I use NGSIv1 or NGSIv2?
• In general, it is always preferable to use NGSIv2
• However, you would need to use NGSIv1 if
– You need register/discovery operations (context management
availability functionality)
• Not yet implemented in NGSIv2 (in roadmap)
– Zero tolerance to changes in software interacting with Orion
• Even if you use NGSIv1, you can still use NGSIv2 advanced
functionality
– See “Considerations on NGSIv1 and NGSIv2 coexistence” section
at Orion manual
• For a NGSIv1-based version of this presentation have a look
to
– http://bit.ly/fiware-orion-ngsiv1
46
Editor's Notes
Orion Context Broker is an implementation of a context information broker with persistent storage
It implements OMA NGSI9/10 specification
NGSI9 is about context information availability (i.e. sources of context information) management
NGSI10 is about context information itself