4. Componentes e APIs¶
4.1. Components¶
Componentes | Repositório / Site principal | Documentação |
---|---|---|
MongoDB | Site oficial do MongoDB | Documentação do MongoDB |
postgres | Site oficial do PostgreSQL | Documentação do PostgreSQL |
Gateway de API do Kong (Community Edition) | Site oficial do Kong | Documentação Kong |
redis | Site oficial Redis | Documentação Redis |
zookeeper | Site oficial do Zookeeper | Documentação Zookeeper |
Kafka | Site oficial Kafka | Documentação Kafka |
auth | GitHub - auth | readthedocs - auth |
History | GitHub - history | |
DeviceManager | GitHub - DeviceManager | readthedocs - DeviceManager |
Image manager | GitHub - image-manager | |
GUI | GitHub - GUI | |
Flow broker | GitHub - flowbroker | |
Data broker | GitHub - data-broker | |
iotagent-mosca | GitHub - iotagent-mosca | |
EJBCA-REST | GitHub - EJBCA-REST | |
Data Manager | GitHub - Data Manager | |
Cron | GitHub - Cron |
4.2. Exposed APIs¶
Endpoint | Objetivo | API de componentes | Repositório |
/device | Gerenciamento de dispositivo | API - DeviceManager | GitHub - DeviceManager |
/template | Gerenciamento de modelos | API - DeviceManager | GitHub - DeviceManager |
/flows | Gerenciamento de fluxo | API - flowbroker | GitHub - flowbroker |
/auth | Autenticação de usuário | API - auth | GitHub - auth |
/auth/revoke | Autenticação de usuário | API - auth | GitHub - auth |
/auth/user | Autenticação de usuário | API - auth | GitHub - auth |
/history | Dados históricos do dispositivo | API - history | GitHub - history |
/gui | Interface gráfica do usuário | GitHub - GUI | |
/sign | Assinatura de chave pública | API - EJBCA-REST | GitHub - EJBCA-REST |
/ca | Autenticação-certificação. funções | API - EJBCA-REST | GitHub - EJBCA-REST |
/image | Gerenciamento de imagem do dispositivo | API - image-manager | GitHub - image-manager |
/import | Data Manager | API - Data Manager | GitHub - Data Manager |
/export | Data Manager | API - Data Manager | GitHub - Data Manager |
/cron | Cron | API - Cron | GitHub - Cron |
O gateway de API usado na dojot redireciona alguns desses endpoints para que se tornem uniformes: todos eles são acessíveis pela mesma porta (o padrão é a porta TCP 8000) e têm o mesmo esquema de nomenclatura. Cada componente, no entanto, pode ter algo diferente em sua configuração e documentação da API. A tabela a seguir mostra qual endpoint exposto pelo gateway da API é mapeado para qual endpoint.
Serviço | Endpoints Originais | Endpoint |
---|---|---|
DeviceManager | host:5000/device | host:8000/device |
DeviceManager | host:5000/template | host:8000/template |
mashup | host:3000/ | host:8000/flows |
auth | host:5000/ | host:8000/auth |
auth | host:5000/auth/revoke | host:8000/auth/revoke |
auth | host:5000/user | host:8000/auth/user |
STH | host:8666/ | host:8000/history |
GUI | host/ | host:8000/gui |
ejbca | host:5583/sign | host:8000/sign |
ejbca | host:5583/ca | host:8000/ca |
DataManager | host:3000/import | host:8000/import |
DataManager | host:3000/export | host:8000/export |
Cron | host:5000/cron | host:8000/cron |
4.3. Mensagens do Kafka¶
Essas são as mensagens enviadas pelos componentes e seus assuntos. Se você estiver desenvolvendo um novo componente interno (como um novo agente de IoT),consulte API - data-broker para verificar como receber mensagens enviadas por outros componentes na dojot.
Componentes | Mensagem | Subject |
---|---|---|
DeviceManager | Dispositivo CRUD (Criar, Ler, Atualizar e Excluir) (Mensagens - DeviceManager) | dojot.device-manager.device |
iotagent-mosca | Atualização de dados do dispositivo (Mensagens - iotagent-mosca) | device-data |
auth | Criação/remoção de Tenants (Mensagens - auth) | dojot.tenancy |