Analysis & Design
The EPS service enables devices and systems that generate events/data/messages needed by other consumers to publish those events to an intermediary that is responsible for their subsequent distribution to interested parties.
EPS specifies following interface for event publication.
PublicationIFace
1) Publish Event/Push Event: This operation allows a publisher to publish an event to an already defined topic. The publisher must have access to publish on the specific topic.After successful of publish event, message now appears in the topic and subscribers are notified.
Inputs: Topic Id or Topic Path, Message/Event
Output: Message Id
2) Delete Event/Pull Event: This operation allows a publisher to remove a previously published event from a topic.Depending on the topic configuration, this action may not be allowed. Subscribers may be notified of the deletion depending on the nature of their subscription and the configuration of the topic. When an event is cross-posted to more than one topic, it is only removed from the selected topic. After successful deletion, event no longer appears under the topic.
Inputs: Topic Id or Topic Path, Message Id
Output: None
3) Assert Presence:This operation allows Publish-on-demand publishers to update their presence statuses. After successful of this method, For Offline status – Publisher requests and notifications are deferred and For Online status – Publisher requests and notifications are resumed.
Inputs: Publisher Id, Presence (Online, Offline)
Output: Success/Fail
Assumptions: Following are the assumptions when we use publication
1) Kafka is up and running. If not, throw exception.
2) Topic is already created which is for publish and subscribe messages. If it does not exist, throw exception.
Add Comment