Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. We receive an event of type : subscriptionDeleted from the client ( EDM DME ) containing the subscription clientId and subscription name along with datastore and dataCategory details ( Delete Subscription CM Event DMEtoNCMP )
  2. We check in NCMP that we have an ongoing subscription using clientId and subscriptionName.
  3. If we have ongoing subscription , we forward the event to dmi-plugins so that the changes are applied in the devices managed by dmi-plugin as well. ( Delete Subscription CM Event )
  4. Now if the dmi-plugins have applied the request then we get an event back from dmi-plugin and NCMP will process that event and based on that it will delete the ongoing subscription request from the database itself. If the response from DMI plugins is accepted ( i.e it can delete the subscriptions from the underlying devices and no subscription delete request are in PENDING or REJECTED state )Then we delete the subscriptions from the DB as well. ( Delete Subscription CM Event )
  5. After processing the received event from DMI , NCMP will send the final event to the client (EDMDME). (  Delete Subscription CM Event )

...

PlantUML Macro
aligncenter
titleSubscription Delete
@startuml "Subsciption Delete"

participant CLIENT
participant NCMP
participant DMI_PLUGIN

CLIENT -> NCMP: 1. Incoming subscriptionDelete event
NCMP -> DMI_PLUGIN: 2. ncmp to forward event to dmi plugin
DMI_PLUGIN -> DMI_PLUGIN: 3. Apply the requested event and respond with the status
DMI_PLUGIN --> NCMP: 4. Status of the subscriptionDelete request whether accepted/rejected/pending
NCMP --> NCMP: 5. If all accepted then only remove the subcription data from DB
NCMP --> CLIENT: 6. Respond with the status that we received from dmi plugin



@enduml

...


DME to NCMP

Subscription Delete Event

...