Hi Kanika
A great question. Let's consider (for example) multiple digital commerce systems (retail PoS, self-service) feeding product orders via TMF622 POST into a central order capture system owned by the telco. Then presumably the self-service system would not want to receive notifications on orders initiated by the PoS system.
So it would be the responsibility of the central order capture system to send hub responses to the originating system. This requires that the product order storage should include the identity of the originating system. We have a pattern for this called ExternalIdentifier, but it has not yet been included in ProductOrder.
More generally, the software system callback endpoint should be directly relateable to the owner attribute in ExternalIdentifier, so that the system raising the events can match the event to the originating system.
Hope it helps
------------------------------
Jonathan Goldberg
Amdocs Management Limited
Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
------------------------------
Original Message:
Sent: Oct 12, 2022 05:50
From: Kanika Aggarwal
Subject: Listener and hub Queries
Hi @Jonathan Goldberg,
Regarding "The event raising software system will invoke each callback endpoint to communicate the events to the subscribing systems."
Is it possible to support for callback endpoint to receive events only for the entities it created/updated? Does API support that?
Thanks
Kanika
------------------------------
Kanika Aggarwal
VOCUS PTY LTD
Original Message:
Sent: May 17, 2022 03:26
From: Jonathan Goldberg
Subject: Listener and hub Queries
Thanks Andreas for your answer. I'll provide some additional info:
The Open API design pattern prescribes events that are raised as part of an API implementation, typically as a result of operation invocation (e.g. entityxxxxcreated, entityyyyystatuschanged, etc.). We have two paradigms for handling these events:
- hub and listener - This is a point-to-point paradigm. The software system that raises events (typically an implementation of an API) publishes a hub end-point. Software systems that want to subscribe to the events register at the hub, giving a callback endpoint as part of the registration. The event raising software system will invoke each callback endpoint to communicate the events to the subscribing systems.
- event queue - This is a distributed paradigm. TMF688 (event management) allows event providers to raise events, and event consumers to subscribe to events, wrapping queue or messaging systems (Kafka, Rabbit, etc.)
Hope it helps
------------------------------
Jonathan Goldberg
Amdocs Management Limited
Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
Original Message:
Sent: May 17, 2022 01:44
From: Andreas Schlueter
Subject: Listener and hub Queries
Hi Shivan,
the listener is a service (Observer in GoF pattern) provided by another system to be notified by the SOM service. It is registered at the hub (Observable) to be invoked when a notification is due. The id is the id that the hub assigns to the listener and which can be used e.g. to de-register the listener later.
Regards,
Andreas
------------------------------
Andreas Schlueter
NTT DATA CORPORATION
Original Message:
Sent: May 16, 2022 09:18
From: Shivam Chauhan
Subject: Listener and hub Queries
I am pretty new with the TMF 641 APIs.
I follow the tmf swagger.
1 - What is the difference between listener api and hub api.
2- Does the id present in response of listener is same as hub api response id.
I attached the response.
#General
------------------------------
Shivam Chauhan
Zensar
------------------------------