From EGIWiki
Revision as of 11:40, 1 February 2013 by Ap (talk | contribs) (SSM1)
Jump to: navigation, search

Secure Stomp Messenger

Secure Stomp Messenger (SSM) is the messaging system used by APEL to transmit messages. It is written in Python and uses the STOMP protocol.

SSM is still in development, and we would be happy to hear any comments you have about design, packaging, documentation or anything else - email apel-ssm-test@jiscmail.ac.uk.

For more on testing, see APEL/Test_APEL_Server.


SSM was designed as a way of using python and STOMP to securely and reliably send messages from APEL clients to the APEL server. It is designed to use the EGI broker network (see Message_brokers), but should be compatible with any stomp broker.

It is not tied to any other APEL components, so is also being used for sending StAR and Cloud accounting records.


After discussion within EMI, it was decided that SSM1's design was too complicated for interoperation with other tools. The discussion led to the definition of the EMI Messaging Protocol for Accounting (EMPA), which you can find here: APEL/MessagingProtocol. SSM2 is under development to conform with EMPA. SSM2 will be released in EMI3.

Key features:

  • any file can be sent as a message
  • messages are signed and may be encrypted in transit, using x509 certificates
  • a receiving SSM acts as a daemon process; a sending SSM runs, sending all its messages, and quits


The latest version can be downloaded from this page: http://apel.github.com/apel/. Choose the apel-ssm rpm for your OS.

Alternatively, you may install using the EMI3 RC repo. See APEL/SSM2Installation for instructions.



This is the original version of SSM which is used in production by existing CPU accounting clients. However, for any new clients, SSM2 should now be used.

Key features:

  • any file can be sent as a message
  • messages are encrypted in transit, using IGTF X509 certificates
  • all messages are acknowledged by the receiving SSM, so both sides know if a message has been sent
  • the same program can act as a sending or receiving SSM, or both
  • a receiving SSM must run as a daemon process; a sending SSM can run as a daemon process or can run once, sending all its messages, and quit


The packages (rpm and zip) are available for download here:


External SSM Testing

  • APEL SSM Testing: If you are interested in testing the new STOMP interface or want to develop your own client.