13.07.2015 Views

SAMP — Simple Application Messag- ing Protocol Version 1.11 - IVOA

SAMP — Simple Application Messag- ing Protocol Version 1.11 - IVOA

SAMP — Simple Application Messag- ing Protocol Version 1.11 - IVOA

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3. Synchronous Call/ResponseThe Notification pattern is strictly one-way while in the Call/Response patternsthe recipient returns a response to the sender.If the sender expects to receive some useful data as a result of the receiver’sprocess<strong>ing</strong>, or if it wishes to find out whether and when the process<strong>ing</strong>is completed, it should use one of the Call/Response variants. If on theother hand the sender has no interest in what the recipient does with themessage once it has been sent, it may use the Notification pattern. Notification,since it involves no communication back from the recipient to thesender, uses fewer resources. Although typically “event”-type messages willbe sent us<strong>ing</strong> Notify and “request-for-information”-type messages will be sentus<strong>ing</strong> Call/Response, the choice of which delivery pattern to use is entirelydistinct from the content of the message, and is up to the sender; any message(MType) may be sent us<strong>ing</strong> any of the above patterns. Apart from thefact of return<strong>ing</strong> or not return<strong>ing</strong> a response, the recipient SHOULD processmessages in exactly the same way regardless of which pattern is used.From the receiver’s point of view there are only two cases: Notificationand Asynchronous Call/Response. However, the hub provides a conveniencemethod which simulates a synchronous call from the sender’s point of view.The purpose of this is to simplify the use of the protocol in situations suchas script<strong>ing</strong> environments which cannot easily handle callbacks. However, itis RECOMMENDED to use the asynchronous pattern where possible due toits greater robustness.2.6 Extensible VocabulariesAt several places in this document structured information is conveyed by useof a controlled but extensible vocabulary. Some examples are the applicationmetadata keys (Section 3.6), message encod<strong>ing</strong> keys (Section 3.8) andStandard Profile lockfile tokens (Section 4.3).Wherever this pattern is used, the follow<strong>ing</strong> rules apply. This documentdefines certain well-known keys with defined mean<strong>ing</strong>s. These may be OP-TIONAL or REQUIRED as documented, but if present MUST be used byclients and hubs in the way defined here. All such well-known keys start withthe str<strong>ing</strong> “samp.”.Clients and hubs are however free to introduce and use non-well-knownkeys as they see fit. Any str<strong>ing</strong> may be used for such a non-standard key,with the restriction that it MUST NOT start with the str<strong>ing</strong> “samp.”.The general rule is that hubs and clients which encounter keys which theydo not understand SHOULD ignore them, propagat<strong>ing</strong> them to downstream10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!