4. Componentes e APIs¶
4.1. Componentes¶
Componentes
|
Repositório
/ Site principal
|
Documentação
dos componentes
|
API de componentes
Documentação
|
---|---|---|---|
MongoDB |
|||
Postgres |
|||
Kong API gateway
(Community Edition)
|
|||
Redis |
|||
Zookeeper |
|||
Kafka |
|||
VerneMQ |
|||
Leshan |
|||
Auth |
|||
Dojot Kong |
|||
History |
|||
Device Manager |
|||
Image Manager |
|||
GUI |
|||
GUI - V2 |
|||
Flowbroker |
|||
Databroker |
|||
IotAgent VerneMQ
(MQTT) - Padrão
|
|||
IotAgent Mosca
(MQTT) - Legado
|
|||
IotAgent Leshan
(LWM2M)
|
|||
Data Manager |
|||
Cron |
|||
X.509 Identity Management |
|||
Kafka2Ftp |
|||
Kafka WS |
4.2. APIs expostas (API Gateway)¶
O API gateway usado na dojot reencaminha alguns dos endpoints dos componentes. A tabela a seguir mostra o mapeamento entre endpoints expostos e endpoints de componentes. Veja mais sobre como usar as APIs em Utilizando a API da dojot.
Componentes
|
Endpoints expostos
pelo API gateway
|
Componentes
Endpoint
|
Componentes
Endpoint
Documentação
|
Precisa de
Autenticação
|
---|---|---|---|---|
GUI |
/ |
/ |
Não |
|
Dashboard |
/v2 |
/ |
Não |
|
Device Manager |
/device |
/device |
Sim |
|
Device Manager |
/template |
/template |
Sim |
|
Flowbroker |
/flows |
/ |
Sim |
|
Auth |
/auth |
/ |
Não |
|
Auth |
/auth/revoke |
/revoke |
Não |
|
Auth |
/auth/user |
/user |
Sim |
|
Auth |
/auth/pap |
/pap |
Sim |
|
History |
/history |
/ |
Sim |
|
Data Manager |
/import |
/import |
Sim |
|
Data Manager |
/export |
/export |
Sim |
|
Cron |
/cron |
/cron |
Sim |
|
Image Manager |
/fw-image |
/ |
Sim |
|
Data Broker |
/device/
{deviceID}
/latest
|
/device/
{deviceID}
/latest
|
Sim |
|
Data Broker |
/subscription |
/subscription |
Sim |
|
Data Broker |
/stream |
/stream |
Sim |
|
Data Broker |
/socket.io |
/socket.io |
Não |
|
X.509 Identity Management |
/x509/v1 |
/api/v1 |
Sim |
|
Kafka WS |
/kafka-ws/v1/ticket |
/v1/ticket |
Sim |
|
Kafka WS |
/kafka-ws/v1 |
/v1 |
Não |
NOTA: Alguns *endpoints* de componentes não são expostos, mas são utilizados internamente.
Além disso, o API gateway redireciona os endpoints com suas respectivas portas do componente, para que se tornem uniformes: todos eles são acessíveis pela mesma porta (o padrão é a porta TCP 8000), consulte a tabela a seguir.
Componentes |
Endpoints Originais |
Gateway Endpoint |
---|---|---|
GUI |
host:80/ |
host:8000/ |
Dashboard |
host:80/ |
host:8000/v2 |
Device Manager |
host:5000/device |
host:8000/device |
Device Manager |
host:5000/template |
host:8000/template |
Flowbroker |
host:80/ |
host:8000/flows |
Auth |
host:5000/ |
host:8000/auth |
Auth |
host:5000/revoke |
host:8000/auth/revoke |
Auth |
host:5000/user |
host:8000/auth/user |
Auth |
host:5000/pap |
host:8000/auth/pap |
History |
host:8000/ |
host:8000/history |
Data Manager |
host:3000/import |
host:8000/import |
Data Manager |
host:3000/export |
host:8000/export |
Cron |
host:5000/cron |
host:8000/cron |
Image Manager |
host:5000/ |
host:8000/fw-image |
Data Broker |
host:80/device/{{deviceID}}/latest |
host:8000/device/{deviceID}/latest |
Data Broker |
host:80/subscription |
host:8000/subscription |
Data Broker |
host:80/stream |
host:8000/stream |
Data Broker |
host:80/socket.io |
host:8000/socket.io |
X.509 Identity Management |
host:3000/api/v1 |
host:8000/x509/v1 |
Kafka WS |
host:8080/v1/ticket |
host:8000/kafka-ws/v1/ticket |
Kafka WS |
host:8080/v1/topics |
host:8000/kafka-ws/v1/topics |
4.3. Mensagens do Kafka¶
Essas são as mensagens enviadas pelos componentes e seus tópicos. Se você estiver desenvolvendo um novo componente interno (como um novo agente IoT), consulte a API - data-broker para verificar como receber mensagens.
Componentes |
Mensagem |
Subject |
---|---|---|
DeviceManager |
Dispositivo CRUD (Criar, Ler, Atualizar e Excluir) (Mensagens - DeviceManager) |
|
iotagent-mosca |
Atualização de dados do dispositivo (Mensagens - iotagent-mosca) |
|
auth |
Criação/remoção de Tenants (Mensagens - auth) |
|