How does SMPP compare to SOAP in terms of complexity to implement and performance?
The Short Message Peer-to-Peer Protocol (SMPP) is the SMS Forum's (http://smsforum.net/) binary protocol for sending SMS messages. SMPP is a low-level communication protocol. If you intend to send SMS messages, this is the protocol that you should be using. It's very lightweight, efficient and highly performant. As a communication protocol, it doesn't provide very much abstraction. The application uses the protocol to manage low-level network processing, such as session management and access control. The application creates messages, indicates where to send them (to a client) using a specific transmitter, and sends and receives them. It supports a variety of messaging options, such as one-way messages, request/response, peer-to-peer, broadcast messaging and batch. The developer needs to be pretty cognizant of how SMS works.
The SMS Forum has recently released an XML variant of SMPP called Mobile Messaging Access Protocol (MMAP). It essentially provides a mechanism to package the SMPP commands as SOAP messages and send them over SMS. MMAP supports all the equivalent functions as SMPP, but it uses a text protocol (SOAP) rather than a binary protocol. I would expect that MMAP isn't nearly as lightweight and efficient as SMPP.
MMAP also defines a higher-level protocol, called SMAP, that provides a more abstract interface -- designed for users with little or no knowledge of SMS.
SOAP is a general-purpose XML messaging protocol. It is not a communication protocol. It requires the use of a lower-level communication protocol to transfer the messages (such as HTTP, SMTP, FTP or MMAP). SOAP hides the low-level communication management functions from the developer.
This was first published in April 2004