Hi Imran,
Events defined in the OpenAPI implement event carried state transfer pattern. This effectively means that entire entities are transfered and not only delta values.
This is a design choice. The choice has indeed the disadvantage that it is not immediately clear what it changed.
It has however an important advantage in systems where many systems are interested in the same messages. If the entire entity is not included most of these systems would on receipt of the event perform a GET operation to retrieve the entire entity. By including the entity this can be avoided and this results in higher performance of the entire architecture.
Did you know that a several libraries exist to establish the difference between two json objects. JSON-diff and JSON-patch perfform these kind of actions.
This can potentially be helpfull to simplify your task.
Regards
------------------------------
Koen Peeters
OryxGateway
------------------------------
Original Message:
Sent: Jul 25, 2022 03:20
From: Imran Mahmood
Subject: Changed Values in ChangeEvent Notifications
Hi,
We are implementing ChangeEvent notifications for Product Offers from the central enterprise catalog to clients that have a product offer cache. As per TMF620 the entire ProductOffer entity is passed in the notification, not only the delta values that have changed. This seems to put complexity on clients that have to parse attributes to determine what has changed.
Below similar posts on the community seem to infer the standard does not support sending only changed values in the notification. The entire entity is passed or the client can request filtered fields, however the client would still need to parse through the fields to determine what has changed (if anything at all).
TMF 622 Manage Product Order - notifications return the entire product order?
622 Product Order
Does the standard have anything that supports sending only changed values in the notification?
Best Regards.
------------------------------
Imran Mahmood
Etihad Etisalat Mobily
------------------------------