An application server is server program in a computer in a distributed network that provides the business logic for an application program. Older, legacy databases and transaction management applications are part of the back-end or third tier. Application servers not only provide a location for application logic, but they also coordinate many resource connections using transactional semantics. However, each application server has its own approach as to how this happens. Therefore, making wise decisions regarding the selection of an application server requires an understanding of the category of features, as well as the problem at hand.
Message brokers are servers that broker messages between two or more source or target applications.
In addition to brokering messages, they transform message schemas and alter the content of the messages so the messages make sense to the application receiving the message. In contrast to application servers, message brokers tend to move information using event-driven mechanisms. Application servers, by contrast, use a transactional model where transactions are invoked within the application server. The application server carries out a preprogrammed function, perhaps communicating with an application resource. The message broker model is a loosely coupled solution that typically does not require changes to source or target applications, and is least expensive to implement.