fi ware en hack for good (#h4g)

43
Open APIs for Open Minds Fi-Ware :: la plataforma de Internet del Futuro Joaquín Salvachua ([email protected] ) Javier Cerviño ([email protected] ) Alvaro Alonso ([email protected] ) Juan Quemada [email protected] ) viernes, 4 de abril de 14

Upload: joaquin-salvachua

Post on 17-May-2015

609 views

Category:

Software


2 download

DESCRIPTION

Introducción a Fi-Ware dentro del Hack For Good 2014 en Madrid.

TRANSCRIPT

Page 1: Fi ware en Hack for good  (#H4G)

Open APIs for Open Minds

Fi-Ware :: la plataforma de Internet del Futuro

Joaquín Salvachua ([email protected])Javier Cerviño ([email protected])Alvaro Alonso ([email protected])Juan Quemada [email protected])

viernes, 4 de abril de 14

Page 2: Fi ware en Hack for good  (#H4G)

¿Fi-que?

viernes, 4 de abril de 14

Page 3: Fi ware en Hack for good  (#H4G)

FI-PPP

• Esto tiene muchos acronimos raros.

• Intentaremos ignorarlos por ahora para no liaros.

• Plataforma cloud con acceso a un gran numero de componentes y datos de diversas Ciudades inteligentes y sensores.

• FI es por Future Internet.

viernes, 4 de abril de 14

Page 4: Fi ware en Hack for good  (#H4G)

º

viernes, 4 de abril de 14

Page 5: Fi ware en Hack for good  (#H4G)

fi-cosas

• Fi-ware

• Fi-lab

• Fi-core

• fi-otros :: como el batmovil y las batcosas pero con FI.

viernes, 4 de abril de 14

Page 6: Fi ware en Hack for good  (#H4G)

Fi-Lab

viernes, 4 de abril de 14

Page 8: Fi ware en Hack for good  (#H4G)

Cursos Online

viernes, 4 de abril de 14

Page 9: Fi ware en Hack for good  (#H4G)

Catálogo

• Hay un catálogo con toda la información de cada uno de ellos.

• http://catalogue.fi-ware.eu/

• Existen muchos, pero nos vamos a centrar en los más representativos.

viernes, 4 de abril de 14

Page 10: Fi ware en Hack for good  (#H4G)

Generic Enablers

• Son Piezas de lego que podemos usar para nuestros servicios

viernes, 4 de abril de 14

Page 11: Fi ware en Hack for good  (#H4G)

GE

• Nombre que se dan a los diversos componentes en los proyectos.

• Son especificaciones de los API de acceso a estos componentes y los GEi las implementaciones que existen (Como las clases y los objetos).

• Receta: son los componentes que usaremos.

viernes, 4 de abril de 14

Page 12: Fi ware en Hack for good  (#H4G)

Infraestructura Cloud

• Basada en OpenStack

viernes, 4 de abril de 14

Page 13: Fi ware en Hack for good  (#H4G)

Infraestructura en Europa

viernes, 4 de abril de 14

Page 14: Fi ware en Hack for good  (#H4G)

Detalles

• Acceso a la infraestructura en la fi-nube:

• Registrarse en : https://account.lab.fi-ware.org

• Esto nos permitirá crear y acceder a una máquina virtual.

viernes, 4 de abril de 14

Page 15: Fi ware en Hack for good  (#H4G)

Registraros

• Demo

viernes, 4 de abril de 14

Page 16: Fi ware en Hack for good  (#H4G)

Algunos detalles técnicos

viernes, 4 de abril de 14

Page 17: Fi ware en Hack for good  (#H4G)

Iden%ty  Management  

17

viernes, 4 de abril de 14

Page 18: Fi ware en Hack for good  (#H4G)

Iden%ty  Management  in  FI-­‐WARE

18

viernes, 4 de abril de 14

Page 19: Fi ware en Hack for good  (#H4G)

Iden%ty  Management  in  FI-­‐WARE

• Management  of  users,  their  authen)ca)on  and  authoriza)on,  and  privileges  within  organiza)ons.

• Resources  used:– Users– Organiza%ons– Roles– Applica%ons

• Users  register  themselves,  create  organiza%ons,  and  assign  roles  into  these  organiza%ons.

• It  enables  applica)ons  to  access  user’s  protected  informa)on.– Trusted  environment– OAuth  2.0  standard

• hHp://oauth.net/2/

19

viernes, 4 de abril de 14

Page 20: Fi ware en Hack for good  (#H4G)

20

Back-­‐end  Apps

Account

Requ

est  +

access-­‐token

Web  App

Oauth  Library

Proxy

redirect

access-­‐code

request  access-­‐token

access-­‐token

access-­‐token  +  path

OK  +  user  info

viernes, 4 de abril de 14

Page 21: Fi ware en Hack for good  (#H4G)

Architectura  

21

NGSI  IoT  Adapter

IoT Backend Device Management

Browser

Context  BrokerTicket  Management

CEP

Wirecloud  (javascript  run%me)

widgets

Object  Storage

History

Loca%on

Wirecloud  (server)

Cosmos

viernes, 4 de abril de 14

Page 22: Fi ware en Hack for good  (#H4G)

Architectura  

21

NGSI  IoT  Adapter

IoT Backend Device Management

Browser

Context  BrokerTicket  Management

CEP

Wirecloud  (javascript  run%me)

widgets

Object  Storage

History

Loca%on

Wirecloud  (server)

Cosmos

viernes, 4 de abril de 14

Page 23: Fi ware en Hack for good  (#H4G)

Reference  IoT  FI-­‐Lab  Scenario

22

HACKATHONsDCAIDAS

ContextBroker

SANTANDER

SEVILLA

App  Logic  FI-­‐WARE  Cloud

UserInterface

DashboardsUI  Prototyping

OAuth2.0 DCA  Portal,Dashboard

viernes, 4 de abril de 14

Page 24: Fi ware en Hack for good  (#H4G)

New  Devices,  Technologies  &  Protocols:  

23

HW  (Motes,  TT  …)

TX  (BLE,  802.15.4…)

6LowPAN

UDP

CoAP

HW

NGSI  /  Light  App

viernes, 4 de abril de 14

Page 25: Fi ware en Hack for good  (#H4G)

What  is  Cosmos?

24

• Cosmos  is  Telefónica's  Big  Data  and  Open  Data  asset.

• Cosmos  is  Hadoop  ecosystem-­‐based• HDFS  as  its  distributed  file  system• Hadoop  core  as  its  MapReduce  engine• HiveQL  as  the  remote  analysis  mechanism• Oozie  as  remote  MapReduce  jobs  and  Hive  launcher

• Plus  other  proprietary  modules• SFTP  server  for  HDFS• Cygnus,  the  context  data  injector  coming  from  Orion• Automa%c  cluster  deployment  (roadmap)• Infinity  protocol  (roadmap)

• Plus  open  datasets

viernes, 4 de abril de 14

Page 26: Fi ware en Hack for good  (#H4G)

Storage  and  compu%ng

25

viernes, 4 de abril de 14

Page 27: Fi ware en Hack for good  (#H4G)

Orion  data  persistency  in  Cosmos

26

hHps://forge.fi-­‐ware.eu/plugins/mediawiki/wiki/fiware/index.php/How_to_persist_Orion_data_in_Cosmos

viernes, 4 de abril de 14

Page 28: Fi ware en Hack for good  (#H4G)

Open  Datasets  in  Cosmos

27

Source Dataset Data  type Notes

Smart  

Ci%es

Málaga Plagues  tracking HistoricalSmart  

Ci%esSantander Smart  Santander Sensoring Data  coming  through  Orion  

Context  Broker

Smart  

Ci%esSantander

Parque  de  las  Llamas Sensoring

Data  coming  through  Orion  Context  Broker

Smart  

Ci%es

Sevilla Bikes  ren%ng Historical

Smart  

Ci%es

Sevilla

Water  metering Historical

Smart  

Ci%es

Sevilla

Census Historical

Smart  

Ci%es

Sevilla

Infraestructures Historical

Smart  

Ci%es

Zaragoza Air  quality Historical

Other TwiHer FI-­‐WARE-­‐related  tweets StreamingOther

AEMET Weather Historical Un%l  September  2013

hHp://forge.fi-­‐ware.eu/plugins/mediawiki/wiki/fiware/index.php/FI-­‐WARE_open_datasets_central

viernes, 4 de abril de 14

Page 29: Fi ware en Hack for good  (#H4G)

Our  IoT  Resources  Ecosystem  is  

28

SANTANDER

SEVILLA

MALAGA

TRENTO

viernes, 4 de abril de 14

Page 30: Fi ware en Hack for good  (#H4G)

Context  management• Context  Management  in  FI-­‐WARE  is  about  management  of  Context  data  (aka  Context  Informa%on)• Context  Informa%on  is  always  relevant  to  “en%%es”,  although  en%%es  can  be  anything  (applica%ons,  users,  

things,  …)• Orion  Context  Broker  intermediates  between  context  producers  and  context  consumers

29

Orion  Context  Broker Applica%ons

viernes, 4 de abril de 14

Page 31: Fi ware en Hack for good  (#H4G)

The  NGSI  informa%on  model

30

Meta-data• Name• Type• Value

Context Element attributes• Name• Type• Value

Context Element

• En%tyId• En%tyType

1 n 1 n

“has”   “has”  

(We  are  not  fully  suppor%ng  metadata  right  now)

Node  Lamps

Electrical  Regulator

Vans

Technicians

Issues loca%on TimeInstant

severity baHeryCharge

illuminancepresence

electricPoten%al

viernes, 4 de abril de 14

Page 32: Fi ware en Hack for good  (#H4G)

Orion  Context  Broker  in  a  nutshellOrion  Context  Broker

ContextProducers

ContextConsumers

subscrip%ons

update

query

no%fy

no%fy

update

update

DB

1026

1026

viernes, 4 de abril de 14

Page 33: Fi ware en Hack for good  (#H4G)

Orion  Context  Broker  in  a  nutshell

31

Orion  Context  Broker

ContextProducers

ContextConsumers

subscrip%ons

update

query

no%fy

no%fy

update

update

DB

1026

1026

viernes, 4 de abril de 14

Page 34: Fi ware en Hack for good  (#H4G)

NGSI  API• REST  API  (XML  &  JSON  rendering)• NGS10

–updateContext–queryContext–subscribeContext  /  updateContextSubacrip%on  /  unsusbribeContext

• NGS9

–registerContext–discoverContextAvailability–subscribeContext  Availability/  updateContextAvailabilitySubacrip%on  /  unsusbribeContextAvailability

• Addi%onal  “convenience”  opera%ons  to  easy  some  opera%ons

32

viernes, 4 de abril de 14

Page 35: Fi ware en Hack for good  (#H4G)

What  is  Wirecloud?

33

piping

viernes, 4 de abril de 14

Page 36: Fi ware en Hack for good  (#H4G)

What  is  Wirecloud?

33

Widgetpip

ing

viernes, 4 de abril de 14

Page 37: Fi ware en Hack for good  (#H4G)

What  is  Wirecloud?

33

Mashuppip

ing

viernes, 4 de abril de 14

Page 38: Fi ware en Hack for good  (#H4G)

What  is  Wirecloud?

33

data

Backendservice Backend

service

Backendservice

operato

r

piping

viernes, 4 de abril de 14

Page 39: Fi ware en Hack for good  (#H4G)

What  is  Wirecloud?

33

wiring piping

viernes, 4 de abril de 14

Page 40: Fi ware en Hack for good  (#H4G)

What  is  Wirecloud?

33

Object StorageAPI

NGSI API

ContextBroker

piping

viernes, 4 de abril de 14

Page 41: Fi ware en Hack for good  (#H4G)

• hHp://fi-­‐ppp.eu

• hHp://fi-­‐ware.eu

Thanks  !

34

viernes, 4 de abril de 14

Page 42: Fi ware en Hack for good  (#H4G)

PREGUNTARNOS

viernes, 4 de abril de 14

Page 43: Fi ware en Hack for good  (#H4G)

How  to  exploit  the  data

36

• The  easy  way:  Hive  queries• Hive  queries  are  SQL-­‐like• Hive  uses  pre-­‐defined  MapReduce  jobs  for  filtering,  grouping,  joining…• All  the  datasets  are  loaded  into  Hive  tables• Hive  cli  is  available  within  the  cluster  (tes%ng  purposes)• Simple  Hive  remote  clients  can  be  created

• The  not  so  easy  way:  custom  MapReduce  jobs• The  jobs  must  be  created  from  scratch• Datasets  are  directly  read  from  HDFS• Oozie  can  remotely  launch  the  MapReduce  jobs  and  Hive  tasks  as  well

• Java  API• API  REST

viernes, 4 de abril de 14