The middleware is all of the distributed software needed to support interactions between the client and the server. The server is a computer that is on the network and shares resources with other network users. The server may be dedicated, which means its sole purpose is to provide services for networked users or it may be used as a client server. Usually the most powerful computer in a network is the server. The client building block runs the client side of the application.
Clients do most of the processing.
The server building block runs on the server side of the application. The server application usually requires a high degree of concurrency within a single program. The OS must dispatch the tasks based on the priority of the client, while keeping the synchronized tasks from bumping into each other, even when sharing or exchanging data. The server side must also depend on the OS to interface with the middleware building block that brings in the requests for service. The server usually runs the server application on top of some shrink-wrapped server software package.