Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
MILAN 20/21.11.2015
FIWARE Primer
Learn FIWARE in 60 Minutes
Federico M. Facca
CREATE-NET. FIWARE Evangelist
federico.facc...
MILAN 20/21.11.2015
FEDERICO M. FACCA
What is FIWARE?
 FIWARE’s offer
• Building blocks
• Platform
• Lab
• Ops
FIWARE’s offer
FIWARE Platform
 An OpenStack-based cloud platform that allows the easy deployment and
composition of FIWARE services to ...
FIWARE Lab Nodes
16 FIWARE Lab Nodes
• Currently 16 nodes in Europe providing
up to 3000+ cores, 6TB+ Ram, 750TB+
HD
• 1 n...
FIWARE Smart Cities: Santander
7
 Real-time open data coming from large
deployment of sensors (4500 IoT
devices, 150 mobi...
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)...
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...
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-Au...
Support cloud native applications
development using cutting edge cloud
technologies
16
 OpenStack-based IaaS to provide c...
Deploying FIWARE GEs on the FIWARE
Lab (using a Virtual Machine)
 Launch a GE from the cloud portal
(http://cloud.lab.fiw...
Deploying FIWARE GEs on the FIWARE
Lab (using Docker Compose)
 Configure the Lab
• Create a security group “docker-
machi...
NGSI: the SNMP of the Internet of Things
 Measures as values of attributes characterizing
context entities
 Just need to...
Playing with Context information 1
 Updating context
POST <cb_host>:<cb_port>/v1/contextEntities/type/Rating/id/LeBistro:...
Playing with Context information 2
 Subscribe to context changes
POST <cb_host>:<cb_port>/v1/subscribeContext
{
"entities...
IoT: Plug, Configure & Play
22
 Connection of devices supporting most popular
protocols (MQTT, CoAP, …) should just imply...
Playing with IoT devices 1
 Create an IDAS Service
POST
<idas_host>:<idas_port>/iot/services
Headers: {'content-type':
'a...
Playing with IoT devices 2
 Send Observations related to
your IoT device
• POST <idas_host>:
<idas_port>/d?k= <apikey>&i=...
Powerful framework for publication of
datasets and APIs
 Leveraging on CKAN (welcome on board !)
 Support to self-public...
Publish Open Data Sets in the FIWARE Data portal
(http://data.lab.fiware.org)
 Add Dataset
 Provide basic information
 ...
Integration of FIWARE Advanced Web-based
User Interface GEs with NGSI
 Shared Context Information
 End-to-End connection...
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-...
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 Attil...
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
FIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 Minutes
Nächste SlideShare
Wird geladen in …5
×

FIWARE Primer - Learn FIWARE in 60 Minutes

1.371 Aufrufe

Veröffentlicht am

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.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

FIWARE Primer - Learn FIWARE in 60 Minutes

  1. 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)
  2. 2. MILAN 20/21.11.2015 FEDERICO M. FACCA
  3. 3. What is FIWARE?  FIWARE’s offer • Building blocks • Platform • Lab • Ops
  4. 4. FIWARE’s offer
  5. 5. FIWARE Platform  An OpenStack-based cloud platform that allows the easy deployment and composition of FIWARE services to create new applications
  6. 6. 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
  7. 7. 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
  8. 8. FIWARE OPS Deployment Federation Management Connectivity Management Service Offer Management 1 2 3 4
  9. 9. 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
  10. 10. Learning the key FIWARE technology
  11. 11. Where to start from? 12
  12. 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
  13. 13. Creating your identity in FIWARE  Access the Account Portal and click in “Sign Up” option 14
  14. 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
  15. 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
  16. 16. 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
  17. 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
  18. 18. 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
  19. 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
  20. 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
  21. 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
  22. 22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 27. Develop Interactive applications 28
  28. 28. A reference FIWARE Cloud Native App Architecture  Cloud Patterns  Cloud Patterns in FIWARE
  29. 29. Let’s start from the basic: cattle and pets 30 Cloud Native Applications Legacy Applications
  30. 30. Let’s bring in a couple more of cloud patterns  Horizontal Auto-Scaling Pattern  Queue Centric Workflow Pattern 31
  31. 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
  32. 32. Find out more  Example Apps  FIWARE Catalogue  FIWARE University  FIWARE ASK  #MYFIWARESTORY
  33. 33. Example Apps  SmallSignals  FoneSense 34
  34. 34. FIWARE Catalogue (http://catalogue.fiware.org) 35
  35. 35. FIWARE University (http://edu.fiware.org) 36
  36. 36. FIWARE ASK (http://ask.fiware.org) 37
  37. 37. #MYFIWARESTORY Which is yours? 38
  38. 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
  39. 39. http://fiware.org http://lab.fiware.org Follow @Fiware on Twitter ! Join us!
  40. 40. MILAN 20/21.11.2015 - SPEAKER’S NAME Leave your feedback on Joind.in! https://m.joind.in/event/codemotion-milan-2015

×