RE: 'Asynchronous' versus 'Synchronous' application
Synchronous applications can only handle one message at a time because (by nature) it waits for the message status response before sending the next message. This can be time and resource costly if you have a large number of messages. It increases the amount of time your application (and the MMSC) spends on each message and also ties up resources that can be used for other processing.
Asynchronous applications are recommended because they make more efficient use of the MMSC and network resources. For example, an application that needs to send large batches of MMS messages can have them all sent immediately... without having to wait for a status report between each message.
Operating as a synchronous application is necessary when it is important to know the result of the sent message before sending the next message. Therefore, if there is large number of messages to be sent... the application would sent 1 message to the MMSC. Then, the MMSC would send 1 message out, wait, and send a message status back to the application through the same interface. After all this, then, the next message can be sent to the MMSC.
'Asynchronous' versus 'Synchronous' application
The EAIF documentation suggests it is advantageous for an application to operate as 'asynchronous' however this gives rise to a potential complication I mentioned in an ealier post enquiring about identifying multiple MMSC's connecting to a single application. So I have to ask if there is a strong technical argument for not simply operating as a 'synchronous' application?