Pripomienkovanie štandardu pomenovania MQTT tém
Okrem konkrétnych zmien v commitoch dávame do pozornosti...
1.) Pre zariadenia s nastaviteľným prefixom tém zvážiť pridať aspoň jednu úroveň navyše reserved
, a to z dôvodu, aby nebolo nutné hneď pri prvej praktickej potrebe novej úrovne meniť verziu z 1 na 2. Čím viac viac verzií, tým je náročnejšie udržiavanie kódu z dôvodu kompatibility so všetkými aktívnymi/podporovanými verziami. Pridanie <reserved>
napr. medzi <supplier>
a <manufacturer>
pričom ako hodnota sa použije štandardne 0
.
dvcs/<version>/<org_id>/<segment>/<category>/<group>/<supplier>/<reserved>/<manufacturer>/<model>/<uid>
2.) Možnú nezrovnalosť medzi...
Informačný systém MUSÍ komunikovať s inými informačnými systémami prostredníctvom protokolu MQTT.
a
Informačný systém BY MAL komunikovať s inými informačnými systémami výhradne cez protokol MQTT a používať na tento účel MQTT makléra, bez využitia iných protokolov alebo mechanizmov.
3.) Zamyslieť sa ako sa budú riešiť autorizačné situácie, kedy v rámci spBv1.0
nie je možné na úrovni témy rozlíšiť konkrétne príkazy, a tým bude možné v ACL liste iba povoliť alebo nepovoliť všetky príkazy (NCMD resp. DCMD). Autorizácia podľa typu príkazu bude závislá na obsahu v payloade čo by sa síce dalo napr. v EMQX riešiť cez Rule Engine a SQL dotazy, ale pokiaľ je payload ešte k tomu binárny, tak už asi ani to nie. Zrejme budú potrebné náročnejšie riešenia ako externé hooks a mikroslužby, ktoré budu payload dekódovať a následne vyhodnocovať autorizáciu. Týmto bude autorizačný mechanizmus pomerne zložitý a neprehľadný, a preto zvážiť či nebude v niektorých situáciach vhodnejšie povoliť mierne odklonenie od spBv1.0 a povolením ďalšej neštandardnej úrovne napr. DCMD/restart
, DCMD/shutdown
, ...