Co DDS usnadňuje? Část 1: Návrh

Rozhodnutí o použití technologie v architektuře vašeho systému je potřeba dobře rozmyslet.

Budete zvažovat, co vám technologie v systému umožní a na druhé straně, co vás bude její nasazení stát.

Špatně zvolená technologie vám totiž z dlouhodobého hlediska může velmi prodražit cenu celého systému v průběhu jeho životního cyklu.

Data Distribution Service™ (DDS) usnadňuje vytvoření distribuovaného systému pro sdílení dat mezi zařízeními a aplikacemi v reálném čase a to ve všech fázích životního cyklu systému, tedy v návrhu, vývoji, nasazení, údržbě, rozšiřování a rozvoji.

A tedy ve výsledku může šetřit celkové náklady na systém.

V tomto videu se dozvíte jakým způsobem usnadňuje technologie DDS návrh.

Co nás při návrhu systému zajímá jsou komponenty systému a jejich rozhraní. Tedy, co která aplikace poskytuje, co přijímá a jakým způsobem to přijímá.

Co aplikace poskytuje a přijímá je u publish-subscribe modelu komunikace definováno topiky (kanál) a daty (datovým modelem, který je daným datovým kanálem přenášen.

U DDS je nutné definovat datový model (definujeme pouze CO se má sdílet), kterým spolu budou komponenty v systému komunikovat, před tím, nežli jsou vytvářeny aplikace. To by se mohlo zdát jako svazující. Nicméně na tom, jaká data si budete mezi aplikacemi přenášet, se tak jako tak musíte domluvit a DDS poskytuje rozšiřitelný typový systém, který vám umožní nad datovým modelem provádět kompatibilní změny. A věřte, že ke změnám v systému docházet bude. Na druhou stranu jsou data více stabilní nežli aplikace, takže z dlouhodobého pohledu jde o velký přínos.

DDS jde v datovém modelu ještě dál protože umožňuje určit k datům klíč nebo klíče, stejně jako u databází. Jsme tak schopni identifikovat jednotlivé datové objekty v rámci datových toků už na úrovni DDS middlewaru.

DDS však pro zaručení včasného doručení poskytuje také možnost ovlivnit jakým způsobem budou data v systému doručována nebo přijímána – pomocí QoS.

Možnost externě definovat parametry a ovlivnit tak vlastnosti systému usnadňuje návrh systému.

Pomocí QoS je tak možné specifikovat jak má být přenos spolehlivý, nebo zda-li stačí nespolehlivý, jaké jsou požadavky na rychlost přenosu, jak se má systém chovat při ztrátě paketu nebo spojení, zdali-li zaslat data automaticky nově připojeným aplikacím a kolik, jak můžu poslat data pouze vybraným aplikacím v dané skupině, atp.

Datový model společně s definováním parametrů přenosu pomocí QoS vám zaručí také zároveň dokumentaci datových toků v systému.

Důležitým konceptem, který souvisí s tímto standardem je globální datový prostor:
• V rámci tohoto logického prostoru jsou data sdílená mezi aplikacemi.
• V rámci tohoto virtuálního prostoru není žádný centrální uzel, takže zde není žádný bod selhání a účastníci jsou vyhledáváni. Jak je to možné? Představte si to jako distribuovanou sdílenou cache, ve které má každá aplikace svou cache a DDS middleware zajišťuje, že když nějaká aplikace změní stav této cache, tak se tato změna projeví všem, kteří na tyto změny čekají.
• Pro aplikace se tento virtuální prostor jeví jako jejich lokální paměť, ke které přistupují pomocí API – používají se read/take pro čtení, write a dispose (něco jako CRUD).
• Tento prostor lze také dále logicky dělit pomocí QoS (Partitions).

Pro návrh systému má tento globální datový prostor výhodu v tom, že aplikace v něm jsou volně vázány – tedy mají mezi sebou minimum závislostí. A to jak z pohledu:
• Prostoru: Aplikace mohou být automaticky vyhledány (pomocí UDP multicastu). Tak není distribuovaný systém závislý na topologii sítě. V případě, kdy se topologie změní, není nutné provádět změny v aplikacích.
• Času: Poskytovatel dat (publisher) může zasílat data naprosto asynchronně. DDS aplikace zašlou data později připojeným aplikacím v případě, kdy jsou tak nakonfigurovány. Poskytovatelé a příjemci dat, tak nemusí být spuštěny ve stejný čas.
• Frekvence: Rychlost poskytovaných dat se může lišit od rychlosti přijímání dat (nastavitelné pomocí QoS)

To jsou tedy zásadní koncepty, které usnadňují návrh systému.
* Systémový datový model – data jsou rozhraní,
* plně decentralizovaný globální datový prostor,
* v rámci celého systému definovaná kvalita služeb – QoS.

Zajímá-li vás technologie Data Distribution Service™ (DDS) 🌀, tak se podívejte na stránku www.pavelpohanka.cz/dds kde uvádím 10 věcí, které byste měli vědět o DDS dříve, než ji použijete ve svém projektu.

PP
Author: PP

Podobné příspěvky

  • Co usnadňuje DDS? Část 2: Vývoj

    Často se ve spojení s DDS používá pojem middleware. Což si můžeme představit jako vrstvu, mezi aplikacemi a operačním systémem, která zabezpečuje komunikaci mezi všemi částmi distribuovaného systému. Na straně aplikací poskytuje jednotné rozhraní, aby se při vývoji nemuseli starat na které platformě (operační systém, architektura procesoru) je aplikace nasazena. Middleware (tedy i DDS) z…

  • |

    Data-centric revoluce

    Před časem jsem mluvil od architektuře zaměřené na data (Data-centric architecture), kde jsou data základním prvkem a tato data jsou využívána aplikacemi. Funkčnosti aplikací jsou tak založeny na jednotném, co nejjednoduším a rozšiřitelném datovém modelu. Přínosem pak je že, data jsou k dispozici všem aplikacím a je snadná jejich integrace. Správná data jsou tak k dispozici…

  • Jak zapisovat a číst data v DDS aplikaci

    V příspěvku Co tvoří DDS aplikaci a doporučení pro implementaci jsme si řekli, co tvoří DDS aplikaci. Že se jedná o entity DomainParticipant, Topic, Publisher, Subscriber, DataWriter DataReader. V tomto videu se podíváme na to, jakým způsobem je možné zapisovat a číst data . Aplikace zapisuje data pomocí DataWriterů a čte data pomocí DataReaderů. Každý…

  • Proč byste měli uvažovat o DDS® pro váš systém

    Představte si situaci, kdy potřebujete vytvořit nový IIoT systém. Vytvoření takového distribuovaného systému je však náročné, protože existuje mnoho prvků, které spolu musí komunikovat a existuje mnoho věcí, které se mohou pokazit. Během vytváření systému budete pravděpodobně řešit následující problémy: Měnící se strukturu systému – přidáváním a odebíráním zařízení/aplikací Neustálý vývoj a rozšiřování systému (a…

  • Indy Autonomous Challenge Powered by Cisco

    Plně autonomní řízení se začíná stávat realitou.  Výrobci aut už na tom pracují. Pamatuji si auto jménem KITT z televizního seriálu Knight Rider z roku 1982. Vidět taková auta na silnici bylo nepředstavitelné. Ale dnes je to téměř realita. https://youtu.be/p4a98WOfEsg Pokud chcete důkaz, určitě si nenechte ujít příležitost vidět vůbec první autonomní závodní auto  na…

  • DDS rodina standardu

    DDS 🌀 je plně decentralizovaná komunikační platforma (technologii) pro sdílení dat v reálném čase mezi různými zařízeními a aplikacemi s možností ovlivňovat parametry přenosu pomocí externí konfigurace (QoS). Tato technologie je založena na EDA – architektuře řízené událostmi a DCA – architektuře zaměřené na data. DDS je standardizovaná technologie, která je tvořena několika standardy. Z…

Napsat komentář

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