Message-driven processing is one of the processes that take place within the basic client/server computing environment. Essentially, message-driven processing takes place when a computing client forwards a request in the form of a message to a software program that acts as a receiver and distributor of the message. The receiver, or message broker as it is sometimes called, then routes the message on to the appropriate server application.
Within the structure of message-driven processing, messages that contain requests for specific courses of action may vary in the way the message request is configured. The message can contain such elements as the name or a tag for the application that is being requested, as well as indicating some sense of urgency or a timeline for processing the request at the server end. Depending on the structure of the message, the receiver or message broker may reply to the originator of the message, as well as forward the message to the appropriate server.
The use of message-driven processing is common in environments that make use of distributed computing. In other words, if the overall network covers a large geographical area, there may be an increased need for screening new messages or applications before allowing them to be executed. When this type of message-driven processing is utilized, there are usually additional software components called middleware that help to handle the increased flow of messages from various remote sections of the network. This can help to ease the burden on the legacy server, as the middleware helps to sort, qualify, and route the messages.
While message-driven processing is an approach that involves several steps before the intended action is accomplished, there is no time lag involved. End users are not likely to notice any slowing of function while message-driven processing is taking place. In fact, most users are completely unaware that this type of function is running, since many of the request messages are generated as part of the ongoing automated processes of keeping the system operational.