...
Subscription Creation Events Handling
Assumptions
# | Assumption | Notes |
---|---|---|
1 | Forwarded Subscription Event |
Responses communicate asynchronously. (from DMI Plugins to NCMP) |
It is the same as above note. The Forwarded Subscription Event Responses published into a different topic, e.g. ResponseXXX.
2 |
The NCMP component should |
create a Subscription Event Outcome message and publish it into the topic (cm-avc-subscription-response) for Client Apps consumed from |
Issues & Decisions
# | Issue | Notes | Decision | |||
---|---|---|---|---|---|---|
1 | Possible | Topic Names (TBD)'timeframe' period for timeout | NCMP to Client Apps response timeout | 30 sec. | ||
2 | Response in a single step (as of now) | from DMI to NCMP responses | Is the ACK would be required? No DMI-Plugin would publish actual response to NCMP | |||
3 | Response schema should be decided | from DMI to NCMP response schemas should be decided for single step response | Should DMI Plugins detail cm-hande IDs in response? Yes Accept or Decline | |||
4 | Subscription event outcome schema should be decided | from DMI to Client Apps
| We include :
Note : Avoid for wild card * (for all cm handles) | 2 | Possible 'timeframe' period to consume Forwarded Subscription Create Event Responses | TBD for timeframe |
Possible Topic Names
# | Source | Destination | Content | Topic NameDestination | ||
---|---|---|---|---|---|---|
1 | 1Client Apps | NCMP | ForwardedSubscription Create Event | TBD (cm-avc-subscription-forwarded) | ||
2 | 2NCMP | DMI Plugins | Forwarded Subscription Create Event | Responsencmp-dmi- TBD (cm-avc-subscription-{DMI-DATA- forwardedSERVICE- response)NAME} | ||
3 | 3DMI Plugins | NCMP | Forwarded Subscription Create Event | OutcomeResponse | dmi-ncmp-TBD (cm-avc-subscription-outcome-response) | Client Apps |
Implementation Details
- The NCMP component could utilize a Hash Map to store request_id and timestamp the time that message is published into the topic mentioned in #1 → Possible Topic Names
- In order to calculate the Subscription Create Outcome Message, the NCMP component should consume response messages from the topic mentioned in #2 → Possible Topic Names
The NCMP component should consume messages as per the timeframe periods, and compare request ids with the ones that already kept in that Hash Map at step 1. - If the incoming request id is found in the Hash Map, the total time elapsed could be calculated via timestamp (responses read) minus timestamp from Hash Map (for related request id).
- The NCMP can populate Subscription Event Outcome report, and publish it to the topic mentioned in #3 → Possible Topic Names
Testing Details
Ref: Component Diagram
...
4 | NCMP | Client Apps | Subscription Create Event Outcome | cm-avc-subscription-response |
Implementation Details
Testing Details
...