MILAN 20/21.11.2015
FIWARE Primer
Learn FIWARE in 60 Minutes
Federico M. Facca
CREATE-NET. FIWARE Evangelist
federico.facca@create-net.org, @chicco785 (twitter)
MILAN 20/21.11.2015
FEDERICO M. FACCA
What is FIWARE?
 FIWARE’s offer
• Building blocks
• Platform
• Lab
• Ops
FIWARE’s offer
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Platform
 An OpenStack-based cloud platform that allows the easy deployment and
composition of FIWARE services to create new applications
FIWARE Lab Nodes
16 FIWARE Lab Nodes
• Currently 16 nodes in Europe providing
up to 3000+ cores, 6TB+ Ram, 750TB+
HD
• 1 node in Mexico providing 1200+ cores
• 1 node in Brazil is being deployed in
these days
…and more to follow!
• Discussions with several European
regions and with Brazil and Chile already
started
• Discussions with other regions and
countries with high potential
• Open Call deadline on 16th November
FIWARE Smart Cities: Santander
7
 Real-time open data coming from large
deployment of sensors (4500 IoT
devices, 150 mobile sensor units, 2500
RFIDs) offered through standard FI-
WARE APIs
 Open data sets captured from sensors
since August 2013 uploaded on Big Data
platform and ready for analysis
 Reference FI-WARE application
examples available (e.g. Management of
Parque de las Llamas public lighting)
60+ cities from 12 countries joined the Open and Agile
Smart Cities (OASC) initative commiting to adopt common
principles:
•Open APIs
•Standard Data Models
•Open Data/APIs publication platform
•Driven by implementation
FIWARE OPS
Deployment
Federation Management
Connectivity Management
Service Offer Management
1
2
3
4
Budget for FIWARE/FIWARE Lab (phases 1 & 2)
126 M€ = (89 + 37) M€
countries
270 150
companiespartners
400 M€ = (300 + 100) M€
Budget (RTD + funding for entrepreneurs)
>1.000
SMEs and start-ups
27
facts
9
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Learning the key
FIWARE technology
Where to start from?
12
Common Authorization, Access Control
and Privacy management framework for
all FIWARE GE interfaces
 Authorization, Access Control framework in the
short term
 Privacy Management capabilities to be
integrated next
13
Creating your identity in FIWARE
 Access the Account Portal and click in “Sign Up” option
14
Sending Protected Requests to a
FIWARE Service
 Authentication Example
 GET /GE_URL_path HTTP/1.1
Host: GE_hostname
X-Auth-Token: access_token
 Secure your backend
 Install PEP Proxy
• git clone https://github.com/ging/fi‐ware-
pep‐proxy.git
• cd fi‐ware‐pep‐proxy/
npm install
• //Hostname to forward authenticated requests
config.app_host = 'www.google.es';
//Port where the HTTP server is running
config.app_port = '80';
• sudo node server
15
Support cloud native applications
development using cutting edge cloud
technologies
16
 OpenStack-based IaaS to provide computing
and storage capacity across multiple data
centers
 Docker-based PaaS to deploy and compose
scalable applications
Deploying FIWARE GEs on the FIWARE
Lab (using a Virtual Machine)
 Launch a GE from the cloud portal
(http://cloud.lab.fiware.org)
• Click on images
• Launch the selected GE
 Configure the VM
• Set flavor
• Set security groups
• Set network
17
Deploying FIWARE GEs on the FIWARE
Lab (using Docker Compose)
 Configure the Lab
• Create a security group “docker-
machine-sg” with ports 2376 and 22
open
• Allocate at least one floating IP to
your project.
• Take a look a the VM images that
are used to when creating a docker
host.
 Set-up docker on your local
workstation
• install docker
$ wget -qO- https://get.docker.com/ | sh
• install docker machine
$ curl -L
https://github.com/docker/machine/releases/download/v0.5.
0/docker-machine_linux-amd64.zip >machine.zip && 
unzip machine.zip &&  rm machine.zip &&  mv docker-
machine* /usr/local/bin
 Set-up a docker machine
• Set Openstack environment variables
>export OS_REGION_NAME='Spain2‘
>export OS_TENANT_NAME='john-smith cloud'
>export OS_USERNAME='jsmith@gmail.com''
>export OS_PASSWORD='secret''
>export OS_AUTH_URL='http://cloud.lab.fi-ware.org:4730/v2.0/'
>export OS_AUTH_STRATEGY='keystone‘
• Create docker machine
>docker-machine create -d openstack --openstack-flavor-id="2" --
openstack-image-name="Ubuntu Server 14.04.1 (x64)" --
openstack-net-name="node-int-net-01" --openstack-floatingip-
pool="public-ext-net-01" --openstack-sec-groups="docker-
machine-sg" docker-host
 Launch composition
• Describe docker-compose.yml
mongo:
image: mongo:2.6
command: --smallfiles
orion:
image: fiware/orion
links:
- mongo
ports:
- ":1026“
command: -dbhost mongo
• Deploy composition
>docker-compose up –d18
NGSI: the SNMP of the Internet of Things
 Measures as values of attributes characterizing
context entities
 Just need to change the value of an attribute to
trigger an action on a device
19
Playing with Context information 1
 Updating context
POST <cb_host>:<cb_port>/v1/contextEntities/type/Rating/id/LeBistro::Client1234 {
"attributes" : [{
"name" : "score",
"type" : "integer",
"value" : "4" } ]
}
 Querying a context
GET <cb_host>:<cb_port>/v1/contextEntities/type/Restaurant/id/LeBistro
//getting a JSON response such as the following one:
{ "contextElement":
{ "attributes": [ {
"name": "name",
"type": "string",
"value": "Le Bistro" },…],
},
"statusCode": { "code": "200", "reasonPhrase": "OK" }
}
20
Playing with Context information 2
 Subscribe to context changes
POST <cb_host>:<cb_port>/v1/subscribeContext
{
"entities": [
{
"type": "Rating",
"isPattern": "true",
"id": ".*"
} ],
"attributes": [ "score" ],
"reference": "http://backend.niceeating.foo.com:1028/ratings",
"duration": "P1M",
"notifyConditions": [
{ "type": "ONCHANGE", "condValues": [ "score" ] }
]
}
21
IoT: Plug, Configure & Play
22
 Connection of devices supporting most popular
protocols (MQTT, CoAP, …) should just imply to
plug, configure & play
 Provide a framework that eases the
incorporation of new protocols
Playing with IoT devices 1
 Create an IDAS Service
POST
<idas_host>:<idas_port>/iot/services
Headers: {'content-type':
'application/json’; 'X-Auth-Token' :
[TOKEN]; "Fiware-Service:
OpenIoT”; "Fiware-ServicePath: /"}
Payload:
{
"services": [
{ "apikey":
"4jggokgpepnvsb2uv4s40d59ov",
"token": "token2",
"cbroker":
"http://0.0.0.0:1026",
"entity_type": "thing",
"resource": "/iot/d" }
]
}
 Register your IoT device
• POST
<idas_host>:<idas_port>/iot/devices
Headers: …
Payload:
{
"devices": [
{
"device_id": ”[DEV_ID]",
"entity_name": ”[ENTITY_ID]",
"entity_type": "thing",
“timezone": ”Europe/Madrid",
"attributes": [
{
"object_id": "t",
"name": "temperature",
"type": "int“
} ],
"static_attributes": …
}
]}23
Playing with IoT devices 2
 Send Observations related to
your IoT device
• POST <idas_host>:
<idas_port>/d?k= <apikey>&i=
<device_ID
Headers:
{
'content-type': 'application/text’;
'X-Auth-Token' : [TOKEN];
"Fiware-Service: OpenIoT”;
"Fiware-ServicePath: /“
}
Payload: ‘ t|25‘
 Reading measurements sent by
your IoT device
• GET
<cb_host>:<cb_port>/v1/contextEntit
ies/type/thing/id/[ENTITY_ID]
24
Powerful framework for publication of
datasets and APIs
 Leveraging on CKAN (welcome on board !)
 Support to self-publication by third parties
 Integration with FIWARE Store GE in order to
support how access rights are obtained by users
25
Publish Open Data Sets in the FIWARE Data portal
(http://data.lab.fiware.org)
 Add Dataset
 Provide basic information
 Upload data
 Provide metadata
26
Integration of FIWARE Advanced Web-based
User Interface GEs with NGSI
 Shared Context Information
 End-to-End connection from UI to IoT resources
27
Develop Interactive applications
28
A reference FIWARE Cloud
Native App Architecture
 Cloud Patterns
 Cloud Patterns in FIWARE
Let’s start from the basic:
cattle and pets
30
Cloud Native Applications Legacy Applications
Let’s bring in a couple more
of cloud patterns
 Horizontal Auto-Scaling Pattern  Queue Centric Workflow Pattern
31
Let’s mix them with a couple of
FIWARE ingredients
32
Queue Centric Workflow
(HA Orion Context Broker)
Auto-scaling front-end
(consumers)
Workers
(consumers/
producers)
CDN
(Object
Storage)
NGSI
NGSI
Find out more
 Example Apps
 FIWARE Catalogue
 FIWARE University
 FIWARE ASK
 #MYFIWARESTORY
Example Apps
 SmallSignals  FoneSense
34
FIWARE Catalogue
(http://catalogue.fiware.org)
35
FIWARE University
(http://edu.fiware.org)
36
FIWARE ASK (http://ask.fiware.org)
37
#MYFIWARESTORY
Which is yours?
38
Don’t miss the Lab Session this afternoon!
Be aware!!! Build a Context
Aware Application using FIWARE
Presented by Attilio Broglio
Room BL27.0.6
14:10 - 16:00
http://fiware.org
http://lab.fiware.org
Follow @Fiware on Twitter !
Join us!
MILAN 20/21.11.2015 - SPEAKER’S NAME
Leave your feedback on Joind.in!
https://m.joind.in/event/codemotion-milan-2015

More Related Content

PPTX
Intro to the FIWARE Lab
PDF
The 'Serverless' Paradigm, OpenWhisk and FIWARE
PDF
Join FIWARE Lab
PPT
FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference
PPTX
Developing an IoT System FIWARE Based from the Scratch
PPTX
Setting up your virtual infrastructure using FIWARE Lab Cloud
PDF
FIWARE Developers Week_BootcampWeBUI_presentation1
PPTX
Introduction to FIWARE IoT
Intro to the FIWARE Lab
The 'Serverless' Paradigm, OpenWhisk and FIWARE
Join FIWARE Lab
FIWARE Developers Week_FIWARE IoT: Beginner's tutorial_conference
Developing an IoT System FIWARE Based from the Scratch
Setting up your virtual infrastructure using FIWARE Lab Cloud
FIWARE Developers Week_BootcampWeBUI_presentation1
Introduction to FIWARE IoT

What's hot (20)

PPTX
Developing your first application using FI-WARE
PDF
FIWARE Developers Week_Bootcamp_presentation
PPTX
Fiware, the future internet
PDF
Openstack 101
PPTX
Azure IoT hub
PDF
Basic Network Security_Primer
PDF
FIWARE Tech Summit - FIWARE IoT Agents
PPTX
Kali Linux - Falconer - ISS 2014
PPTX
IoT-Broker Developers Week
PPTX
Fiware Developers Week Iot exercises (Advanced)
PPTX
What is FIWARE Lab
PDF
Operation emmental appsec
PPTX
Federating new FIWARE Lab nodes
PPTX
Process for joining to the FIWARE Lab
PDF
Open stack
PPTX
A Complete IoT Backend Infrastructure in FIWARE
PPTX
Getting Started: Developing Tropo Applications
PDF
Your House is My House: Use of Offensive Enclaves In Adversarial Operations
PPTX
Kali Linux
PDF
FIWARE Tech Summit - Building Your Own IoT Agent
Developing your first application using FI-WARE
FIWARE Developers Week_Bootcamp_presentation
Fiware, the future internet
Openstack 101
Azure IoT hub
Basic Network Security_Primer
FIWARE Tech Summit - FIWARE IoT Agents
Kali Linux - Falconer - ISS 2014
IoT-Broker Developers Week
Fiware Developers Week Iot exercises (Advanced)
What is FIWARE Lab
Operation emmental appsec
Federating new FIWARE Lab nodes
Process for joining to the FIWARE Lab
Open stack
A Complete IoT Backend Infrastructure in FIWARE
Getting Started: Developing Tropo Applications
Your House is My House: Use of Offensive Enclaves In Adversarial Operations
Kali Linux
FIWARE Tech Summit - Building Your Own IoT Agent
Ad

Viewers also liked (20)

PPT
X-GSN in OpenIoT SummerSchool
PPTX
XGSN: An Open-source Semantic Sensing Middleware for the Web of Things
PPT
Fiware IoT Proposal & Community
PPTX
The Schema Editor of OpenIoT for Semantic Sensor Networks
PDF
JavaScript Patterns For Contemporary Dance Music
PPTX
Sviluppare per una piattaforma mobile aperta: opportunità e sfide
PDF
Andrea Maietta, Paolo Sale - Hit him harder! The revenge of the technological...
PPTX
Mozilla Community Meetup & FirefoxOS Talk - Daniele Scasciafratte - Codemotio...
PPT
Fun with Functional JavaScript - Kuba Waliński - Codemotion Rome 2015
PPT
The Havering over 65s consultation project
PDF
GlusterFS : un file system open source per i big data di oggi e domani - Robe...
PDF
The Big “Why equal doesn’t equal” Quiz
PPTX
Laziness, trampolines, monoids and other functional amenities: this is not yo...
PDF
Braintree v.zero: a modern foundation for accepting payments - Alberto Lopez ...
PPTX
Morra cinese in salsa gesture con contorno di SignalR by Massimo Bonanni, Mar...
PDF
Monicelli - Stefano Sanfilippo - Codemotion Roma 2015
PDF
Programmare la creatività - Zappacosta
PPT
A consistent view of business identification before insight
PPTX
Typescript: Javascript senza problemi by Andrea Boschin
PDF
OpenKnit at WeMake Makerspace in Milan - Zoe Romano - Codemotion Milan 2014
X-GSN in OpenIoT SummerSchool
XGSN: An Open-source Semantic Sensing Middleware for the Web of Things
Fiware IoT Proposal & Community
The Schema Editor of OpenIoT for Semantic Sensor Networks
JavaScript Patterns For Contemporary Dance Music
Sviluppare per una piattaforma mobile aperta: opportunità e sfide
Andrea Maietta, Paolo Sale - Hit him harder! The revenge of the technological...
Mozilla Community Meetup & FirefoxOS Talk - Daniele Scasciafratte - Codemotio...
Fun with Functional JavaScript - Kuba Waliński - Codemotion Rome 2015
The Havering over 65s consultation project
GlusterFS : un file system open source per i big data di oggi e domani - Robe...
The Big “Why equal doesn’t equal” Quiz
Laziness, trampolines, monoids and other functional amenities: this is not yo...
Braintree v.zero: a modern foundation for accepting payments - Alberto Lopez ...
Morra cinese in salsa gesture con contorno di SignalR by Massimo Bonanni, Mar...
Monicelli - Stefano Sanfilippo - Codemotion Roma 2015
Programmare la creatività - Zappacosta
A consistent view of business identification before insight
Typescript: Javascript senza problemi by Andrea Boschin
OpenKnit at WeMake Makerspace in Milan - Zoe Romano - Codemotion Milan 2014
Ad

Similar to Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes (20)

PPTX
201410 1 fiware-overview
PDF
Berlin OpenStack Summit'18
PPTX
Fiware Overiew - Trento FI-PPP info day
PPTX
Fiware cloud developers week brussels
PPTX
Fiware, the future internet
PPT
FIWARE IoT Proposal & Community
PPTX
3° Fiware Overview-Chile
PPTX
FIWARE and IoT net services by DunavNET, SenZations 2015
PPTX
3° Fiware Overview-Chile- Track
PDF
FI Workshop Sesión Inaugural TID Chile
PPTX
20170720 fiware lab_at_open_stack_days_tokyo
PDF
2016 04-28-fiware@eclipse-io t-event
PPTX
Introduction to FIWARE Cloud & Context Broker
PPTX
Introduction to FIWARE Open Ecosystem
PDF
FIWARE: Open APIs for Open Cities
PPT
Fiware IoT Proposal and Community
PDF
FIWARE Global Summit - FIWARE Overview
PDF
Fiware overview3
PPTX
Fiware cloud capabilities_and_setting_up_your_environment
PPTX
FIWARE MEXICO WorkShop 2016 - 3. FIWARE: Open APIs for Open Cities
201410 1 fiware-overview
Berlin OpenStack Summit'18
Fiware Overiew - Trento FI-PPP info day
Fiware cloud developers week brussels
Fiware, the future internet
FIWARE IoT Proposal & Community
3° Fiware Overview-Chile
FIWARE and IoT net services by DunavNET, SenZations 2015
3° Fiware Overview-Chile- Track
FI Workshop Sesión Inaugural TID Chile
20170720 fiware lab_at_open_stack_days_tokyo
2016 04-28-fiware@eclipse-io t-event
Introduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Open Ecosystem
FIWARE: Open APIs for Open Cities
Fiware IoT Proposal and Community
FIWARE Global Summit - FIWARE Overview
Fiware overview3
Fiware cloud capabilities_and_setting_up_your_environment
FIWARE MEXICO WorkShop 2016 - 3. FIWARE: Open APIs for Open Cities

More from Codemotion (20)

PDF
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
PDF
Pompili - From hero to_zero: The FatalNoise neverending story
PPTX
Pastore - Commodore 65 - La storia
PPTX
Pennisi - Essere Richard Altwasser
PPTX
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
PPTX
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
PPTX
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
PPTX
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
PDF
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
PDF
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
PDF
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
PDF
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
PDF
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
PDF
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
PPTX
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
PPTX
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
PDF
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
PDF
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
PDF
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Pompili - From hero to_zero: The FatalNoise neverending story
Pastore - Commodore 65 - La storia
Pennisi - Essere Richard Altwasser
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019

Recently uploaded (20)

PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Five Habits of High-Impact Board Members
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
DP Operators-handbook-extract for the Mautical Institute
PPT
Geologic Time for studying geology for geologist
PPTX
Modernising the Digital Integration Hub
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
STKI Israel Market Study 2025 version august
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
Developing a website for English-speaking practice to English as a foreign la...
observCloud-Native Containerability and monitoring.pptx
Getting started with AI Agents and Multi-Agent Systems
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
WOOl fibre morphology and structure.pdf for textiles
1 - Historical Antecedents, Social Consideration.pdf
CloudStack 4.21: First Look Webinar slides
Five Habits of High-Impact Board Members
Enhancing emotion recognition model for a student engagement use case through...
DP Operators-handbook-extract for the Mautical Institute
Geologic Time for studying geology for geologist
Modernising the Digital Integration Hub
Hindi spoken digit analysis for native and non-native speakers
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Final SEM Unit 1 for mit wpu at pune .pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
STKI Israel Market Study 2025 version august
Univ-Connecticut-ChatGPT-Presentaion.pdf
Web Crawler for Trend Tracking Gen Z Insights.pptx

Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes

  • 1. MILAN 20/21.11.2015 FIWARE Primer Learn FIWARE in 60 Minutes Federico M. Facca CREATE-NET. FIWARE Evangelist federico.facca@create-net.org, @chicco785 (twitter)
  • 3. What is FIWARE?  FIWARE’s offer • Building blocks • Platform • Lab • Ops
  • 6. FIWARE Platform  An OpenStack-based cloud platform that allows the easy deployment and composition of FIWARE services to create new applications
  • 7. FIWARE Lab Nodes 16 FIWARE Lab Nodes • Currently 16 nodes in Europe providing up to 3000+ cores, 6TB+ Ram, 750TB+ HD • 1 node in Mexico providing 1200+ cores • 1 node in Brazil is being deployed in these days …and more to follow! • Discussions with several European regions and with Brazil and Chile already started • Discussions with other regions and countries with high potential • Open Call deadline on 16th November
  • 8. FIWARE Smart Cities: Santander 7  Real-time open data coming from large deployment of sensors (4500 IoT devices, 150 mobile sensor units, 2500 RFIDs) offered through standard FI- WARE APIs  Open data sets captured from sensors since August 2013 uploaded on Big Data platform and ready for analysis  Reference FI-WARE application examples available (e.g. Management of Parque de las Llamas public lighting) 60+ cities from 12 countries joined the Open and Agile Smart Cities (OASC) initative commiting to adopt common principles: •Open APIs •Standard Data Models •Open Data/APIs publication platform •Driven by implementation
  • 9. FIWARE OPS Deployment Federation Management Connectivity Management Service Offer Management 1 2 3 4
  • 10. Budget for FIWARE/FIWARE Lab (phases 1 & 2) 126 M€ = (89 + 37) M€ countries 270 150 companiespartners 400 M€ = (300 + 100) M€ Budget (RTD + funding for entrepreneurs) >1.000 SMEs and start-ups 27 facts 9
  • 13. Where to start from? 12
  • 14. Common Authorization, Access Control and Privacy management framework for all FIWARE GE interfaces  Authorization, Access Control framework in the short term  Privacy Management capabilities to be integrated next 13
  • 15. Creating your identity in FIWARE  Access the Account Portal and click in “Sign Up” option 14
  • 16. Sending Protected Requests to a FIWARE Service  Authentication Example  GET /GE_URL_path HTTP/1.1 Host: GE_hostname X-Auth-Token: access_token  Secure your backend  Install PEP Proxy • git clone https://github.com/ging/fi‐ware- pep‐proxy.git • cd fi‐ware‐pep‐proxy/ npm install • //Hostname to forward authenticated requests config.app_host = 'www.google.es'; //Port where the HTTP server is running config.app_port = '80'; • sudo node server 15
  • 17. Support cloud native applications development using cutting edge cloud technologies 16  OpenStack-based IaaS to provide computing and storage capacity across multiple data centers  Docker-based PaaS to deploy and compose scalable applications
  • 18. Deploying FIWARE GEs on the FIWARE Lab (using a Virtual Machine)  Launch a GE from the cloud portal (http://cloud.lab.fiware.org) • Click on images • Launch the selected GE  Configure the VM • Set flavor • Set security groups • Set network 17
  • 19. Deploying FIWARE GEs on the FIWARE Lab (using Docker Compose)  Configure the Lab • Create a security group “docker- machine-sg” with ports 2376 and 22 open • Allocate at least one floating IP to your project. • Take a look a the VM images that are used to when creating a docker host.  Set-up docker on your local workstation • install docker $ wget -qO- https://get.docker.com/ | sh • install docker machine $ curl -L https://github.com/docker/machine/releases/download/v0.5. 0/docker-machine_linux-amd64.zip >machine.zip && unzip machine.zip && rm machine.zip && mv docker- machine* /usr/local/bin  Set-up a docker machine • Set Openstack environment variables >export OS_REGION_NAME='Spain2‘ >export OS_TENANT_NAME='john-smith cloud' >export OS_USERNAME='jsmith@gmail.com'' >export OS_PASSWORD='secret'' >export OS_AUTH_URL='http://cloud.lab.fi-ware.org:4730/v2.0/' >export OS_AUTH_STRATEGY='keystone‘ • Create docker machine >docker-machine create -d openstack --openstack-flavor-id="2" -- openstack-image-name="Ubuntu Server 14.04.1 (x64)" -- openstack-net-name="node-int-net-01" --openstack-floatingip- pool="public-ext-net-01" --openstack-sec-groups="docker- machine-sg" docker-host  Launch composition • Describe docker-compose.yml mongo: image: mongo:2.6 command: --smallfiles orion: image: fiware/orion links: - mongo ports: - ":1026“ command: -dbhost mongo • Deploy composition >docker-compose up –d18
  • 20. NGSI: the SNMP of the Internet of Things  Measures as values of attributes characterizing context entities  Just need to change the value of an attribute to trigger an action on a device 19
  • 21. Playing with Context information 1  Updating context POST <cb_host>:<cb_port>/v1/contextEntities/type/Rating/id/LeBistro::Client1234 { "attributes" : [{ "name" : "score", "type" : "integer", "value" : "4" } ] }  Querying a context GET <cb_host>:<cb_port>/v1/contextEntities/type/Restaurant/id/LeBistro //getting a JSON response such as the following one: { "contextElement": { "attributes": [ { "name": "name", "type": "string", "value": "Le Bistro" },…], }, "statusCode": { "code": "200", "reasonPhrase": "OK" } } 20
  • 22. Playing with Context information 2  Subscribe to context changes POST <cb_host>:<cb_port>/v1/subscribeContext { "entities": [ { "type": "Rating", "isPattern": "true", "id": ".*" } ], "attributes": [ "score" ], "reference": "http://backend.niceeating.foo.com:1028/ratings", "duration": "P1M", "notifyConditions": [ { "type": "ONCHANGE", "condValues": [ "score" ] } ] } 21
  • 23. IoT: Plug, Configure & Play 22  Connection of devices supporting most popular protocols (MQTT, CoAP, …) should just imply to plug, configure & play  Provide a framework that eases the incorporation of new protocols
  • 24. Playing with IoT devices 1  Create an IDAS Service POST <idas_host>:<idas_port>/iot/services Headers: {'content-type': 'application/json’; 'X-Auth-Token' : [TOKEN]; "Fiware-Service: OpenIoT”; "Fiware-ServicePath: /"} Payload: { "services": [ { "apikey": "4jggokgpepnvsb2uv4s40d59ov", "token": "token2", "cbroker": "http://0.0.0.0:1026", "entity_type": "thing", "resource": "/iot/d" } ] }  Register your IoT device • POST <idas_host>:<idas_port>/iot/devices Headers: … Payload: { "devices": [ { "device_id": ”[DEV_ID]", "entity_name": ”[ENTITY_ID]", "entity_type": "thing", “timezone": ”Europe/Madrid", "attributes": [ { "object_id": "t", "name": "temperature", "type": "int“ } ], "static_attributes": … } ]}23
  • 25. Playing with IoT devices 2  Send Observations related to your IoT device • POST <idas_host>: <idas_port>/d?k= <apikey>&i= <device_ID Headers: { 'content-type': 'application/text’; 'X-Auth-Token' : [TOKEN]; "Fiware-Service: OpenIoT”; "Fiware-ServicePath: /“ } Payload: ‘ t|25‘  Reading measurements sent by your IoT device • GET <cb_host>:<cb_port>/v1/contextEntit ies/type/thing/id/[ENTITY_ID] 24
  • 26. Powerful framework for publication of datasets and APIs  Leveraging on CKAN (welcome on board !)  Support to self-publication by third parties  Integration with FIWARE Store GE in order to support how access rights are obtained by users 25
  • 27. Publish Open Data Sets in the FIWARE Data portal (http://data.lab.fiware.org)  Add Dataset  Provide basic information  Upload data  Provide metadata 26
  • 28. Integration of FIWARE Advanced Web-based User Interface GEs with NGSI  Shared Context Information  End-to-End connection from UI to IoT resources 27
  • 30. A reference FIWARE Cloud Native App Architecture  Cloud Patterns  Cloud Patterns in FIWARE
  • 31. Let’s start from the basic: cattle and pets 30 Cloud Native Applications Legacy Applications
  • 32. Let’s bring in a couple more of cloud patterns  Horizontal Auto-Scaling Pattern  Queue Centric Workflow Pattern 31
  • 33. Let’s mix them with a couple of FIWARE ingredients 32 Queue Centric Workflow (HA Orion Context Broker) Auto-scaling front-end (consumers) Workers (consumers/ producers) CDN (Object Storage) NGSI NGSI
  • 34. Find out more  Example Apps  FIWARE Catalogue  FIWARE University  FIWARE ASK  #MYFIWARESTORY
  • 35. Example Apps  SmallSignals  FoneSense 34
  • 40. Don’t miss the Lab Session this afternoon! Be aware!!! Build a Context Aware Application using FIWARE Presented by Attilio Broglio Room BL27.0.6 14:10 - 16:00
  • 42. MILAN 20/21.11.2015 - SPEAKER’S NAME Leave your feedback on Joind.in! https://m.joind.in/event/codemotion-milan-2015

Editor's Notes

  • #5: Highlight role of FIWARE Lab in the picture: - The Lab is not only cloud hosting, is an ecosystem, while users may not care much if their App is in Italy or Spain, having a node in your Region help you to learn the technology and get direct interaction with users Highlight role of FIWARE Ops: - We also have a set of tools to support operations, included automated deployment
  • #6: So what you get when deploying a FIWARE Lab node? Access for your users to all the building blocks Generic Enablers are automatically installed on nodes
  • #7: -> Recall customization of some elements of OpenStack (which it is the meaning of the cloud bullet across fiware and openstack)
  • #8: How it looks today FIWARE Lab?
  • #10: Old stuff but we haven’t work out the new one. Action on this.
  • #25: [DEV_ID] the device identifier at IDAS. [ENTITY_ID] the entity ID to be used at the ContextBroker will be “thing:[ENTITY_ID]” "attributes" they should include an alias (a letter representing this attribute).  "static_attributes" only if your device needs to define static attributes (sent in every observation)