SubscriptionManagement

Interface role

The Subscription Management interface allows the management of subscriptions to the other services by External Users. External Users are able to receive the information of their interest generated by the ASM Support Systems and provided via the interfaces. Each interface applies filtering options in order to ensure data provision aligned with the requirements of the External User. 

The interface allows for the creation and deletion of subscriptions to consume data from all other ASMtoASM service interfaces. A client may create a subscription to a single topic with each request but only one subscription per topic may be created at a time. In response the client will receive the name of an AMQP message queue. The name can then be supplied when creating subscriptions for additional topics to use the same queue. The client can consume the messages from the queue with the given name.

Figure 7 in Section 2.4.2.1 provides an overview of the Subscription Management interface

The elements in the data model are described in full detail in section 2.5.

Information Exchange Flow

The diagram in Section 2.4.2.2 presents the information exchange flow for the Subscription Management interface.  

Interface Functions

The Service interface performs the following functions:

o   Creating a Subscription introduces a new Subscription into the ASM Support System.

o   Starting a Subscription starts an existing Subscription in the ASM Support System.

o   Stopping a Subscription stops an existing Subscription in the ASM Support System.

o   Deleting a Subscription allows for deletion of an existing Subscription.

ASM-INTF-SUBS-010: ASMtoASM Service shall be supported by the Subscription Management interface to manage the subscriptions

ASM-INTF-SUBS-020: The Subscription Management interface shall support the following operations:

o   createSubscription,

o   startSubscription,

o   stopSubscription,

o   deleteSubscription

Operations

This operation is intended to create a subscription in the ASM Support System in response to a request from an External User. As a result, a subscription is either created in the local ASM Support System and the External User is notified, or a subscription is not created and an appropriate error message is transmitted to the External User.

It is down to the implementation as to whether or not subscriptions need to be remade at any other subsequent connection.

Associated messages

ASM-INTF-SUBS-030: The createSubscription operation shall receive and process the SubscriptionCreationRequest message from an External User.

ASM-INTF-SUBS-040: If no queue name is provided in the SubscriptionCreationRequest message the service shall assign a queue name to the External User subscription.

ASM-INTF-SUBS-050: If an active queue name is provided in the SubscriptionCreationRequest message the service shall reuse this queue name for the External User subscription.

Note: The queue name allows for connection to an Advanced Message Queuing Protocol (AMQP) message queue.

ASM-INTF-SUBS-070: The service shall apply the filters defined in the SubscriptionCreationRequest to all data notified via the AMQP message queue.

ASM-INTF-SUBS-080: The createSubscription operation shall validate the SubscriptionCreationRequest message against the following criteria which must be met:

o   All mandatory data for SubscriptionCreationRequest message are provided

o   The requestor does not have an existing PAUSED or ACTIVE subscription for the same topic.

o   If a queue name is set in the SubscriptionCreationRequest message it must match an existing queue name belonging to the requestor.

o   The filters provided in the SubscriptionCreationRequest message must be applicable to the topic being subscribed for. Acceptable filters are defined by the query operation in this document that maps to the subscription topic. 

ASM-INTF-SUBS-090: If the subscription request is valid, the createSubscription operation shall transmit the details of the newly created subscription, including the name of the AMQP queue to be used, in the SubscriptionCreationReply message to the requesting External User. 

ASM-INTF-SUBS-100: The subscription shall always be created in the ‘PAUSED’ state.

ASM-INTF-SUBS-110: If the request or the resulting subscription is not valid, the createSubscription operation shall transmit an appropriate error in the SubscriptionCreationReply message to the requesting External User.

Note: The definition of these messages can be found in section 2.7.3 Interface Messages.

This operation is intended to start a subscription process in the ASM Support System in response to a request from an External User. As a result, a subscription process is either started in the local ASM Support System and the External User starts receiving subscribed data, or a subscription is not started and an appropriate error message is transmitted to the External User.

Associated messages

ASM-INTF-SUBS-120: The startSubscription operation shall receive and process the SubscriptionCreationRequest message from an External User.

ASM-INTF-SUBS-130: The startSubscription operation shall validate the SubscriptionStartRequest message against the following criteria which must be met:

o   All mandatory data for SubscriptionStartRequest message are provided

o   The identified subscription to be started must belong to the requestor.

o   The identified subscription to be started must be PAUSED.

ASM-INTF-SUBS-140: If the request is valid, the startSubscription operation shall return the SubscriptionStartReply message to the requesting External User.

ASM-INTF-SUBS-150: The SubscriptionStartReply message shall contain the details of the subscription, including the name of the queue to be used and the state which will be ‘ACTIVE’.                             

ASM-INTF-SUBS-160: If the request is not valid, the startSubscription operation shall transmit an appropriate error in the SubscriptionStartReply message to the requesting External User.

Note: The definition of these messages can be found in section 2.7.3 Interface Messages.

This operation is intended to stop a subscription process in the ASM Support System in response to a request from an External User. As a result, a subscription process is either stopped in the local ASM Support System and the External User stops receiving subscribed data, or a subscription is not stopped and an appropriate error message is transmitted to the External User.

Associated messages

ASM-INTF-SUBS-170: The stopSubscription operation shall receive and process the SubscriptionStopRequest message from an External User.

ASM-INTF-SUBS-180: The stopSubscription operation shall validate the SubscriptionStopRequest message against the following criteria which must be met:

o   All mandatory data for SubscriptionStopRequest message are provided

o   The identified subscription to be stopped must belong to the requestor.

o   The identified subscription to be stopped must be ACTIVE.

ASM-INTF-SUBS-190: If the request is valid, the stopSubscription operation shall return the SubscriptionStopReply message to the requesting External User.

ASM-INTF-SUBS-200: The SubscriptionStopReply message shall contain the details of the subscription, including the name of the queue to be used and the state which will be ‘PAUSED’.                             

ASM-INTF-SUBS-210: If the request is not valid, the stopSubscription operation shall transmit an appropriate error in the SubscriptionStopReply message to the requesting External User.

Note: The definition of these messages can be found in section 2.7.3 Interface Messages.

This operation is intended to delete a subscription in the ASM Support System in response to a request from an External User. As a result, a subscription is either deleted in the local ASM Support System and the External User is notified, or a subscription is not deleted and an appropriate error message is transmitted to the External User.  If a subscription is deleted and no other subscriptions reference its message queue then the queue will be deleted.

Associated messages

ASM-INTF-SUBS-220: The deleteSubscription operation shall receive and process the SubscriptionDeletionRequest message from an External User.

ASM-INTF-SUBS-230: The deleteSubscription operation shall validate the SubscriptionDeletionRequest message against the following criteria which must be met:

o   All mandatory data for SubscriptionDeletionRequest message are provided

o   The identified subscription to be deleted must belong to the requestor.

 

ASM-INTF-SUBS-240: If the request is valid, the deleteSubscription operation shall return confirmation that the subscription has been deleted in the SubscriptionDeletionReply message to the requesting External User.

ASM-INTF-SUBS-250: If the request is valid and the subscription’s queue is no longer in use by any other subscriptions, the queue shall be deleted.

ASM-INTF-SUBS-260: If the request is not valid, the deleteSubscription operation shall transmit an appropriate error in the SubscriptionDeletionReply message to the requesting External User.

Note: The definition of these messages can be found in section 2.7.3 Interface Messages.

Behaviour
Interface Binding Description

N/A

Interface Provision Side
TI Primitive Message Exchange Pattern
Service Interface Binding
Network Interface Binding