SlideShare a Scribd company logo
© 2016 TM Forum Live! 2016 | 1
Open Hack FIWARE
Training Session
May 6th 2016
© 2016 TM Forum Live! 2016 | 2
Orion Context Broker
FIWARE NGSI v9 and v10 implementation
© 2016 TM Forum Live! 2016 | 3
Being “Smart” requires being “Aware”
 Smart City Applications requires gathering and managing context
information, referring to values of attributes characterizing entities
relevant to the application
 NGSI brings a simple yet powerful API enabling access to context
information
Application
NGSI standard API
Bus
• Location
• No. passengers
• Driver
• License plate Citizen
• Name-Surname
• Birthday
• Preferences
• Location
• ToDo list
Context Information
Shop
• Location
• Business name
• Franchise
• offerings
© 2016 TM Forum Live! 2016 | 4
Different Sources of Context
 Context information may come from many sources which may vary over time:
 Existing Systems dealing with management of municipal services
 Sensor networks (Internet of Things)
 Third-party smart city APPs
 Source of information needs to be transparent to applications accessing
context information
NGSI Standard API
Current traffic
in street “X”
A sensor in a
pedestrian street
Citizen’s car app or
smartphone
Notify traffic
in street “X”
Current traffic
in street “X”
Public Transport
System
© 2016 TM Forum Live! 2016 | 5
Integration with Sensor Networks
 FIWARE NGSI is capable to deal with the wide variety of IoT protocols today
 Rather than trying to solve the battle of standards at IoT level, it brings a
standard where no standard exists today: context information management
FIWARE Context Broker
IoT
Agent-1
IoT
Agent-2
IoT
Agent-n
IoT Agent
Manager
create/monitor
FIWARE Backend IoT
Device Management
OMA NGSI API (northbound interface)
(southbound interfaces)
MQTTETSI M2M IETF CoAP
© 2016 TM Forum Live! 2016 | 6
Notifications
 Get a notification when a update on context information
takes place
Bus = “X”, last_stop = “A”,
arrived= “Yes”
PUSH
Notify me when bus “X”
arrives at the bus stop “A”
API
© 2016 TM Forum Live! 2016 | 7
Devices Interaction
 Acting on devices can be as easy as changing the value of
attributes linked to its corresponding entity
Street lamp = “lamp1”, status= “on”
Street Lamp lamp1.status  “on”
API
© 2016 TM Forum Live! 2016 | 8
Additional Details
 Main functions:
 Context availability management
 Context management
 HTTP and REST-based
 XML payload supported in older versions
 JSON payload support
 Context in NGSI is based in an entity-attribute model:
Attributes
• Name
• Type
• Value
Entity
• EntityId
• EntityType 1 n
“has”
© 2016 TM Forum Live! 2016 | 9
Nutshell
Orion Context Broker
Context
Producers
Context
Consumers
subscriptions
update
query
notify
notify
update
update
DB
1026
1026
© 2016 TM Forum Live! 2016 | 10
Operations
 NGSI 10
 checkHealth
 updateContext
 queryContext
 subscribeContext
 updateContextSubscription
 unsubscribeContextSubscription
© 2016 TM Forum Live! 2016 | 11
Operations – Check Health
GET <cb_host>:1026/version
{
"orion" : {
"version" : "0.17.0",
"uptime" : "7 d, 21 h, 33 m, 39 s",
"git_hash" : "238c3642ad67899da7c1ff08aba4b5c846b4901a",
"compile_time" : "Mon Dec 1 11:27:18 CET 2014",
"compiled_by" : "fermin",
"compiled_in" : "centollo"
}
}
© 2016 TM Forum Live! 2016 | 12
Operations – Create Entity (1)
POST <CB_HOST>:1026/v1/updateContext
...
{
"contextElements": [
{
"type": "Car",
"isPattern": "false",
"id": "Car1",
"attributes": [
{
"name": "speed",
"type": "float",
"value": “98"
}
]
}
],
"updateAction": “APPEND"
}
© 2016 TM Forum Live! 2016 | 13
Operations – Create Entity (2)
200 OK
...
{
"contextResponses": [
{
"contextElement": {
"attributes": [
{
"name": "speed",
"type": "float",
"value": "98"
}
],
"id": "Car1",
"isPattern": "false",
"type": "Car"
},
"statusCode": {
"code": "200",
"reasonPhrase": "OK"
}
}
]
}
© 2016 TM Forum Live! 2016 | 14
Operations – Update Entity (1)
POST <CB_HOST>:1026/v1/updateContext
...
{
"contextElements": [
{
"type": "Car",
"isPattern": "false",
"id": "Car1",
"attributes": [
{
"name": "speed",
"type": "float",
"value": "110"
}
]
}
],
"updateAction": "UPDATE"
}
© 2016 TM Forum Live! 2016 | 15
Operations – Update Entity (2)
200 OK
...
{
"contextResponses": [
{
"contextElement": {
"attributes": [
{
"name": "speed",
"type": "float",
"value": "110"
}
],
"id": "Car1",
"isPattern": "false",
"type": "Car"
},
"statusCode": {
"code": "200",
"reasonPhrase": "OK"
}
}
]
}
© 2016 TM Forum Live! 2016 | 16
Operations – Query Context (1): Get all the attributes of an Entity
POST <CB_HOST>:1026/v1/queryContext
...
{
"entities": [
{
"type": "Car",
"isPattern": "false",
"id": "Car1"
}
]
}
© 2016 TM Forum Live! 2016 | 17
Operations – Query Context (2): Get all the attributes of an Entity
200 OK
...
{
"contextResponses": [
{
"contextElement": {
"attributes": [
{
"name": "speed",
"type": "float",
"value": "110"
}
],
"id": "Car1",
"isPattern": "false",
"type": "Car"
},
"statusCode": {
"code": "200",
"reasonPhrase": "OK"
}
}
]
}
© 2016 TM Forum Live! 2016 | 18
Operations – Query Context (3): Filter Entities by Pattern
POST <CB_HOST>:1026/v1/queryContext
...
{
"entities": [
{
"type": "Car",
"isPattern": "true",
"id": "Car.*"
}
],
"attributes": [
"speed"
]
}
© 2016 TM Forum Live! 2016 | 19
Operations – Subscriptions
 Context Consumers can subscribe to receive context information that satisfy
certain conditions using the subscribeContext. Such subscriptions may have a
duration.
 The Context Broker notifies updates on context information to subscribed
Context Consumers by invoking the notifyContext operation they export
subscription_id = subscribeContext (consumer, expr, duration)
Context Consumer
notifyContext (subscription_id, data/context)
Context Broker
Application
© 2016 TM Forum Live! 2016 | 20
Operations – Creating a Subscription (1)
POST
<cb_host>:1026/v1/subscribeContext
...
{
"entities": [
{
"type": "Car",
"isPattern": "false",
"id": "Car1"
}
],
"attributes": [
"speed"
],
"reference":
"http://<host>:<port>/publish",
"duration": "P1M",
"notifyConditions": [
{
"type": "ONCHANGE",
"condValues": [
"position"
]
}
],
"throttling": "PT5S"
}
© 2016 TM Forum Live! 2016 | 21
Operations – Creating a Subscription (2)
200 OK
...
{
"subscribeResponse": {
"duration": "P1M",
"subscriptionId": "51c0ac9ed714fb3",
"throttling": "PT5S"
}
}
© 2016 TM Forum Live! 2016 | 22
Operations – Receiving Notifications
 When one of the attributes change its value, the Context
Broker will make a POST request to the URL specified in the
reference field.
POST http://<host>:<port>/publish
...
{
"subscriptionId": "51c0ac9ed714fb3",
"originator": "localhost",
"contextResponses" : [
{
"contextElement" : {
"attributes" : [
{
"name" : "speed",
"type" : "float",
"value" : "19"
}
],
"type" : "Car",
"isPattern" : "false",
"id" : "Car1"
},
...
© 2016 TM Forum Live! 2016 | 23
Convenience Operations
 They are equivalent to previous standard operations in functionality
 Avoid the need for POST-ing payloads in many cases or simplifying them
considerably
 Simple to write, more REST-like
 They are not a substitute but a complement to standard NGSI operations
 Not working in old instances
 Four examples (there are many others):
 Entities
 Attributes
 Subscriptions
 Types
© 2016 TM Forum Live! 2016 | 24
Convenience Operations - Entities
 Retrieves an entity
 GET /v1/contextEntities/{entityID}
 Creates an entity
 POST /v1/contextEntities/{entityID}
 Updates an entity
 PUT /v1/contextEntities/{entityID}
 Deletes an entity
 DELETE /v1/contextEntities/{entityID}
© 2016 TM Forum Live! 2016 | 25
Convenience Operations – Attributes
 Retrieves an attribute’s value
 GET /v1/contextEntities/{entityID}/attributes/{attrID}
 Creates a new attribute for an entity
 POST /v1/contextEntities/{entityID}/attributes/{attrID}
 Updates an attribute’s value
 PUT /v1/contextEntities/{entityID}/attributes/{attrID}
 Deletes an attribute
 DELETE /v1/contextEntities/{entityID}/attributes/{attrID}
© 2016 TM Forum Live! 2016 | 26
Convenience Operation – Subscriptions
 Creates a subscription
 POST /v1/contextSubscriptions
 Updates a subscription
 PUT /v1/contextSubscriptions/{subID}
 Cancel a subscription
 DELETE /v1/contextSubscriptions/{subID}
© 2016 TM Forum Live! 2016 | 27
Convenience Operations – Entity Types
 Retrieve a list of all entity types currently in Orion, including
their corresponding attributes
 GET /v1/contextTypes
 Retrieve attributes associated to an entity type
 GET /v1/contextTypes/{typeID}
© 2016 TM Forum Live! 2016 | 28
Endpoints
Endpoint NGSI
version
Entity Types
OPORTO
http://130.206.83.68:1026 2 AmbientAreas
http://fiware-porto.citibrain.com:1026 1
EnvironmentEvent
TrafficEvent
https://api.ost.pt 1 POI
SANTANDER
http://mu.tlmat.unican.es:8099 1
AmbientArea
AmbientObserved
ParkingLot
http://130.206.85.12:1026 1 device (Buses)
http://orion.lab.fiware.org:1026 1
santander:device
santander:sound
santander:traffic
http://130.206.83.68:1026 2 StreetParking
© 2016 TM Forum Live! 2016 | 29
Endpoints
 Valencia
 http://mapas.valencia.es
 Other interesting FIWARE Data Portals
 http://datosabiertos.sevilla.org
 http://datos.santander.es
 http://gobiernoabierto.valencia.es/en
 https://data.lab.fiware.org
© 2016 TM Forum Live! 2016 | 30
Aitor Magán
@AitorMagan
© 2016 TM Forum Live! 2016 | 31
© 2016 TM Forum Live! 2016 | 32
What is WireCloud?
Backend
service Backend
service
Backend
service
Object Storage
API
NGSI API
Context
Broker
© 2016 TM Forum Live! 2016 | 33
What can I do with WireCloud?
 From the developer perspective:
 Use web technologies for easily developing mashable web components
(widgets)
 Integrate web mashups with backend services (e.g. support for pub/sub,
“connectors” to a number of FIWARE GEs, etc.)
 From the user perspective:
 Develop application mashups: integrate heterogeneous data, application
logic, and UI web components to create value added instant applications.
 Without the need of programing skills (e.g. end users, infomediaries, etc.)
 Fostering the reuse and shareability of widgets, mashups, etc.
© 2016 TM Forum Live! 2016 | 34
Features
 Wiring
 Wiring and support for channel creation
 HTTP proxy
 Cross-site HTTP requests
 APIs to some GEs
 Context Broker, Object Storage
 Public App Mashups
 Access without login to a mashup
 Embedded mashups
 Integrate public mashups in any website
© 2016 TM Forum Live! 2016 | 35
Aitor Magán
@AitorMagan

More Related Content

Viewers also liked

Real estate representative kpi
Real estate representative kpiReal estate representative kpi
Real estate representative kpijomdiret
 
Real estate administrator kpi
Real estate administrator kpiReal estate administrator kpi
Real estate administrator kpijomdiret
 
My personal definition of respect
My personal definition of respectMy personal definition of respect
My personal definition of respectsierraswan78
 
GMS,Kannanoor
GMS,KannanoorGMS,Kannanoor
GMS,Kannanoordesigntn
 
RENSTRA LITABMAS 2014
RENSTRA LITABMAS 2014RENSTRA LITABMAS 2014
RENSTRA LITABMAS 2014lppmupnjatim
 
Real estate director kpi
Real estate director kpiReal estate director kpi
Real estate director kpijomdiret
 
Фрезы от ZUND для радиусных кромок
Фрезы от ZUND для радиусных кромокФрезы от ZUND для радиусных кромок
Фрезы от ZUND для радиусных кромокAleksey Shibaev
 
The Power and Value of Professional Mentoring - GWBC by Michelle Deal
The Power and Value of Professional Mentoring - GWBC by Michelle DealThe Power and Value of Professional Mentoring - GWBC by Michelle Deal
The Power and Value of Professional Mentoring - GWBC by Michelle DealKey Services
 
PUMS,Sengal,Krishnarayapuram Union,Karur District."PALLI VILAYATTU MAITHANATH...
PUMS,Sengal,Krishnarayapuram Union,Karur District."PALLI VILAYATTU MAITHANATH...PUMS,Sengal,Krishnarayapuram Union,Karur District."PALLI VILAYATTU MAITHANATH...
PUMS,Sengal,Krishnarayapuram Union,Karur District."PALLI VILAYATTU MAITHANATH...designtn
 

Viewers also liked (20)

Data market end user exercises
Data market end user exercisesData market end user exercises
Data market end user exercises
 
Real estate representative kpi
Real estate representative kpiReal estate representative kpi
Real estate representative kpi
 
Real estate administrator kpi
Real estate administrator kpiReal estate administrator kpi
Real estate administrator kpi
 
My personal definition of respect
My personal definition of respectMy personal definition of respect
My personal definition of respect
 
GMS,Kannanoor
GMS,KannanoorGMS,Kannanoor
GMS,Kannanoor
 
Data market developer exercises
Data market developer exercisesData market developer exercises
Data market developer exercises
 
Nef
NefNef
Nef
 
Amado nervo
Amado nervoAmado nervo
Amado nervo
 
Blog
BlogBlog
Blog
 
10 strategies to get your spouse to the mediation table
10 strategies to get your spouse to the mediation table10 strategies to get your spouse to the mediation table
10 strategies to get your spouse to the mediation table
 
RENSTRA LITABMAS 2014
RENSTRA LITABMAS 2014RENSTRA LITABMAS 2014
RENSTRA LITABMAS 2014
 
Real estate director kpi
Real estate director kpiReal estate director kpi
Real estate director kpi
 
Pdf2575
Pdf2575Pdf2575
Pdf2575
 
Amado Nervo
Amado NervoAmado Nervo
Amado Nervo
 
Фрезы от ZUND для радиусных кромок
Фрезы от ZUND для радиусных кромокФрезы от ZUND для радиусных кромок
Фрезы от ZUND для радиусных кромок
 
NAMIC Management Conference - June 2012
NAMIC Management Conference -  June 2012NAMIC Management Conference -  June 2012
NAMIC Management Conference - June 2012
 
Amado Nervo
Amado NervoAmado Nervo
Amado Nervo
 
The Power and Value of Professional Mentoring - GWBC by Michelle Deal
The Power and Value of Professional Mentoring - GWBC by Michelle DealThe Power and Value of Professional Mentoring - GWBC by Michelle Deal
The Power and Value of Professional Mentoring - GWBC by Michelle Deal
 
PUMS,Sengal,Krishnarayapuram Union,Karur District."PALLI VILAYATTU MAITHANATH...
PUMS,Sengal,Krishnarayapuram Union,Karur District."PALLI VILAYATTU MAITHANATH...PUMS,Sengal,Krishnarayapuram Union,Karur District."PALLI VILAYATTU MAITHANATH...
PUMS,Sengal,Krishnarayapuram Union,Karur District."PALLI VILAYATTU MAITHANATH...
 
Amado Nervo
Amado NervoAmado Nervo
Amado Nervo
 

Similar to TMForum Open:Hack - FIWARE Training Session

FIWARE: Managing Context Information at Large Scale (NGSIv1)
FIWARE: Managing Context Information at Large Scale (NGSIv1)FIWARE: Managing Context Information at Large Scale (NGSIv1)
FIWARE: Managing Context Information at Large Scale (NGSIv1)Fermin Galan
 
Orion Context Broker
Orion Context Broker Orion Context Broker
Orion Context Broker TIDChile
 
Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Fermin Galan
 
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlonapidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlonapidays
 
FIWARE Global Summit - FIWARE Overview
FIWARE Global Summit - FIWARE OverviewFIWARE Global Summit - FIWARE Overview
FIWARE Global Summit - FIWARE OverviewFIWARE
 
Fiware: the pillar of the Future Internet (Overview)
Fiware: the pillar of the Future Internet (Overview)Fiware: the pillar of the Future Internet (Overview)
Fiware: the pillar of the Future Internet (Overview)Juanjo Hierro
 
FIWARE: an open standard platform for smart cities
FIWARE: an open standard platform for smart citiesFIWARE: an open standard platform for smart cities
FIWARE: an open standard platform for smart citiesJuanjo Hierro
 
FIWARE Tech Summit - FIWARE NGSIv2 Introduction
FIWARE Tech Summit - FIWARE NGSIv2 IntroductionFIWARE Tech Summit - FIWARE NGSIv2 Introduction
FIWARE Tech Summit - FIWARE NGSIv2 IntroductionFIWARE
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015Amazon Web Services Korea
 
FIWARE From Open Data to Open APIs
FIWARE From Open Data to Open APIsFIWARE From Open Data to Open APIs
FIWARE From Open Data to Open APIsSergio Garcia Gomez
 
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Chris Richardson
 
IoT and Microservice
IoT and MicroserviceIoT and Microservice
IoT and Microservicekgshukla
 
Andriy Vandakurov about "Frontend. Global domination"
Andriy Vandakurov about  "Frontend. Global domination" Andriy Vandakurov about  "Frontend. Global domination"
Andriy Vandakurov about "Frontend. Global domination" Pivorak MeetUp
 
Centralized Emergency Traffic Optimizer NEV SDK
Centralized Emergency Traffic Optimizer NEV SDKCentralized Emergency Traffic Optimizer NEV SDK
Centralized Emergency Traffic Optimizer NEV SDKMichelle Holley
 
FIWARE Developers Week_ Introduction to Managing Context Information at Large...
FIWARE Developers Week_ Introduction to Managing Context Information at Large...FIWARE Developers Week_ Introduction to Managing Context Information at Large...
FIWARE Developers Week_ Introduction to Managing Context Information at Large...FIWARE
 
FIWARE Wednesday Webinars - FIWARE Vision and Value Proposition
FIWARE Wednesday Webinars - FIWARE Vision and Value PropositionFIWARE Wednesday Webinars - FIWARE Vision and Value Proposition
FIWARE Wednesday Webinars - FIWARE Vision and Value PropositionFIWARE
 
FIWARE Tech Summit - lwM2M IoT Agent in Depth
FIWARE Tech Summit - lwM2M IoT Agent in DepthFIWARE Tech Summit - lwM2M IoT Agent in Depth
FIWARE Tech Summit - lwM2M IoT Agent in DepthFIWARE
 
Event Horizon at Solace Connect Singapore
Event Horizon at Solace Connect SingaporeEvent Horizon at Solace Connect Singapore
Event Horizon at Solace Connect SingaporeSolace
 

Similar to TMForum Open:Hack - FIWARE Training Session (20)

FIWARE: Managing Context Information at Large Scale (NGSIv1)
FIWARE: Managing Context Information at Large Scale (NGSIv1)FIWARE: Managing Context Information at Large Scale (NGSIv1)
FIWARE: Managing Context Information at Large Scale (NGSIv1)
 
Orion Context Broker
Orion Context Broker Orion Context Broker
Orion Context Broker
 
Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8
 
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlonapidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
 
FIWARE Global Summit - FIWARE Overview
FIWARE Global Summit - FIWARE OverviewFIWARE Global Summit - FIWARE Overview
FIWARE Global Summit - FIWARE Overview
 
Fiware: the pillar of the Future Internet (Overview)
Fiware: the pillar of the Future Internet (Overview)Fiware: the pillar of the Future Internet (Overview)
Fiware: the pillar of the Future Internet (Overview)
 
FIWARE: an open standard platform for smart cities
FIWARE: an open standard platform for smart citiesFIWARE: an open standard platform for smart cities
FIWARE: an open standard platform for smart cities
 
FIWARE Tech Summit - FIWARE NGSIv2 Introduction
FIWARE Tech Summit - FIWARE NGSIv2 IntroductionFIWARE Tech Summit - FIWARE NGSIv2 Introduction
FIWARE Tech Summit - FIWARE NGSIv2 Introduction
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
 
FIWARE From Open Data to Open APIs
FIWARE From Open Data to Open APIsFIWARE From Open Data to Open APIs
FIWARE From Open Data to Open APIs
 
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
 
IoT and Microservice
IoT and MicroserviceIoT and Microservice
IoT and Microservice
 
Pivorak.javascript.global domination
Pivorak.javascript.global dominationPivorak.javascript.global domination
Pivorak.javascript.global domination
 
Andriy Vandakurov about "Frontend. Global domination"
Andriy Vandakurov about  "Frontend. Global domination" Andriy Vandakurov about  "Frontend. Global domination"
Andriy Vandakurov about "Frontend. Global domination"
 
Centralized Emergency Traffic Optimizer NEV SDK
Centralized Emergency Traffic Optimizer NEV SDKCentralized Emergency Traffic Optimizer NEV SDK
Centralized Emergency Traffic Optimizer NEV SDK
 
FIWARE Developers Week_ Introduction to Managing Context Information at Large...
FIWARE Developers Week_ Introduction to Managing Context Information at Large...FIWARE Developers Week_ Introduction to Managing Context Information at Large...
FIWARE Developers Week_ Introduction to Managing Context Information at Large...
 
Dapr logicapps
Dapr logicappsDapr logicapps
Dapr logicapps
 
FIWARE Wednesday Webinars - FIWARE Vision and Value Proposition
FIWARE Wednesday Webinars - FIWARE Vision and Value PropositionFIWARE Wednesday Webinars - FIWARE Vision and Value Proposition
FIWARE Wednesday Webinars - FIWARE Vision and Value Proposition
 
FIWARE Tech Summit - lwM2M IoT Agent in Depth
FIWARE Tech Summit - lwM2M IoT Agent in DepthFIWARE Tech Summit - lwM2M IoT Agent in Depth
FIWARE Tech Summit - lwM2M IoT Agent in Depth
 
Event Horizon at Solace Connect Singapore
Event Horizon at Solace Connect SingaporeEvent Horizon at Solace Connect Singapore
Event Horizon at Solace Connect Singapore
 

Recently uploaded

The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxlaozhuseo02
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxTristanJasperRamos
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shoplaozhuseo02
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEHimani415946
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxGal Baras
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxnatyesu
 
The AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfThe AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfSiskaFitrianingrum
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxabhinandnam9997
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptxJungkooksNonexistent
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理aagad
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
 

Recently uploaded (12)

The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
The AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfThe AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdf
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 

TMForum Open:Hack - FIWARE Training Session

  • 1. © 2016 TM Forum Live! 2016 | 1 Open Hack FIWARE Training Session May 6th 2016
  • 2. © 2016 TM Forum Live! 2016 | 2 Orion Context Broker FIWARE NGSI v9 and v10 implementation
  • 3. © 2016 TM Forum Live! 2016 | 3 Being “Smart” requires being “Aware”  Smart City Applications requires gathering and managing context information, referring to values of attributes characterizing entities relevant to the application  NGSI brings a simple yet powerful API enabling access to context information Application NGSI standard API Bus • Location • No. passengers • Driver • License plate Citizen • Name-Surname • Birthday • Preferences • Location • ToDo list Context Information Shop • Location • Business name • Franchise • offerings
  • 4. © 2016 TM Forum Live! 2016 | 4 Different Sources of Context  Context information may come from many sources which may vary over time:  Existing Systems dealing with management of municipal services  Sensor networks (Internet of Things)  Third-party smart city APPs  Source of information needs to be transparent to applications accessing context information NGSI Standard API Current traffic in street “X” A sensor in a pedestrian street Citizen’s car app or smartphone Notify traffic in street “X” Current traffic in street “X” Public Transport System
  • 5. © 2016 TM Forum Live! 2016 | 5 Integration with Sensor Networks  FIWARE NGSI is capable to deal with the wide variety of IoT protocols today  Rather than trying to solve the battle of standards at IoT level, it brings a standard where no standard exists today: context information management FIWARE Context Broker IoT Agent-1 IoT Agent-2 IoT Agent-n IoT Agent Manager create/monitor FIWARE Backend IoT Device Management OMA NGSI API (northbound interface) (southbound interfaces) MQTTETSI M2M IETF CoAP
  • 6. © 2016 TM Forum Live! 2016 | 6 Notifications  Get a notification when a update on context information takes place Bus = “X”, last_stop = “A”, arrived= “Yes” PUSH Notify me when bus “X” arrives at the bus stop “A” API
  • 7. © 2016 TM Forum Live! 2016 | 7 Devices Interaction  Acting on devices can be as easy as changing the value of attributes linked to its corresponding entity Street lamp = “lamp1”, status= “on” Street Lamp lamp1.status  “on” API
  • 8. © 2016 TM Forum Live! 2016 | 8 Additional Details  Main functions:  Context availability management  Context management  HTTP and REST-based  XML payload supported in older versions  JSON payload support  Context in NGSI is based in an entity-attribute model: Attributes • Name • Type • Value Entity • EntityId • EntityType 1 n “has”
  • 9. © 2016 TM Forum Live! 2016 | 9 Nutshell Orion Context Broker Context Producers Context Consumers subscriptions update query notify notify update update DB 1026 1026
  • 10. © 2016 TM Forum Live! 2016 | 10 Operations  NGSI 10  checkHealth  updateContext  queryContext  subscribeContext  updateContextSubscription  unsubscribeContextSubscription
  • 11. © 2016 TM Forum Live! 2016 | 11 Operations – Check Health GET <cb_host>:1026/version { "orion" : { "version" : "0.17.0", "uptime" : "7 d, 21 h, 33 m, 39 s", "git_hash" : "238c3642ad67899da7c1ff08aba4b5c846b4901a", "compile_time" : "Mon Dec 1 11:27:18 CET 2014", "compiled_by" : "fermin", "compiled_in" : "centollo" } }
  • 12. © 2016 TM Forum Live! 2016 | 12 Operations – Create Entity (1) POST <CB_HOST>:1026/v1/updateContext ... { "contextElements": [ { "type": "Car", "isPattern": "false", "id": "Car1", "attributes": [ { "name": "speed", "type": "float", "value": “98" } ] } ], "updateAction": “APPEND" }
  • 13. © 2016 TM Forum Live! 2016 | 13 Operations – Create Entity (2) 200 OK ... { "contextResponses": [ { "contextElement": { "attributes": [ { "name": "speed", "type": "float", "value": "98" } ], "id": "Car1", "isPattern": "false", "type": "Car" }, "statusCode": { "code": "200", "reasonPhrase": "OK" } } ] }
  • 14. © 2016 TM Forum Live! 2016 | 14 Operations – Update Entity (1) POST <CB_HOST>:1026/v1/updateContext ... { "contextElements": [ { "type": "Car", "isPattern": "false", "id": "Car1", "attributes": [ { "name": "speed", "type": "float", "value": "110" } ] } ], "updateAction": "UPDATE" }
  • 15. © 2016 TM Forum Live! 2016 | 15 Operations – Update Entity (2) 200 OK ... { "contextResponses": [ { "contextElement": { "attributes": [ { "name": "speed", "type": "float", "value": "110" } ], "id": "Car1", "isPattern": "false", "type": "Car" }, "statusCode": { "code": "200", "reasonPhrase": "OK" } } ] }
  • 16. © 2016 TM Forum Live! 2016 | 16 Operations – Query Context (1): Get all the attributes of an Entity POST <CB_HOST>:1026/v1/queryContext ... { "entities": [ { "type": "Car", "isPattern": "false", "id": "Car1" } ] }
  • 17. © 2016 TM Forum Live! 2016 | 17 Operations – Query Context (2): Get all the attributes of an Entity 200 OK ... { "contextResponses": [ { "contextElement": { "attributes": [ { "name": "speed", "type": "float", "value": "110" } ], "id": "Car1", "isPattern": "false", "type": "Car" }, "statusCode": { "code": "200", "reasonPhrase": "OK" } } ] }
  • 18. © 2016 TM Forum Live! 2016 | 18 Operations – Query Context (3): Filter Entities by Pattern POST <CB_HOST>:1026/v1/queryContext ... { "entities": [ { "type": "Car", "isPattern": "true", "id": "Car.*" } ], "attributes": [ "speed" ] }
  • 19. © 2016 TM Forum Live! 2016 | 19 Operations – Subscriptions  Context Consumers can subscribe to receive context information that satisfy certain conditions using the subscribeContext. Such subscriptions may have a duration.  The Context Broker notifies updates on context information to subscribed Context Consumers by invoking the notifyContext operation they export subscription_id = subscribeContext (consumer, expr, duration) Context Consumer notifyContext (subscription_id, data/context) Context Broker Application
  • 20. © 2016 TM Forum Live! 2016 | 20 Operations – Creating a Subscription (1) POST <cb_host>:1026/v1/subscribeContext ... { "entities": [ { "type": "Car", "isPattern": "false", "id": "Car1" } ], "attributes": [ "speed" ], "reference": "http://<host>:<port>/publish", "duration": "P1M", "notifyConditions": [ { "type": "ONCHANGE", "condValues": [ "position" ] } ], "throttling": "PT5S" }
  • 21. © 2016 TM Forum Live! 2016 | 21 Operations – Creating a Subscription (2) 200 OK ... { "subscribeResponse": { "duration": "P1M", "subscriptionId": "51c0ac9ed714fb3", "throttling": "PT5S" } }
  • 22. © 2016 TM Forum Live! 2016 | 22 Operations – Receiving Notifications  When one of the attributes change its value, the Context Broker will make a POST request to the URL specified in the reference field. POST http://<host>:<port>/publish ... { "subscriptionId": "51c0ac9ed714fb3", "originator": "localhost", "contextResponses" : [ { "contextElement" : { "attributes" : [ { "name" : "speed", "type" : "float", "value" : "19" } ], "type" : "Car", "isPattern" : "false", "id" : "Car1" }, ...
  • 23. © 2016 TM Forum Live! 2016 | 23 Convenience Operations  They are equivalent to previous standard operations in functionality  Avoid the need for POST-ing payloads in many cases or simplifying them considerably  Simple to write, more REST-like  They are not a substitute but a complement to standard NGSI operations  Not working in old instances  Four examples (there are many others):  Entities  Attributes  Subscriptions  Types
  • 24. © 2016 TM Forum Live! 2016 | 24 Convenience Operations - Entities  Retrieves an entity  GET /v1/contextEntities/{entityID}  Creates an entity  POST /v1/contextEntities/{entityID}  Updates an entity  PUT /v1/contextEntities/{entityID}  Deletes an entity  DELETE /v1/contextEntities/{entityID}
  • 25. © 2016 TM Forum Live! 2016 | 25 Convenience Operations – Attributes  Retrieves an attribute’s value  GET /v1/contextEntities/{entityID}/attributes/{attrID}  Creates a new attribute for an entity  POST /v1/contextEntities/{entityID}/attributes/{attrID}  Updates an attribute’s value  PUT /v1/contextEntities/{entityID}/attributes/{attrID}  Deletes an attribute  DELETE /v1/contextEntities/{entityID}/attributes/{attrID}
  • 26. © 2016 TM Forum Live! 2016 | 26 Convenience Operation – Subscriptions  Creates a subscription  POST /v1/contextSubscriptions  Updates a subscription  PUT /v1/contextSubscriptions/{subID}  Cancel a subscription  DELETE /v1/contextSubscriptions/{subID}
  • 27. © 2016 TM Forum Live! 2016 | 27 Convenience Operations – Entity Types  Retrieve a list of all entity types currently in Orion, including their corresponding attributes  GET /v1/contextTypes  Retrieve attributes associated to an entity type  GET /v1/contextTypes/{typeID}
  • 28. © 2016 TM Forum Live! 2016 | 28 Endpoints Endpoint NGSI version Entity Types OPORTO http://130.206.83.68:1026 2 AmbientAreas http://fiware-porto.citibrain.com:1026 1 EnvironmentEvent TrafficEvent https://api.ost.pt 1 POI SANTANDER http://mu.tlmat.unican.es:8099 1 AmbientArea AmbientObserved ParkingLot http://130.206.85.12:1026 1 device (Buses) http://orion.lab.fiware.org:1026 1 santander:device santander:sound santander:traffic http://130.206.83.68:1026 2 StreetParking
  • 29. © 2016 TM Forum Live! 2016 | 29 Endpoints  Valencia  http://mapas.valencia.es  Other interesting FIWARE Data Portals  http://datosabiertos.sevilla.org  http://datos.santander.es  http://gobiernoabierto.valencia.es/en  https://data.lab.fiware.org
  • 30. © 2016 TM Forum Live! 2016 | 30 Aitor Magán @AitorMagan
  • 31. © 2016 TM Forum Live! 2016 | 31
  • 32. © 2016 TM Forum Live! 2016 | 32 What is WireCloud? Backend service Backend service Backend service Object Storage API NGSI API Context Broker
  • 33. © 2016 TM Forum Live! 2016 | 33 What can I do with WireCloud?  From the developer perspective:  Use web technologies for easily developing mashable web components (widgets)  Integrate web mashups with backend services (e.g. support for pub/sub, “connectors” to a number of FIWARE GEs, etc.)  From the user perspective:  Develop application mashups: integrate heterogeneous data, application logic, and UI web components to create value added instant applications.  Without the need of programing skills (e.g. end users, infomediaries, etc.)  Fostering the reuse and shareability of widgets, mashups, etc.
  • 34. © 2016 TM Forum Live! 2016 | 34 Features  Wiring  Wiring and support for channel creation  HTTP proxy  Cross-site HTTP requests  APIs to some GEs  Context Broker, Object Storage  Public App Mashups  Access without login to a mashup  Embedded mashups  Integrate public mashups in any website
  • 35. © 2016 TM Forum Live! 2016 | 35 Aitor Magán @AitorMagan