Analysis on Forwarded Event
- We are using 'NCMPAsynRequestResponse' event schema to consume 'DMIAsynRequestResponse' event and forward to the client after mapping to different properties.
- NCMPAsynRequestResponse has 2 object properties other than individual properties. The below 2 has the same properties.
- Event :
- While mapping properties from 'DMIAsynRequestResponse' to 'NCMPAsynRequestResponse, We are not mapping anything to this property object/type. We can find the same on the below screenshot.
- Forwarded Event :
- While mapping properties from 'DMIAsynRequestResponse' to 'NCMPAsynRequestResponse', We are mapping all the properties to the 'ForwardedEvent'.
- Particularly response-Data from 'DMIAsynRequestResponse' is mapped to additional properties of 'NCMPAsynRequestResponse → ForwardedEvent'
- Event :
Existing schemas with properties
# | properties | NCMP Headers/ External Props | NCMP Forwaded Event | NCMP Event | DMI Headers/ External Props | DMI Event-Content |
---|---|---|---|---|---|---|
1 | eventId | * | * | * | * | N/A |
2 | eventCorrelationId | * | * | * | * | N/A |
3 | eventTime | * | * | * | * | N/A |
4 | eventTarget | * | * | * | * | N/A |
5 | eventType | * | * | * | * | N/A |
6 | eventSchema | * | * | * | * | N/A |
7 | eventSchemaVersion | * | * | N/A | * | N/A |
8 | eventSource | N/A | * | * | * | N/A |
9 | response-data-schema | Event/FE | * | * | Event-Content | * |
10 | response-status | Event/FE | * | * | Event-Content | * |
11 | response-code | Event/FE | * | * | Event-Content | * |
12 | forwardedEventData | Fwd Event | * | N/A | N/A | N/A |
13 | response-data | Event | N/A | * | Event-Content | * |
Steps Need to take to update
- TO check with client that anyone using this schema. If yes, We need to deprecate this version and create the new version.
- To keep schema consistent map all the properties of 'DMIAsynRequestResponse' to 'NCMPAsynRequestResponse → Event' instead of 'NCMPAsynRequestResponse → ForwardedEvent'.
- For now 'response-data' of 'DMIAsynRequestResponse' is mapping to 'additional-properties' of 'forwardedEvent' in 'NCMPAsynRequestResponse' .
- 'response-date → payload' should be matched to the 'forwardedEvent → forwardedEventData →forwardedEventPayload ' .
- If the above mapping is wrong, We need to update the mapping to the appropriate one.
- If we agreed with team to use 'Event' instead of ' forwardedEvent', We need to introduce the 'schemaVersion' property in 'Event' schema
- If the above point is agreed, We need to keep only the payload inside the 'Event'.
NOTE: Once we decide all the points, We work on this using Jira ' - CPS-1660Getting issue details... STATUS '