1. A method of processing messages in an enterprise resource planning system, the method comprising: generating a snapshot of a message queue of the enterprise resource planning system, wherein the message queue comprises a plurality of messages to be processed, each message having an associated conversation identified by a unique combination of an endpoint, a channel, and a subconversation identifier, the snapshot of the message queue having messages that are to be processed in serial and messages that are to be processed in parallel; for each conversation identified by a unique combination of an endpoint, a channel, and a subconversation identifier associated with a message of the snapshot, selecting from the snapshot messages that are associated with the same conversation identified by the unique combination of the endpoint, the channel, and the subconversation identifier, determining whether the selected messages are to be processed in serial or in parallel based on the subconversation identifier of the conversation, when it is determined that the selected messages are to be processed in serial, creating a task for the selected messages, the task for processing the selected messages serially, and when it is determined that the selected messages are to be processed in parallel, creating a task for each of the selected messages; and executing each of the created tasks, so that the selected messages of each created task are processed serially by that task, while each created task is executed in parallel with the other created tasks.