FIWARE paso a paso
Esto es una colección de tutoriales para la plataforma FIWARE. Cada tutorial consiste en una serie de ejercicios para demostrar el correcto uso de componentes FIWARE individualmente, y mostrar el flujo del contexto con una solución Smart simple ya sea conectándose a una serie de dispositivos de IoT simulados o manipulando el contexto directamente mediante algun código.
Créditos
Este tutorial ha sido traducido por FIWARE ZONE, una iniciativa sin ánimo de lucro entre Telefónica y la Junta de Andalucía cuyo fin es la divulgación, promoción y difusión de la tecnología FIWARE, para hacer crecer el ecosistema y generar conocimiento y oportunidades a los desarrolladores y empresas andaluzas. FIWARE ZONE, como iHub de 3 estrellas ofrece servicios de alto nivel en formación, mentorización y consultoría de forma totalmente gratuita. Si necesitas cualquier tipo de ayuda o quieres contarnos tu proyecto, puedes ponerte en contacto con nostros a través de la direción fiware.zone@fiware.zone, por nuestro formulario web, en cualquiera de nuestras redes sociales o físicamente en nuestros centros en Málaga y Sevilla
Cómo usar
Cada tutorial es un ejercicio de aprendizaje autocontenido diseñado para enseñar al desarrollador sobre un único aspecto de FIWARE. Se puede encontrar un resumen del objetivo del tutorial en la descripción que aparece en la cabecera de cada página. Cada tutorial está asociado con un repositorio GitHub que contiene los archivos de configuración necesarios para ejecutar los ejemplos. La mayoría de los tutoriales se basan en conceptos o enablers descritos en ejercicios anteriores para crear una solución compleja e inteligente que sea "powered by FIWARE".
Los tutoriales se dividen según los capítulos definidos en el catálogo FIWARE y están numerados por orden de dificultad dentro de cada capítulo, de ahí que la introducción a un determinado enabler se produzca antes de que se exploren con mayor profundidad todas las capacidades de ese componente.
Se recomienda comenzar con la lectura completa de Core Context Management: Fundamentos antes de pasar a otros temas, ya que esto le dará una comprensión más completa del papel de los datos de contexto en general. Sin embargo, no es necesario seguir todos los tutoriales posteriores en orden - ya que FIWARE es un sistema modular, puede elegir los módulos que más le interesen.
Prerequisitos
Docker y Docker Compose
Cada tutorial ejecuta todos los componentes empleando Docker. Docker Docker es una tecnología de contenedores que permite aislar diferentes componentes en sus respectivos entornos.
- Para instalar Docker en Windows siga las instrucciones aquí
- Para instalar Docker en Mac siga las instrucciones aquí
- Para instalar Docker en Linux siga las instrucciones aquí
Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker multi-contenedor. A Se utiliza el archivo YAML para configurar los servicios requeridos para la aplicación. Esto significa que todos los servicios de los contenedores pueden ser lanzados en un solo comando. Docker Compose se instala de forma predeterminada como parte de Docker para Windows y Docker para Mac, sin embargo los usuarios de Linux tendrá que seguir las instrucciones que se encuentran aquí
Puede comprobar sus versiones actuales de Docker y Docker Compose usando los siguientes comandos:
docker-compose -v
docker version
Por favor, asegúrese de que está utilizando la versión 18.03 o superior de Docker y la versión 1.21 o superior de Docker Compose y actualícela si es necesario.
Si está usando una distribución Linux con una versión desactualizada de docker-compose, los ficheros se pueden istalar como se indica a continuación:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Postman
Los tutoriales que usan peticciones HTTP proveen de una colección para utilizar con la utilidad Postman. Postman es una utilidad de pruebas para APIs REST. La herrmienta se puede descargar desde www.getpostman.com. Todas las colecciones FIWARE de Postman se pueden descargar directamente desde Postman API network
Cygwin para Windows
En los tutoriales se inician los servicios empleando un script de Bash. Los usuarios de windows deben descargar cygwin para proveer de una línea de comandos similar a las de las distribuciones Linux en Windows.
Apache Maven
Apache Maven es una herramienta de gestión de proyectos software. Está basada en el concepto de un Modelo de objeto de proyecto (POM). Puede gestionar la compilación, el reporte y la documentación desde un solo lugar. Se puede usar para definir y descargar las dependencias y compilar y empaquetar código Java o Scala en un fichero JAR.
Lista de tutoriales
Core Context Managment: Fundamentals
These first tutorials are an introduction to the FIWARE Context Broker, and are an essential first step when learning to use FIWARE
101. Getting Started
102. Entity Relationships
103. CRUD Operations
104. Context Providers
105. Altering the Context Programmatically
106.
Subscribing to Changes in Context
Internet of Things, Robots and third-party systems
In order to make a context-based system aware of the state of the real world, it will need to access information from Robots, IoT Sensors or other suppliers of context data such as social media. It is also possible to generate commands from the context broker to alter the state of real-world objects themselves.
201. Introduction to IoT Sensors
202.
Provisioning an IoT Agent
203. IoT over MQTT
250.
Introduction to Fast-RTPS and Micro-RTPS
Core Context Management: History Management
These tutorials show how to manipulate and store context data so it can be used for further processesing
301. Persisting Context Data using Apache Flume (MongoDB, MySQL, PostgreSQL)
302. Persisting Context Data using Apache NIFI (MongoDB, MySQL, PostgreSQL)
303. Querying Time Series Data (MongoDB)
304.
Querying Time Series Data (Crate-DB)
Security: Identity Management
These tutorials show how to create and administer users within an application, and how to restrict access to assets, by assigning roles and permissions.
401. Administrating Users and Organizations
402.
Managing Roles and Permissions
403.
Securing Application Access
404.
Securing Microservices with a PEP Proxy
405.
XACML Rules-based Permissions
406.
Administrating XACML via a PAP
Processing, Analysis and Visualization
These tutorials show how to create, process, analyze or visualize context information
501. Creating Application Mashups
503.
Introduction to Media Streams
505.
Real-time Processing and Big Data Analysis
Core Context Management: Linked Data
These tutorials show how to create, process, analyze or visualize context information
601. Introduction to Linked Data
602.
Linked Data Relationships and Data Models