![]() In this section we provide a simple and extensible subscription model and common alternative variations.Ī subscription can be described as depicted in Figure 2.įigure 2: Subscription class (non-normative). There is no standardized way to do so and different services might have different needs that may justify variation in the subscription models. The Subscribe interface needs to provide a model that specifies what defines a subscription. These interfaces are implementation specific and vary from technology to technology and thus are best documented as part of the technology specific service description (see section 3). Particular technical implementations may rely on additional interfaces and operations to manage different aspects of the service like connection establishment between Consumer and Service, delivery state of messages, heartbeats to communicate the status of each participant, etc. Operation and required by the Service Provider who will invoke it. This interface is provided by the Consumer that needs to be able to accept reception of the On the other hand, the Publish interface is most commonly implemented using a Fire-and-Forget MEP as it fully leverages the advantages of Publish/Subscribe, minimizing interactions between providers and consumers and preventing unnecessary workload on consumer side, which would otherwise need to perform periodic requests (polling) to get the latest updates. This interface is provided by the Service Provider and required by the Consumer. What is usually common across implementations is that the Subscribe interface is implemented using a Request/Response patternĪs subscribing to the service typically entails some form of approval by the service provider which in turn provides back certain information detailing the means to use to obtain the publications. Operation that lists the possible topics a Consumer can subscribe to, ![]() Operation to obtain details of an existing subscription(s), ![]() ![]() Subscription operation may altogether not exist if said functionality is not needed.Īdditional operations can be added to support extended functionality, for instance: Operations may be merged into a single overloaded operation that performs either depending on the request payload. Specific details of the implementation of the service subscription interface may vary. subscribe, unsubscribe, pause…).Ī publish interface: Dealing with the actual publication of data to its consumers.įigure 1: Publish Subscribe Service: Interfaces In its general form a Publish/Subscribe service can be understood as consisting of at least 2 interfaces:Ī subscription interface: Containing operations that relate to the management of the service subscription (e.g. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |