Versions Compared

Key

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

Table of Contents

Analysis on Forwarded

...

Event 

  1. We are using 'NCMPAsynRequestResponse' event schema to consume 'DMIAsynRequestResponse' event and forward to the client after mapping to different properties.
  2. 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'



...


Existing schemas  with properties

...


Drawio
diagramDisplayName
bordertrue
diagramNameAnalysis-Async-Schema
simpleViewertrue
width
linksauto
tbstyletop
lboxfalse
diagramDisplayName
diagramWidth9511011
revision25




#


properties

NCMP Async Headers/

External Props

NCMP Async

has

Forwaded

-Event

NCMP Async

has

Event

DMI Async Headers/

External Props

DMI Async

DMI 

has 

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/AN/AN/A
13response-dataEventN/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'.

Conclusion 

  • The schema consists of duplicated data.
  • Instead of using the type 'Event' we used the new type 'ForwardedEvent'.
  • CPS 'additionalProperties (privateProperties)' field  is clashed with the framework generated 'additionalProperties' field.
  • Proposed the new schema at CPS Events Structure for the agreement.
  • Once the above one agreed, We work the same at
    Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1660
  • Identified 'response-data' was miss-mapped to ForwardedEvent → (additionalProperties ( generated by the framework)).