Open APIs

 View Only
  • 1.  Changed Values in ChangeEvent Notifications

    TM Forum Member
    Posted Jul 25, 2022 04:53
    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
    ------------------------------


  • 2.  RE: Changed Values in ChangeEvent Notifications

    TM Forum Member
    Posted Jul 25, 2022 08:57
    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
    ------------------------------