This is a collection of tutorials for the FIWARE ecosystem designed for NGSI-v2 developers. Each tutorial consists of a series of exercises to demonstrate the correct use of individual FIWARE components and shows the flow of context data within a simple Smart Solution either by connecting to a series of dummy IoT devices or manipulating the context directly or programmatically.
๐ Documentation | ๐ณ Docker Hub |
---|
๐ฏ๐ต ใใฎใใฅใผใใชใขใซใฏๆฅๆฌ่ชใงใใ่ฆงใใใ ใใพใใ
To download the full set of tutorials, simply clone this repository:
git clone https://github.com/FIWARE/tutorials.Step-by-Step.git
cd tutorials.Step-by-Step/
git submodule update --init --recursive
Each tutorial runs all components using Docker. Docker is a container technology which allows to different components isolated into their respective environments.
- To install Docker on Windows follow the instructions here
- To install Docker on Mac follow the instructions here
- To install Docker on Linux follow the instructions here
Docker Compose is a tool for defining and running multi-container Docker applications. A series of *.yaml
files
are used configure the required services for the application. This means all container services can be brought up in a
single command. Docker Compose is installed by default as part of Docker for Windows and Docker for Mac, however Linux
users will need to follow the instructions found here
You can check your current Docker and Docker Compose versions using the following commands:
docker-compose -v
docker version
Please ensure that you are using Docker version 18.03 or higher and Docker Compose 1.21 or higher and upgrade if necessary.
The tutorials which use HTTP requests supply a collection for use with the Postman utility. Postman is a testing framework for REST APIs. The tool can be downloaded from www.getpostman.com. All the FIWARE Postman collections can downloaded directly from the Postman API network
We will start up our services using a simple Bash script. Windows users should download cygwin to provide a command-line functionality similar to a Linux distribution on Windows.
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. Maven can be used to define and download our dependencies and to build and package Java or Scala code into a JAR file.
ย 101. Getting Started
ย 102.
Entity Relationships
ย 103.
CRUD Operations
ย 104.
Context Providers
ย 105.
Altering the Context Programmatically
ย 106. Subscribing to Changes in Context
ย 201. Introduction to IoT Sensors
ย 202.
Provisioning an IoT Agent
ย 203.
IoT over MQTT
ย 204.
Using an alternative IoT Agent
ย 205.
Creating a Custom IoT Agent
ย 250.
Introduction to Fast-RTPS and Micro-RTPS
ย 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 (CrateDB)
ย 305. Big Data Analysis (Flink)
ย 306. Big Data Analysis (Spark)
ย 401.
Managing Users and Organizations
ย 402. 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
ย 407.
Authenticating Identities (Open-ID Connect)
ย 501. Creating Application Mashups
ย 503. Introduction to Media Streams
ย 507. Cloud-Edge Computing
ย 601. Introduction to Linked Data
ย 602.
Linked Data Relationships and Data Models
ย 603.
Traversing Linked Data Programmatically
ย 604.
Linked Data Subscriptions and Registrations
Most tutorials supply a services
script to start the containers:
cd <tutorial-name>
./services start
Each tutorial submodule contains one or more docker-compose.yml
files, along with a Postman collection containing the
necessary HTTP requests: import the collection into Postman and follow the instructions.
Each submodule contains full instructions in README which details the appropriate bash commands (cUrl and Docker Compose) to run.
Full instructions can be found within the documentation
MIT ยฉ 2018-2020 FIWARE Foundation e.V.