DDS
DDS is middleware die gebruikt wordt voor netwerkprogrammering. Deze middleware maakt complexe netwerkprogrammering eenvoudiger. Het implementeert een publish/subscribe model voor het verzenden en ontvangen van data, events en commando's tussen de nodes.
Nodes die informatie publiceren (publishers) creëren "topics" (bijv., temperatuur, locatie, druk) en publiceren "samples." DDS zorg ervoor dat een de levering van bepaalde data naar alle geïnteresseerde ontvangers (subscribers), wordt voldaan.
DDS behandelt alle overdrachts taken: berichtaddressering, data marshalling en demarshalling (de subscribers kunnen zich op een ander platform bevinden dan de publisher), delivery, flow control, retries, etc. Elke node kan een publisher, subscriber of allebei tegelijk zijn.
Het DDS publish-subscribe model maakt complexe netwerkprogrammering voor gedistribueerde applicaties overbodig. DDS support mechanimismen die ver voorbij het basis publish-subscribe model gaan.
Het grootste voordeel is dat applicaties die DDS gebruiken voor de communicatie, volledig ontkoppeld zijn. Een DDS-applicatie heeft geen informatie nodig over het bestaan en de locaties van andere applicaites. Ook heeft ze geen informatie nodig over de samenwerking tussen andere apllicaties.
DDS handelt automatisch alle aspecten van berichtverzending af, zonder dat er enige interventie nodig is van de gebruikersapplicatie, inclusief:
-
vastleggen wie de berichten moet ontvangen;
-
waar de ontvangers zich bevinden;
-
wat er gebeurt als de berichten niet afgeleverd kunnen worden.
Dit is mogelijk doordat DDS de gebruiker de gelegenheid geeft om Quality of Service (QoS) parameters te gebruiken. Deze parameters kunnen worden gebruikt om automatische ontdekkingsmechanismes te configureren. Ook de manier waarop DDS de berichten verzendt en ontvangt, kunnen met deze parameters geconfiguereerd worden.
Dit wordt mogelijk gemaakt doordat de gebruiker met DDS zelf Quality of Service (QoS) parameters kan instellen, waarmee automatische ontdekkingmechanismes en het gedrag bij zenden en ontvangen van boodschappen worden gespecificeerd. De mechanismes worden tevoren ingesteld, waarna geen gebruikers-interactie meer is vereist. Doordat boodschappen geheel anoniem worden uitgewisseld, maakt DDS een sterk vereenvoudigd ontwerp van gedistribueerde applicaties mogelijk, waardoor modulaire, goed gestructureerde programma's ontstaan.
DDS handelt ook automatisch hot-swapping van redundante publishers af wanneer de primaire uitvalt. Subscribers ontvangen altijd een bericht van de hoogste prioriteit waarvoor de data nog geldig is (volgens de door de publisher gespecificeerde geldigheidsperiode). Ook wordt automatisch naar de primaire publisher teruggeschakeld als deze weer opkomt. DDS is bij verschillende leveranciers verkrijgbaar met Ada, C, C++, C# en Java API's.
Remedy IT leverert onafhankelijke DDS services. We zijn ook betrokken bij de integratie van DDS in CCM.
|