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 |