Conoce como reutilizar aplicaciones estándar web ya existentes para una fácil integración con aplicaciones de terceros.
Paolo Carrasco
Especialista en Experiencia de Usuario
10 años de experiencia en el mundo de la tecnología, desarrollando, liderando equipos y ahora en el mundo de la experiencia de diseño.
Fausto Castañeda
Desarrollador Software
Ing. en Electrónica y Redes de la Información, con 6 años de experiencia como desarrollador de software, hardware y telemática.
Scaling API-first – The story of a global engineering organization
La web de las Cosas
1. Web of Things (WoT)
Fausto Castañeda | Paolo Carrasco
Thoughtworks Ecuador
Intro and Demo
2. Where we are now?
We have an "internet of screens"*.
We need "smart stuff".
* Philip Moynagh - https://youtu.be/C8NMRpZb6Ss
3. What is expected from companies today?
To response immediately:
- to the needs of the users
- to the trends of the market
- to the government regulations
6. How could IoT be helpful?
● Monitor
● Search
● Control
7. Key concepts of IoT
Physical stuff
Unique ID
Events
Listener / Controller
channel
8. WoT - Web of Things
Interconnection of things over the web.
● Features
○ Uses HTTP.
○ Synchronous functionality through Resource Oriented Architecture. i.e.
REST.
○ Asynchronous functionality through web syndication standards like ATOM
or server-push web mechanisms as COMET or HTML5-compliant
technology like WebSockets.
9. ¿Why REST?
It is lightweight (in comparison with others, like SOAP)
It is great to represent objects in general:
● Insert a new one
● Check their status
● Update them
● Remove a new one
11. WoT vs IoT
IoT WoT
Communication over network layer (IP). Communication over application layer
(HTTP).
RFID, Zigbee, Bluetooth, 6LowPAN,
CoAP
HTTP, REST, HTML5, URI, JS, Web
Feeds
High coupling Loose coupling
12. Web of Things
● Pros
o Reusability of standard web applications that already exist (URI, HTTP,
REST, JS, etc).
o Easy integration with third party applications.
o Loose coupling of services provided by smart objects.
o Uniform interface to access and build on the functionality of smart
objects.
● Cons
○ In RESTful WoT applications, HTTP may be too heavy for battery
powered devices.
13. CoAP
● Constrained Application Protocol
● Web transfer protocol optimized for constrained power and
processing capabilities of WoT smart objects.
● Alternative to HTTP.
● Applications:
○ Smart objects are large in volume.
○ Smart objects are deployed in the field.
○ Smart objects are frequently communicating with the Web.
○ Smart objects are transferring high volume of data.
○ Smart objects are sleeping between the communication sessions.
● Features:
○ Simpler hardware requirements than HTTP.
○ Compact binary header.
16. WoT - GitHub
Name Description
EPCIS Web
Adapter
Fosstrak module for making RFID tagged objects
accessible through REST
AutoWoT Java program that integrate smart devices into the WoT
ThngDroid A REST client and extensible API wrapper for all Android
devices.
EVRYTHNG Free Online Service. A set of APIs to make products
smarter and more connected.
aREST* REST Api for Arduino
Ethernet Arduino Ethernet Shield is a network module that connect
Arduino to internet and provides the library for develop
applications with HTTP, DHCP, TELNET, DNS.
17. CoAP - Implementations
Project Programming
Language
Link
Californium Java https://www.eclipse.org/cali
fornium
CoAPthon Python https://github.com/Tanga
nelli/CoAPthon
CoAPSharp C#, .NET http://www.coapsharp.co
m
nCoAP Java https://github.com/oklein
e/nCoAP
Ruby CoAP Ruby https://github.com/nning/
coap
Cooper Javascript https://github.com/mkova
tsc/Copper
24. Controlling bulbs over web (5)
● Bulb REST Server
○ Ethernet API
○ aREST API
○ Arduino API
● Bulb Client
○ Yeoman
○ AngularJS
○ Bootstrap
● Hardware
○ Arduino Uno
○ Arduino Ethernet Shield R3
○ LED, Resistors and Transistors.
25. Controlling bulbs over web (6)
● Projects
○ Bulb Server
https://github.com/Fausto888/WOT-bulb-service.git
○ Bulb Client
https://github.com/Fausto888/WOT-bulb-ui.git
26. More resources
A Web of Things application architecture - Guinard Dominique
(available in PDF)
REST in practice - Jim Webber, Savas Parastatidis, Ian Robinson
(to understand more about REST)
Internet of Things - EconocomTV: http://youtu.be/p_R5ZVWMhzM
28. THANK YOU
For questions or suggestions:
Fausto Castaneda
fcastane@thoughtworks.com
Paolo Carrasco
paolo.carrasco@thoughtworks.com
Notas del editor
Tenemos muchos dispositivos actuales que están interconectados al internet: computadores, celulares, tabletas, relojes. Todos ellos con una pantalla desde la cual podemos acceder al Internet y visualizar cosas en ella.
Pero en el mundo real necesitamos interactuar con todo aquello que nos rodea. Necesitamos que todo sea más "smart".
¿Qué espera a las empresas que quieren sobresalir?
Siempre se espera una respuesta inmediata por parte de las empresas a las necesidades de los usuarios.
La información no está separada de los objetos sobre los que la obtenemos, si se quiere destacar ambos tienen que estar bien integrados.
Hoy las personas somos quienes interconectamos la información con las cosas. Ej. Stock de almacenes que requieran reposición. Un cliente accede a nuestras tiendas y elige comprar algo. Experimentar rápido sobre los productos.
¿qué nos brinda el Internet de las Cosas?
Integrar los dos mundos: el mundo digital con el mundo físico.
Incluso se comenta que es la segunda revolución: la primera revolución el internet de las pantallas, la segunda revolución, el internet de las cosas.
¿qué nos depara la actualidad para los desarrolladores? aprender sobre hardware, o al menos tener en la mente que lo que se tiene ya no es solo manejo de información
Monitorear las propiedades de algo (su estado, su temperatura, su batería, etc): Recibir la información.
Buscar una cosa (dónde están mis llaves, dónde está mi perro/hijo, etc). Tracking
Controlar las propiedades de algo (posición, estado, acción,
Está basada en la arquitectura orientada a eventos.
Atom Publishing Protocol - protocolo para crear y actualizar recursos (basado en HTTP)
Sincronizado es unidireccional (el cliente manda), Asíncrono es bidireccional, el servidor también envía.
Internet - diferente de internet (con minúsculas), la que conocemos. La red a la que nos conectamos, la red de redes, una infraestructura global
internet - es un conjunto de redes interconectadas
Web - conjunto de recursos que pueden ser accedidos por medio del Internet. Está sobre el HTTP
HTTP - Protocolo en la capa de la aplicación empleada para el envío de mensajes entre los recursos Web
HTML - Lenguaje de hipertexto para representar el contenido páginas
Aprovecha lo que brinda HTTP
Emplea una arquitectura que es entendible tanto para personas como computadoras
IoT:
Emplea la capa de red (emplea el protocolo IP)
Para implementar soluciones IoT se usan tecnologías de bajo nivel como:
Alto acoplamiento con las tecnologías empleadas en su implementación