Je naučení technologie DDS složité?

Možná se vám někdy stalo, že jste použili technologii a ta nefungovala podle očekávání? To se může stát například v případě, kdy technologie není použita způsobem, pro který byla primárně navržena.

Ale co když není v týmu nikdo, kdo technologii DDS zná

Jak složité je naučení technologie?

Použit technologii, kterou tým dobře nezná, a kterou se teprve učí, může představovat pro projekt riziko. Proto je důležité, aby tým znal technologie použité pro vytvoření systému.

Možná si říkáte. “Technologii DDS bych v systému využil, ale zdá se mi složitá.”

Jestli si myslíte, že použít DDS je jako jít s kanónem na vrabce, tak vám řeknu, že…

…technologie DDS v základu složitá na používání není

Poslat si data mezi aplikacemi je stejně jednoduché, jako použití jakékoliv jiné technologie založené na modelu komunikace publish-subscribe, např. MQTT nebo AMQP.

Nicméně, protože je technologie připravena pro řešení nejrůznějších požadavků, které mohou postupně vznikat, tak se neznalému člověku může zdát technologie složitá.

Je to jako používat fotoaparát s automatickým i manuálním režimem. Když jsou dobré světelné podmínky, tak klidně použijete automatický režim a hned fotíte.

Když se však světelné podmínky zhorší, nebo jsou velmi specifické, tak využijete manuální režim. Pro neznalé může být manuální režim složitý (clona objektivu, čas závěrky a citlivost ISO). Ale odborník již nad tím tolik přemýšlet nemusí a přizpůsobí nastavení konkrétní situaci. A tím získá požadovanou kvalitu fotografie.

 

Podobné je to i s technologií DDS. Je vytvořena tak, aby se dokázala přizpůsobit velmi specifickým podmínkám.

V možnosti přizpůsobit se a ovlivnit charakter přenosu jednotlivých toků dat technologie DDS exceluje a nemá konkurenci.

To je velmi užitečné, protože v rozsáhlých systémech je potřeba řešit stovky výzev. Zde uvedu „jen“ několik příkladů:

  • Jak se propojím nebo vyhledám ostatní aplikace/zařízení?
  • Jak zjistím, zdali jsou ostatní aplikace/zařízení stále dostupné?
  • Jak zjistím, zdali se do systému připojila aplikace nebo zařízení poskytující data, která potřebuji?
  • Jak zajistím zaslání posledního stavu nebo konfigurace?
  • Jak zajistím zaslání dat, i v případě kdy dojde k přerušení spojení nebo výpadku aplikace?
  • Jak přenášet různé typy dat jako jsou: události, stavy, alarmy, příkazy, streamy, s ohledem na výkon, spolehlivost a využití dostupných zdrojů?
  • Jak nezahlcovat přenosové linky v případě, kdy počet aplikací roste?
  • Jak detekovat výpadky v komunikaci?
  • Jak detekovat zpoždění zpráv?
  • Jak při výpadku aplikace převzít její funkce náhradní aplikací?
  • Jak nezahltit příjemce, který data nepotřebuje přijímat tak často?
  • Jak zajistit, aby data nebyla zbytečně zasílána všem zařízením/aplikacím, ale jen těm přiřazeným do dané logické skupiny (např. na základě místa, účelu, apod.).

Možná některé tyto výzvy potřebujete řešit ve svém systému pro přenos dat v reálném čase.

Budete-li je řešit na aplikační úrovní, tak vám vznikne něco takového…

Tedy aplikace, které obsahují více kódu pro sdílení a správu dat než vlastní logiku.

Přitom snaha je vytvořit něco takového…

 

Tedy přenést kód pro sdílení a správu dat na komunikační technologii, aby aplikace

  • byly jednodušší a tak obsahovaly méně chyb.
  • mohly se plně věnovat potřebným funkčnostem a byly jednoduše nahraditelné.

DDS je tedy používána převážně tam, kde je software systému složitější a kde máte tým, který se stará o konektivitu. V týmu potřebujete softwarové a systémové architekty, kteří vytvoří návrh systému a aplikací, které pak vývojáři naprogramují. A je to většinou tak, že technologii použijete při vytváření nového systému, nebo redesignu starého systému, protože technologie přináší aspekty, které s žádnou jinou technologií neřešíte. Potřebujete tak čas na jejich zvládnutí. Jako třeba nastavování QoS parametrů. Těm se vývojáři neradi věnují.

V případě, že potřebujete vytvořit větší nebo speciální distribuovaný systém se sdílením dat mezi zařízeními v reálném čase a s možností ovlivnit parametry přenosu, tak…

byste měli o technologii DDS vážně uvažovat.

Ale než ji nasadíte, tak je vhodné napřed zjistit její silné a slabé stránky. A zdali vám přínosy použití technologie DDS vyváží celkové náklady na její nasazení.

Jestli je technologie DDS pro váš systém vůbec vhodná.

Proto připravuji trénink, kde popisuji technologii DDS® z nadhledu. Na stránce www.pavelpohanka.cz/technologie, kde se dozvíte, v jakých případech byste měli o technologii DDS vážně uvažovat. A budete-li se chtít o technologii dozvědět vše podstatné, tak si trénink budete moci pořídit.

PP
Author: PP

Podobné příspěvky

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *