No âmbito do PPS1, Aa framework foi desenhada de forma a ser incluída numa cadeia de transmissão de dados para dispositivos IoT, sendo foco desta framework permitir, de uma forma seamless, o desenvolvimento de plataformas que possam interagir com diferentes dispositivos IoT, independentemente do protocolo de comunicação que estes utilizam.

É possível definir em runtime quais os dispositivos que estão a autorizados a comunicar e para onde os seus dados são encaminhados. Os dados enviados pelos dispositivos IoT são encaminhados, pela framework, para os respetivos consumidores, que podem ser qualquer aplicação capaz de receber esses dados, como por exemplo bases de dados, algoritmos de processamento (e.g. AI), plataformas de visualização de dados, etc.

Tal como os dispositivos podem ser adicionados à framework, também ecossistemas, consumidores e endpoints podem ser adicionados, alterados ou removidos em tempo real.

Numa situação “tradicional”, os desenvolvedores teriam de criar uma forma de conectar cada um dos ecossistemas a cada um dos endpoints que recebe dados/envia comandos. De modo a simplificar todo o processo de desenvolvimento e produção, esta framework proporciona uma forma de conectar todos estes dispositivos e endpoints de uma forma simples e rápida.

A framework desenvolvida baseia-se em micro-serviços, que permitirá, de uma forma fácil, a integração de novas funcionalidades. Será assim possível desenvolver plataformas que permitam no futuro a adição de não só os dispositivos previstos neste projeto, mas também outras soluções que possam ser desenvolvidas no futuro.

Para além da integração de vários tipos de dispositivos, também é possível a integração de vários tipos de consumidores, que permitem a ligação a plataformas (já existentes ou desenvolvidas em torno desta framework) desenvolvidas de acordo com o modelo de negócio pretendido.

A parte central desta framework inclui um “Mediador”, completamente configurável, que tem a finalidade de encaminhar as informações vindas dos dispositivos (e.g. coordenadas GPS) para os consumidores dessa informação e o envio de comandos para os dispositivos.

A interação entre este módulo e os restantes serviços (distribuídos) será efetuada através de Interfaces bem definidas. Estas interfaces têm especificados o tipo de mensagens que podem ser trocadas entre os vários intervenientes e são refletidas, na prática, em APIs, que permitem de uma forma segura (com autenticação e encriptação end-to-end) a troca de informação entre “Mediador” e os restantes módulos, utilizando gRPC.

Para além de gRPC, para os nódulos internos à Framework, está também prevista a utilização de REST para a interação com elementos externos, ou elementos focados à visualização de dados e iteração com o utilizador.