APIs INTERNET DE LAS COSAS

1 APIs INTERNET DE LAS COSASEl futuro de las APIs 01 Thin...
Author: Óscar Segura Juárez
0 downloads 3 Views

1 APIs INTERNET DE LAS COSASEl futuro de las APIs 01 ThingSpeak, Pachube Y Fitbit 02 APIs y las ciudades inteligentes 03 APIs abiertas o Internet de las cosas inseguro 04 APIs y wearables 05

2 01 APIs y el IoT El futuro que nos espera con lasCasas y vehículos conectados, wearables o ciudades inteligentes son cuatro de los campos en los que las APIs están impulsando con mucha fuerza el sector del Internet de las cosas. Son estas interfaces de desarrollo de aplicaciones las que fomentan la creación de negocio.

3 01.APIs Y IoT Objetos ponibles para la recogida de datos físicos, hogares inteligentes relacionados con la domótica o los electrodomésticos inteligentes, coches conectados, smart cities en campos como servicios públicos o seguridad… Todo lo relacionado con el mundo del futuro pasa obligatoriamente por el Internet de las cosas (IoT por sus siglas en inglés) y las infraestructuras creadas por empresas o gobiernos basadas en APIs, las interfaces de desarrollo de aplicaciones indispensables para la gestión de los datos. Si uno revisa los diferentes informes sobre previsiones de crecimiento de negocio y volumen de objetos conectados para los próximos años, las cifras asustan. Es, sin lugar a dudas, un terreno abonado para el crecimiento, el nacimiento de nuevas empresas de innovación y la creación de ingresos elevados en varios campos: BI intelligence CISCO La consultora prevé que habrá un total de millones de dispositivos conectados en 2020, de los que millones serán dispositivos propios del Internet de las cosas. Esas cifras están muy por encima de los millones con los que se cerró el año Su informe prevé una gran inversión en IoT por parte de las empresas para reducción de costes, aumento de la productividad y búsqueda de nuevos mercados. El informe de la consultora de telecomunicaciones anticipa una inversión multimillonaria en soluciones relacionadas con el Internet de las cosas, que alcanzaría un volumen total de 12,7 billones de euros en 2022, en campos como la mejora de la cadena de suministro y logística (2,4 billones de euros), aumento de la productividad en los empleados (2,2 billones) o en estrategias para la reducción de los costes (2,2 billones).

4 01.APIs Y IoT IC INSIGHTS Habla de cinco sectores fundamentales del IoT, que son las casas y los vehículos conectados, las smart cities, los wearables e Internet. Ingresos de los sistemas de IoT Fuente: IC Market Drivers 2015 Update Nadie duda, a día de hoy, que el Internet de las cosas está necesariamente conectado a las APIs. Sin las interfaces de desarrollo de aplicaciones no sería posible un mundo de objetos conectados realmente viable. El consumo de energía y la conectividad obligan a que la gestión de los datos deba producirse

5 CASAS Y VEHICULOS CONECTADOS01.APIs Y IoT fuera del dispositivo porque, en caso contrario, estaríamos ante un modelo no sostenible. El Internet de las cosas y las APIs son dos campos del desarrollo de software que se retroalimentan uno al otro, de hecho, el gran impulso del primero de ellos se ha producido solo cuando las APIs han entrado en escena con mucha fuerza. CASAS Y VEHICULOS CONECTADOS La casa conectada es hoy día más una tendencia que una realidad. Probablemente el impulso a su crecimiento necesite aún un cambio de mentalidad mayor en el consumidor medio. Sin embargo, las previsiones económicas auguran un aumento del número de dispositivos conectados en los hogares: un 67% de crecimiento en los próximos cinco años, según un informe de Business Insider Intelligence. Global connected- home device annual shipments Source:: ABI Research, TechNovio, Pike Research, Bi Intelligence Estimate

6 01.APIs Y IoT No solo el aspecto cultural del consumidor ralentiza la expansión del negocio, también la enorme atomización de los productos: existen enchufes, interruptores o lámparas conectados de numerosos fabricantes, cada uno de ellos con su propia aplicación para su control remoto. Lo mismo sucede con electrodomésticos, sistemas de seguridad o tecnologías relacionadas con el ocio… El reto es unificar todo eso en un producto que simplifique el consumo de las soluciones. También existen puntos de desencuentro en los sistemas de conectividad utilizados por los dispositivos (algunos por WiFi; otros, Bluetooth; y no son los únicos). la creación de un ecosistema API para casas conectadas o el desarrollo de aplicaciones globales para este tipo de dispositivos. Una solución posible son las APIs. Estas interfaces son las que conectan los esfuerzos de los fabricantes de dispositivos por un lado, y los desarrolladores de aplicaciones por otro, donde los usuarios serían los mayores beneficiados. Si además esas APIs son abiertas, el trabajo de la comunidad de desarrolladores permite avances en

7 01.APIs Y IoT En el mercado de los coches conectados pasa algo similar: la explosión definitiva depende de si la comunidad de desarrolladores puede crear aplicaciones que sean transversales a marcas y modelos de vehículos. Hay ejemplos de que esto ya es posible, gracias a las APIs de empresas como OnStar y Automatic. La primera compañía lleva tres años trabajando con APIs que permiten a terceros el desarrollo de apps que luego se integran en su plataforma. Ellos tienen un acuerdo para incorporar sus soluciones dentro de algunos vehículos de General Motors para conectar con servicios de emergencia, asistencia en carretera, sistemas de navegación o diagnósticos del estado del vehículo.

8 01.APIs Y IoT Automatic conecta a los usuarios con su vehículo a través de un adaptador y una aplicación móvil. Aporta información mecánica y de consumo de combustible o datos sobre emergencias o aparcamiento libre. Además, disponen de numerosas aplicaciones de terceros gracias a su API para desarrolladores. También existen otras empresas especializadas en el diseño de APIs específicas para las conexiones de vehículos construidos a partir de 1996 como Carvoyant. En ambos casos, tanto en los productos vinculados a las casas como a los coches conectados, gran parte de las soluciones se basa en la automatización de procesos a través de IFTTT ( If This Then That, Si Esto Entonces Aquello), un servicio web que nos permite conectar dispositivos de orígenes muy diferentes. Ver vídeo

9 01.APIs Y IoT WEARABLES La consultora IDC espera que este 2016 el sector cierre la venta de 111 millones de wearables en todo el mundo, muy por debajo de los 214 millones esperados en Para ellos, la tasa de crecimiento anual en los próximos cinco años será del 28%. Independientemente de las cifras, lo que está claro es que la segunda y tercera generación de wearables mostrarán mejor rendimiento y una gestión de los datos mucho más eficaz que la actual, sobre todo gracias a los desarrolladores. Hoy en día existe más de una treintena de APIs relacionadas con wearables dentro del mercado, algunas de ellas vinculadas a grandes marcas del deporte como Adidas, Under Armour o Garmin o tecnológicas como Google, Microsoft o Samsung. Adidas dispone de una interfaz de desarrollo de aplicaciones para su servicio Adidas MiCoach, una plataforma de entrenamiento donde los usuarios pueden crearse planes de ejercicio e ir viendo su progreso personal.

10 01.APIs Y IoT La API es una API REST que ofrece todo tipo de recursos para alentar a terceros desarrolladores la creación de aplicaciones con los datos de los perfiles de clientes, que son privados y se mantienen a salvo con un protocolo de seguridad OAuth v2. Under Armour dispone de varias API REST para la creación de servicios para sus distintas aplicaciones: Under Armour Women y MapMyFitness, MapMyRun, MapMyRide, MapMyWalk y MapMyHike después de adquirir la compañía MapMyFitness. En el caso de Samsung (Samsung Simband) y Microsoft (Microsoft Health), el uso de APIs va enfocado al campo de la recogida y gestión de datos sobre salud. Samsung Simband API está escrita en C y C++ y da acceso a los datos en tiempo real recogidos por los perfiles de usuarios de los dispositivos. Microsoft Health Cloud API es una API RESTful que facilita a terceros datos en tiempo real de los usuarios en formato JSON para mejorar las aplicaciones vinculadas a Microsoft Health.

11 CIUDADES INTELIGENTES01.APIs Y IoT CIUDADES INTELIGENTES Hace unos años, hablar de ciudades inteligentes era más una premonición que una realidad. Todo el mundo era capaz de visualizar los avances futuros en la gestión de datos y servicios en una gran urbe, pero los proyectos eran escasos y poco viables. Hoy en día, con el vergel de oportunidades abierto por las APIs, hablar de Smart Cities se ha convertido en un sector de negocio evidente: más de millones de dispositivos conectados en 2016 y unos millones en 2018, según Gartner, en campos como la salud, los servicios públicos, los transportes, edificaciones… Dentro de los proyectos de ciudades inteligentes, al margen de las propuestas de empresas privadas, habría que destacar el movimiento de algunas urbes tan importantes como Barcelona o Nueva York en la creación de plataformas y entornos para desarrolladores en su ambición de ser verdaderas Smart Cities.

12 01.APIs Y IoT En el caso de la capital de Barcelona, impulsaron el proyecto City OS, una plataforma de Big Data en tiempo real para mejorar la vida de los ciudadanos. Mediante la colocación de sensores de todo tipo en la ciudad, la administración es capaz de recabar y analizar datos que permiten adelantarse a los problemas en, por ejemplo, la gestión de los servicios públicos como el tráfico o el transporte: se elaboran simulaciones y también modelos predictivos de distintas situaciones. Otro ejemplo aún más sofisticado es el de Nueva York. La ciudad de EE.UU. cuenta ahora mismo con ocho APIs distintas (Geoclient API, Open311 Inquiry, Events Calendar, DoE School Choice, City Hall Data Feeds y tres más en beta, HPD Data Feeds, Comptrollers Checkbook y DOT Data Feeds. Además, Nueva York dispone como otras ciudades de un portal de datos abiertos con más de datasets. Toda esa información está, lógicamente, disponible para desarrolladores a través de una API abierta proporcionada por Socrata (SODA). Esta interfaz permite el acceso a datos de gobiernos y administraciones públicas, organizaciones sin ánimo de lucro ONGs de todo el mundo. Transparencia y negocio gracias a las APIs.  

13 02 APIs para IoT ThingSpeak, Pachube and FitbitLas APIs se han convertido en la sangre del software. En el gran negocio del Internet de las Cosas, la interfaces de programación de aplicaciones cumplen un papel esencial en la recogida, análisis, visualización y manipulación de los datos. Aquí tres buenos ejemplos.

14 02.THINGSPEAK, PACHUBE AND FITBITCuando Marc Andreessen, uno de los grandes gurús de las inversiones de capital riesgo en startups, escribió ‘Why Software is Eating The World’ en The Wall Street Journal allá por agosto de 2011, seguramente ya tenía en mente lo que supondrían las APIs (interfaces de programación de aplicaciones) para el desarrollo del software y los nuevos modelos de negocio. Se puede decir que las APIs se están comiendo el mundo y un ejemplo es su influencia en el Internet de las cosas (IoT en sus siglas en inglés). Son estas APIs las que permiten a los desarrolladores conectarnos al mundo de los objetos y relacionar entre sí los dispositivos que nos rodean: ‘enchufar’ nuestro cuerpo a medidores de constantes vitales, domotizar nuestra casa, convertir nuestro vehículo casi en un ser vivo… Las APIs se han convertido en la sangre del software y el llamado Internet de las cosas no existiría sin ellas. Las APIs incorporan y trabajan con los datos que facilitan la conexión entre objetos.

15 02.THINGSPEAK, PACHUBE AND FITBITHoy en día la mayoría de soluciones del Internet de las cosas se mueve alrededor de cuatro pilares básicos que son movilidad, economía social, análisis de grandes volúmenes de datos y la nube. Según un estudio de Cisco, el mercado global estimado en torno al IoT se elevará hasta los 14,4 trillones de dólares en 2022, una cifra que no ha dejado de crecer en los últimos años. Por tanto, hay negocio para los desarrolladores y las APIs son una de las grandes claves. $14.4 trillones Valor del Mercado global para el Internet de las cosas en el año 2022 $3.7 Trillion Mejora de la experiencia del cliente $3.0 Trillion Plazos de Comercialización $2.7 Trillion Cadena de suministro y logística $2.5 Trillion Costes reducidos Aumento de productividad de los empleados

16 02.THINGSPEAK, PACHUBE AND FITBITAquí vamos a tratar de analizar tres APIs del Internet de las cosas entre todo un listado enorme de interfaces que ya operan en este mercado en expansión: THINGSPEAK API La API de ThingSpeak siempre trabaja con datos, esa es su gran especialidad. Es una API abierta para el Internet de las Cosas que permite recopilar, almacenar, analizar, visualizar y actuar sobre la información recogida en sensores y dispositivos como aplicaciones web y móviles, redes sociales como Twitter, soluciones de mensajería, VoIP y nube como Twilio, hardware de código abierto como Arduino, Raspberri Pi o BeagleBone (los reyes del Internet de las Cosas y la robótica) o con lenguajes de cálculo computacional como MATLAB. ThingSpeak es una API conocida entre los desarrolladores y dispone ya de una gran comunidad.

17 02.THINGSPEAK, PACHUBE AND FITBITThingSpeak API funciona siempre con canales, los cuales contienen los campos de datos, ubicación y estado. Para empezar a trabajar con esta interfaz es necesario crear un canal, donde se recopilará la información de dispositivos y aplicaciones, datos que posteriormente se pueden analizar y visualizar en gráficos (este es un tutorial bastante completo de cómo crear gráficos con ThingSpeak) y el paso final es operar sobre esa documentación. El proceso con la API siempre es el mismo. Al final, la ruta del proyecto con la API será parecida a lo siguiente, sustituyendo los campos CHANNEL_ID y FIELD_ID por los datos del canal recién abierto. Un ejemplo del tipo de gráficos que se pueden crear fruto de la recogida, análisis y visualización con ThingSpeak son estas mediciones de temperatura

18 02.THINGSPEAK, PACHUBE AND FITBITPACHUBE API (Xively) La API de Pachube permite almacenar, compartir y analizar en tiempo real los datos de energía o medioambientales recogidos por sensores en edificios y otros dispositivos. Toda la funcionalidad del sistema de Pachube viene dada por la API, que es la que facilita que la información generada por edificios, contadores de energía o dispositivos móviles con sensores sea recogida y analizada y que todos esos objetos estén conectados entre sí. Es el verdadero Internet de las cosas. La API de Pachube funciona en el entorno EEML (Extended Markup Language Environments), un protocolo para el intercambio de datos de sensores en ambientes a distancia, ya sean físicos o también virtuales (un ejemplo típico es la conexión con objetos de Second Life). Que exista un protocolo universal es lo que posibilita que las personas puedan compartir con la comunidad millones de datos en tiempo real de objetos, dispositivos o espacios de todo el mundo. The steps to start working with Pachube are quite simple: Agregar un dispositivo el desarrollador da un nombre, una descripción y permisos de privacidad al dispositivo que quiere agregar y automáticamente se le asigna un ID y la clave de la API necesaria para conectar ese terminal. Conectar el dispositivo es necesario copiar el ID y la clave de la API en el código del objeto para establecer una relación bidireccional entre ambos. Se pueden conectar dispositivos, pero también apps o servicios. Para realizar esa conexión, aquí hay todo tipo de librerías para dispositivos Android, objetos programados en Java, C, Objective-C, Python, PHP, Ruby y JavaScript, y tutoriales para hardware abierto como Arduino o Raspberri Pi.

19 Prueba de funcionamiento 02.THINGSPEAK, PACHUBE AND FITBIT Prueba de funcionamiento una vez agregado y conectado, el desarrollador puede empezar a ver valores de datos actualizados en tiempo real en su canal y depurar las alteraciones irregulares que vea en esa información. Ver vídeo

20 02.THINGSPEAK, PACHUBE AND FITBITFITBIT API La API de Fitbit facilita a los desarrolladores el trabajo de interacción con los datos que son recogidos por cualquiera de los productos de Fitbit, ya sea una aplicación, un dispositivo o un servicio. Hoy en día, la API de Fitbit soporta la mayoría de lenguajes de lectura y escritura de información, pero ellos ofrecen una comunidad para desarrolladores donde es posible hacer sugerencias y evolucionar la API. La API de Fitbit lo que permite en última instancia es que cualquier persona pueda desarrollar una aplicación para acceder y manipular datos recogidos por un dispositivo Fitbit, siempre y cuando cumpla dos requisitos obvios: deben ser datos relacionados con un usuario que sea él y no otra persona y cumplir con las condiciones de uso que establece la documentación de la propia API.

21 ¿Cómo se puede empezar a probar y trabajar con la API de Fitbit?02.THINGSPEAK, PACHUBE AND FITBIT ¿Cómo se puede empezar a probar y trabajar con la API de Fitbit? Registro de la app: el registro de la app permite obtener credenciales de cliente de la API. Para hacerlo es necesario disponer primero de una cuenta en el servicio de Fitbit (su apertura es totalmente gratuita). El acceso a los datos de usuario se hace a través de autenticación OAuth. Las solicitudes a la API de Fitbit para leer y escribir datos de usuario se actualización de los datos en tiempo real (se hace así). hacen a través de este explorador de la API. Es posible también suscribirse a la API para tener la actualización de los datos en tiempo real (se hace así). El desarrollador debe escoger alguna librería OAuth 2.0 que opere con el lenguaje de programación y marco de desarrollo utilizado para el flujo de datos. Sin esa librería no se puede crear el protocolo de autorización. Las peticiones a la API necesitan de credenciales de usuario autorizado.

22 03 Como las APIs están impulsando las ciudades inteligentesEmpresas e instituciones se alían para el desarrollo de las ciudades inteligentes como espacio de encuentro y negocio a nivel internacional. Barcelona, Nueva York, el Gobierno australiano o la UE son ejemplos del uso de APIs para impulsar las urbes conectadas.

23 03.APIs Y CIUDADES INTELIGENTESSmart City en inglés. Ville intelligente en francés. Ciudad inteligente en español. Todas estas expresiones se refieren a un único concepto original: una ciudad cuyo desarrollo urbanístico está basado en el principio de sostenibilidad y en su capacidad para mejorar la vida de sus habitantes y proveer a empresas, organizaciones y administraciones públicas de todo lo necesario en todos los planos posibles: no solo el económico, también el ambiental o el de movilidad. Uno de los mayores expertos del mundo en desarrollo urbano, el profesor de la Universidad Tecnológica de Viena Rudolf Giffinger define las ciudades inteligentes en seis criterios bien diferenciados: economía, movilidad, medioambiente (ya mencionados), administración, forma de vida y también los habitantes. La mayoría de ciudades del mundo evalúan internamente o bien por terceros sus características como smart cities en función de estos valores. Son además, de alguna forma, los seis sectores en los que gobiernos y empresas privadas explotan día a día el negocio de los datos y los servicios con sus soluciones inteligentes.

24 LOS EJEMPLOS DE BARCELONA Y NUEVA YORK03.APIs Y CIUDADES INTELIGENTES LOS EJEMPLOS DE BARCELONA Y NUEVA YORK Forma parte del avance hacia unas verdaderas ciudades inteligentes el esfuerzo de las grandes urbes de facilitar información abierta y transparente a sus habitantes. En muchos de esos casos, los gobiernos locales dan acceso a datos económicos relevantes: empleabilidad, inversiones, resultados económicos de empresas públicas, contrataciones de la administración. Y en casi todos ellos, esa información puede ser tratada por terceros mediante el uso de APIs abiertas. Barcelona dispone de varias interfaces de desarrollo de aplicaciones con información económica libre: la página web del Área Metropolitana de Barcelona (AMB) dispone de una API donde los desarrolladores pueden hacer consultas de todo tipo de datos ordenados por colecciones: desde servicios para empresas hasta contrataciones negociadas o abiertas con la administración. Las consultas se devuelven en formato JSON, que es el utilizado por defecto, pero también en CSV, XML, KMZ y KML, y además en dos idiomas (tanto en catalán como castellano).

25 03.APIs Y CIUDADES INTELIGENTESLa API permite la búsqueda por campos en las distintas colecciones. Hacer una llamada a la API para filtrar por el contenido de esos campos sería algo así: {{collection}} /search? {{camp1}} = {{valor}} & {{camp2}} = {{valor}} & {{camp3}} = {{valor}} El Área Metropolitana de Barcelona también da acceso a información abierta sobre noticias de la ciudad, información relacionada con los distintos municipios, estudios de movilidad y sostenibilidad, proyectos de cooperación, información sobre parques, playas, actividades del taxi o el transporte público, etc. Dentro de Barcelona también tenemos el proyecto City OS, que ha servido de paraguas para muchos proyectos distintos, entre ellos uno muy especial: Apps4bcn. Este site es un gran repositorio de aplicaciones sobre servicios de todo tipo en Barcelona y un punto de encuentro entre expertos y desarrolladores. La idea del portal es que los programadores puedan, mediante el uso de APIs abiertas de la administración barcelonesa, diseñar aplicaciones que puedan ser evaluadas por profesionales del sector del turismo, el transporte, el urbanismo, la cultura, la salud, la educación, los deportes… Un proyecto realmente interesante. La otra gran apuesta de Barcelona como ciudad inteligente es Sentilo, una plataforma de código abierto que permite a terceras personas (empresas y desarrolladores) acceder a los datos recogidos por los sensores colocados en la ciudad. La información, lógicamente, se sirve a través de una API REST. Al final es la gran plataforma de Internet de las cosas y creación de negocio de Barcelona. En el caso de Nueva York, la ciudad cuenta con un portal exclusivo para programadores con un total de ocho APIs abiertas con datos públicos:

26 03.APIs Y CIUDADES INTELIGENTESGeoclient api Esta interfaz ofrece el servicio de geocodificación abierto utilizado por Nueva York y de acceso totalmente libre. Lo único que es necesario es registrarse y solicitar una clave de acceso. Lógicamente el servicio tiene limitaciones a la hora de servir peticiones en todas las aplicaciones que usen la API como proveedora de datos: un límite máximo de solicitudes por minuto y/o por día. El código fuente de la API está bajo licencia Apache 2.0 y está disponible en el repositorio de código GitHub. La API tiene una dependencia: el desarrollador debe descargarse GeoSupport del Departamento de Planificación de NY. Open311 Inquiry esta API abierta dispone de toda la información que normalmente se da a los ciudadanos de Nueva York cuando llaman al número 311 o su app: datos sobre servicios, instalaciones y preguntas más frecuentes. Por ejemplo, información sobre escuelas públicas, estacionamiento, servicio de limpiezas y basuras, anuncios de la ciudad. Events Calendar Esta API proporciona información sobre eventos patrocinados por Nueva York. Los datos se sirven a través de una API REST, en formato JSON o JSONP, y por campos como nombre, fecha y hora.

27 03.APIs Y CIUDADES INTELIGENTESDoE School Choice Esta es una API que, con la colaboración de CivicDashboards, facilita a los desarrolladores información sobre escuelas públicas, programas y actividades extraescolares e informes educativos (permite que toda la comunidad educativa disponga de informes de rendimiento -notas A, B, C, D o F- de las distintas escuelas a partir del progreso de los estudiantes, su rendimiento y el entorno escolar). Más APIs: City Hall Data Feeds (RSS con información del ayuntamiento de Nueva York), HPD Data Feeds (información sobre vivienda y desarrollo), Comptrollers Checkbook (seguimiento del gasto del presupuesto de la ciudad) y DOT Data Feeds (información sobre tráfico y transportes públicos). Hay otros ejemplos de ciudades inteligentes que facilitan datos abiertos a través de APIs. Por ejemplo, el Gobierno australiano dispone de una API con CKAN, una plataforma para el desarrollo de repositorios de datos públicos y abiertos. Es una API de llamada de procedimiento remoto (RPC), que facilita información en listas o conjuntos de datos en formato JSON a partir de peticiones HTTP POST del usuario.

28 PROYECTOS A NIVEL EUROPEO03.APIs Y CIUDADES INTELIGENTES PROYECTOS A NIVEL EUROPEO FI-WARE es una comunidad abierta independiente que trabaja para construir un ecosistema sostenible y abierto para el desarrollo de aplicaciones inteligentes en muchos sectores. La plataforma ofrece un conjunto de APIs que son de uso público y libre para el diseño de proyectos y productos con un coste reducido. Dentro de esta propuesta está FIWARE Lab, un laboratorio donde usuarios y empresas pueden probar la tecnología y explotar los datos abiertos publicados por ciudades inteligentes. En el ámbito europeo existen varios proyectos mixtos realmente interesantes sobre el Internet de las cosas y el diseño de ciudades inteligentes. Las instituciones europeas y empresas privadas se alían para crear entornos para el uso de APIs abiertas con información de uso libre y oportunidades de negocio. Los tres más importantes posiblemente son FI-WARE, ICOS (Intelligent / Smart Cities Open Source Community) y Sofía (Smart Objects for Intelligent Applications).

29 03.APIs Y CIUDADES INTELIGENTESICOS es una comunidad de desarrolladores dentro del sector de negocio de las smart cities, que se encarga de desarrollar aplicaciones y soluciones en ese campo. A día de hoy destacan varios proyectos interesantes como CKAN, la plataforma de datos abiertos del Gobierno australiano, ya mencionada, o de las instituciones europeas (www.publicdata.eu); CiviCRM, un CRM de código abierto que usan instituciones como la Greater Washington Urban League; MATSim, una herramienta que permite hacer simulaciones de transporte a gran escala; u HOYRESPIRO, propuesta que se desarrolló en Bilbao y que SOFIA es un proyecto capitaneado por Indra, con colaboradores como Nokia, Philips o Acciona, centrado en el Internet de las cosas, el uso de sensores, realidad aumentada y realidad virtual para el impulso de las ciudades inteligentes. Este proyecto privado también tiene financiación pública. ofrece datos sobre calidad del aire, niveles de polen para ciudadanos alérgicos e información meteorológica, toda georeferenciada.

30 04 APIs abiertas o un IoT inseguroEvangelistas de APIs como Kin Lane y empresas como 3scale promueven el uso abierto de las interfaces de desarrollo de aplicaciones para que los profesionales puedan anticiparse y solucionar errores que en el futuro arruinarían inversiones en el Internet de las cosas.

31 Algunos profesionales vinculados a la economía API 04. APIs ABIERTAS O IoT INSEGURO Se dice que el corazón vuela siempre más lejos y más rápido que la mente. Tal vez sea una frase demasiado poética si pretendes hablar de APIs, pero es que algo similar sucede con la tecnología y la seguridad. La primera siempre vuela más lejos y más rápido que la segunda. Y eso casi nunca sale gratis. Hoy casi todo el mundo habla del Internet de las cosas, los objetos conectados y las APIs, pero algo menos de la seguridad necesaria en ese entorno de desarrollo y negocio. Algunos profesionales vinculados a la economía API llevan algún tiempo hablando de que la apertura de los datos y el uso de interfaces de desarrollo de aplicaciones abiertas pueden ayudar al desarrollo de entornos seguros: abrir el campo para que más ojos puedan observar errores, anticiparse a ellos o solucionarlos a tiempo. Uno de ellos es Kin Lane, uno de los evangelistas del uso de APIs abiertas más importantes del planeta, que pasó de dormir en aeropuertos en sus viajes de una ciudad a otra a estar apoyado por tres empresas como 3scale, Restlet y WS02, tres jugadores del mundo de las APIs, el Internet de las cosas y el desarrollo.

32 04. APIs ABIERTAS O IoT INSEGUROSiempre se ha establecido un paralelismo entre los SDK (kits de desarrollo de aplicaciones) para hardware y las APIs, por ejemplo, para el mercado del Internet de las cosas. Las interfaces de desarrollo de aplicaciones, al final, son como SDKs especiales. El problema es que un fallo de seguridad o funcionamiento en un SDK y su efecto en una aplicación se soluciona con una actualización y una descarga, que puede tener un coste de 2 o 3 euros o ser totalmente gratuita. En un objeto conectado, un error en una API puede dar al traste con una inversión mucho más elevada. No existe, ni mucho menos, un margen de maniobra tan amplio.

33 ESPACIOS PARA LAS APIs ABIERTAS 04. APIs ABIERTAS O IoT INSEGURO ESPACIOS PARA LAS APIs ABIERTAS La alianza de Lane y 3scale está liderando grandes avances en el impulso de las APIs abiertas. Lane no solo da charlas de evangelización, también encabeza proyectos interesantes dentro del ecosistema abierto de APIs, que en muchas ocasiones mejoran la seguridad de los productos finales. Un ejemplo es API Commons, una plataforma donde cualquier desarrollador puede poner su interfaz de desarrollo de aplicaciones bajo licencia Creative Commons (CC BY-SA o CC0) para que otros profesionales puedan usarla libremente y mejorarla como deseen. Los otros dos proyectos más importantes son: APIs.json: un formato para documentar APIs (licencias, precios, políticas y especificaciones técnicas y empresariales). Es una forma sencilla de facilitar el trabajo previo a los desarrolladores que buscan usar una API para el desarrollo de una aplicación o para conectar objetos dentro del IoT. Existe un paralelismo evidente entre APIs.json y el sitemap.xml de una página web. Lane y 3scale tienen su propio generador de formatos API.json para APIs. APIs.io: es un gran buscador de web APIs. Ahora existe un repositorio con un volumen de interfaces de desarrollo de aplicaciones. Lógicamente, cada una de esas APIs están descritas mediante un formato API.json.

34 PROTOCOLOS DE SEGURIDAD: OAuth2 04. APIs ABIERTAS O IoT INSEGURO PROTOCOLOS DE SEGURIDAD: OAuth2 OAuth2 es un marco de creación de protocolos, más que un protocolo en sí mismo. Empresas como Google, Facebook, Microsoft o Twitter ya están usando OAuth2 como sistema de autorización y seguridad para el uso de sus APIs por terceros. Los protocolos habituales cuando una empresa desarrolla una API son una clave API o credenciales típicas como un usuario y contraseña. Ese tipo de recursos tienen algunos problemas de seguridad, por ejemplo, en aplicaciones de página única (SPA), basadas en el lado del servidor. En estos casos, cualquier desarrollador podría acceder a las credenciales desde el navegador. Una puerta de entrada.

35 04. APIs ABIERTAS O IoT INSEGUROOAuth2 permite que terceros puedan conectarse a los datos de una aplicación sin necesidad de disponer de las credenciales de usuario y contraseña. Lógicamente, ese acceso a los datos, pleno o parcial, puede ser revocado en cualquier momento porque los privilegios de acceso, igual que los roles de usuario, son modificables. El sistema de seguridad OAuth2 se basa en lo que se conoce como token de acceso y permite la interacción con los sistemas propios sin facilitar esas credenciales. ¿OAuth2 es un sistema sin riesgos de seguridad? Evidentemente no. De hecho, el grado de seguridad que ofrece OAuth fue motivo de fricción con Eran Hammer, uno de los padres de la especificación. Hammer sostuvo en su momento que OAuth2 era “más complejo e incompleto” y “menos seguro, interoperable y útil” que OAuth1, sobre todo en aplicaciones móviles nativas, y de ahí su ruptura con el grupo IETF, responsable final del proyecto OAuth2. El punto de partida con este protocolo es limitado y, si un equipo de desarrolladores quiere usarlo para dar acceso a su API, lo más recomendable es disponer de experto en seguridad.

36 04. APIs ABIERTAS O IoT INSEGUROVENTAJAS DE OAuth2 Un sistema de credenciales tiene algunos problemas con respecto a OAuth2: Para un protocolo basado en credenciales de usuario y contraseña son necesarios servidores que soporten la autenticación por contraseña. En el caso de OAuth, el servidor de autenticación mediante token de acceso puede ser distinto del servidor que aloja los recursos protegidos para su uso. Con este sistema de seguridad, las aplicaciones de terceros disponen de un acceso a los recursos demasiado amplio, lo que debilita y mucho la posición de protección y seguridad del propietario de la API y los datos. No es posible, por desgracia, limitar el acceso ni en duración ni en volumen. Si alguien plantear revocar el acceso de un tercero, necesariamente debe restringírselo a todas las aplicaciones de terceros que trabajen con la API porque solo es posible restringir el acceso con el cambio de contraseña. En el caso de OAuth, cada usuario dispone de un token de acceso, que puede ser revocado o restringido de forma individual sin que afecte al resto.

37 05 ‘Wearables’ basado en APIs, una excelente oportunidad de negocioGoogle, Samsung, Microsoft, Adidas, Under Armour, Pebble, Fitbit, Misfit… El negocio de los wearables crece con el paso del tiempo, cada vez con más unidades de dispositivos vendidas y mayores previsiones de ingresos, pero nada sería posible sin las APIs.

38 05. WEARABLES BASADO EN APIsExiste la sensación generalizada en el mundo de la tecnología que el futuro es el hombre conectado, con wearables implantados en el cuerpo y capacidad para emitir datos en tiempo real. Estaríamos ante una visión algo perturbadora: un ser humano concebido como objeto del Internet de las cosas, como fuente de recopilación de información por una API y emisor de datos para aplicaciones de terceros. Y lo cierto es que por la industria no quedará porque es un gran negocio. Las previsiones anticipan un crecimiento del número de wearables dentro del mercado, mayor número de adquisiciones y un aumento de la tasa de crecimiento para los próximos años.

39 Volumen de wearables en el mercado 05. WEARABLES BASADO EN APIs Un informe de enero de 2016 de la consultora Gartner señala que de los 232 millones de dispositivos con los que se cerró 2015 se pasará a los 322 millones en El reparto por tipo de wearable, en este gráfico: Volumen de wearables en el mercado Previsión hasta 2017 (millones de unidades) 2017 2015 2016 Total Auricular Bluetooth Smartwatch Pulsera Reloj entreno Monitorización Banda pectoral Casco RV Ropa inteligente Cámara portátil 232,01 274,59 322,69 116,32 128,5 139,23 30,32 30,15 21,07 21,02 12,88 0,14 0,06 0,05 50,4 34,97 21,11 23,98 13,02 1,43 1,01 0,17 66,71 44,1 25,08 26,92 7,99 6,31 5,3 1,05 Fuente: Gatner/ Get the data

40 Mercados de los wearables entre 2015 y 201905. WEARABLES BASADO EN APIs También es interesante para hacerse una idea de la composición del mercado futuro de los wearables el crecimiento por tipo de sistema operativo. Un estudio de la consultora IDC de finales de 2015 prevé una tasa de crecimiento mayor de aquí a 2019 en los dispositivos ponibles con Android Wear -con un 80,5% de aumento-, Linux -con un 54,5%- y watchOS -un 36,5%- (es evidente el salto añadido de los relojes inteligentes en el consumo de los usuarios). Este es el reparto en un gráfico: Mercados de los wearables entre 2015 y 2019 Previsiones por tipo de sistema operativo (Unidades vendidas y reparto porcentual). 2015 Unidades 2015 Porcentaje 2019 Unidades 2019 Crecimiento Android Android wear Linux Pebble OS RTOS Tizen watchOS 0,4 3,2 0,2 1,8 0,8 1,7 13 2,1 15,2 0,9 8,6 3,8 8,2 61,3 1,1 34,3 2,3 1,9 2,5 45,2 1,2 38,8 2,6 2,2 2,8 51,1 25,8 80,5 5,8 23,8 9,5 36,5 54,5 Fuente: IDC Get the data

41 05. WEARABLES BASADO EN APIsDentro de ese nuevo negocio por explotar, las APIs cumplen un papel estelar. Grandes tecnológicas con intereses en dispositivos relacionados con el deporte o la salud como Google, Samsung, Microsoft o Sony, empresas más específicas como Garmin, multinacionales vinculadas a la ropa deportiva como Under Armour o Adidas, compañías más pequeñas como Pebble, Misfit, Fitbit o Rithmio o de sistemas operativos móviles como Tizen (Linux) están desarrollando sus propio mercado dentro del sector de los wearables con el lanzamiento de sus APIs. En el repositorio de Programmable Web, existen a día de hoy 37 interfaces de desarrollo de aplicaciones para terceros vinculadas al mundo de los dispositivos ponibles.

42 NO HABRÏA WEARABLES SIN APIS05. WEARABLES BASADO EN APIs NO HABRÏA WEARABLES SIN APIS Las APIs son la forma más eficaz de facilitar datos desde un sensor a un equipo de desarrolladores que necesitan esa información para el diseño de una aplicación. Son el vehículo que utilizan los fabricantes de dispositivos para generar negocio entorno a un reloj inteligente, una casco de realidad virtual, una pulsera o una banda pectoral para la medición de pulsaciones. Sin ellas, los wearables no tendrían mucho sentido. Recoger datos del cuerpo sin darles forma es absurdo. Google dispone en este momento de varias APIs relacionadas con wearables. La primera es Google Fit REST API, la interfaz de desarrollo de apps de Google Fit, la plataforma del gran buscador para la actividad físicas de los usuarios; las segundas, las Android Wear APIs, para el sistema operativo de los wearables de la compañía:

43 05. WEARABLES BASADO EN APIsGoogle Fit REST API Es una API REST que permite a almacenar y acceder a los datos de Google Fitness Store desde una aplicación de terceros. La interfaz lo que facilita es la posibilidad de hacer operaciones (crear, agregar, eliminar) con las fuentes y conjuntos de datos recogidos por el sensor. Los datos con los que trabaja la API de Google son de tres tipos: datos totalmente públicos (datos estándar que proporciona la plataforma para cualquier aplicación), datos privados e información compartible con otros. Esta es una API que actúa bajo el protocolo OAuth2, por lo que cualquier desarrollador debe disponer de una cuenta de Google, acudir a la consola de Google Developers, y solicitar su credenciales mediante un token de acceso para tener un ID de cliente que le permita operar con las API de Google. Android Wear API Android proporciona un conjunto de APIs para el desarrollo de aplicaciones y juegos para los dispositivos de Google. Siempre dentro de un entorno de desarrollo en lenguaje de programación Java.

44 05. WEARABLES BASADO EN APIsSamsung dispone también de una API para su pulsera Simband, el wearable de la compañía para recoger datos relacionados con la salud de los usuarios. Simband corre en el sistema operativo Tizen. Al final, todo el tratamiento y acceso a los datos se realiza en una plataforma desarrollada por Samsung que se llama SAMI. La pulsera se conecta de forma automática con SAMI para subir a la nube todos los datos del usuario. El control de la pulsera se hace mediante una pantalla táctil. Simband API lo que permite es que los desarrolladores puedan acceder a los sensores y algoritmos de recogida de datos en tiempo real de la pulsera de Samsung. La interfaz de desarrollo de aplicaciones está escrita en C y dispone de funciones en C++ para el trabajo de diseño de productos. La API se apoya en Doxygen, herramienta de creación de documentación de recursos en C++, compatible con otros lenguajes como Objective-C, C #, PHP, Java, Python o Fortran. También para sistemas operativos Mac OS X, Linux y ejecutables para Windows. El protocolo de autenticación está basado también en OAuth2 con token de acceso. Microsoft tiene también su propia API: Microsoft Health Cloud API. Una interfaz de desarrollo de aplicaciones para su Microsoft Band, una pulsera de recogida de datos del cuerpo para su análisis médico y deportivo. Es una API RESTful, con información en formato JSON y que usa OAuth2 como método de autenticación.

45 APIs PARA LUCHAR CONTRA LAS TECNOLÓGICAS05. WEARABLES BASADO EN APIs APIs PARA LUCHAR CONTRA LAS TECNOLÓGICAS Alrededor de las grandes tecnológicas como Google, Samsung o Microsoft, existen empresas en las que el núcleo de su negocio son los wearables y lanzan al mercado APIs para encontrar respuesta en la comunidad de desarrolladores. Algunas de ellas son Pebble, Misfit, Fitbit o Rithmio, todas ellas con sus propias interfaces de desarrollo de aplicaciones para generar volumen de negocio en el IoT. Pebble API Misfit Cloud API Pebble es un reloj pulsera inteligente que es capaz de conectar a un smartphone a través de tecnología Bluetooth. La API y los kits de desarrollo de software (SDKs) están diseñados para que terceros puedan desarrollar aplicaciones específicas para Pebble o para los móviles con los que se pueda conectar la pulsera inteligente. La idea es que se puedan gestionar los datos recogidos del cuerpo del usuario, enviar o recibir información añadida como fotos o texto, controla el reloj inteligente. Mediante esta API aplicaciones de terceros pueden conectarse a una plataforma abierta con datos del usuario en tiempo real. Está basada en HTTP. La interfaz de desarrollo de aplicaciones de Misfit dispone de una amplia documentación para comenzar cualquier proyecto.

46 05. WEARABLES BASADO EN APIsFitbit API Rithmio API Como el resto de APIs, la de Fitbit permite a los desarrolladores conectarse y desarrollar aplicaciones y servicios con los datos recogidos por los wearables de la marca, ya sean pulseras o relojes inteligentes. Como protocolo de autorización utiliza tanto OAuth2 como OAuth1. Es capaz de interpretar varios lenguajes: español, francés, alemán, japonés e inglés. Es una API REST que permite la integración de aplicaciones de terceros en la plataforma y los dispositivos de la compañía. Tizen APIs El sistema operativo para dispositivos móviles basado en Linux dispone de APIs de todo tipo: para funciones de autenticación, vinculadas al framework, contenidos, desarrollo gráfico, experiencia de usuario, interfaz.

47 compartir ESTO QUIZÁS TE INTERESE TAMBIÉN Infografía: ¿Qué es una API?Infografía: Así es Nimble payments Ebook: Framework y herramientas para la web del futuro Ebook: Open Source para desarrolladores y negocios BBVA API Market: API financieras de BBVA para impulsar empresas innovadoras

48 para recibir el boletín con las novedades y noticias de BBVA Open4UBBVA no se hace responsable de las opiniones vertidas en este ebook Regístrate para recibir el boletín con las novedades y noticias de BBVA Open4U Conecta con nosotros: