FIWARE paso a paso

Documentation Support badge

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

FIWARE Zone logo

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

Twitter Linkedin Instagram Github Facebook

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