I studied about distributed systems but I'm still not understanding how a middleware is deployed in order to install a distributed system.
I practiced sockets, but didn't anything about middleware and distributed system development and administration.
I'm confused about how the middleware can be deployed - must it be installed on a proxy machine, or must be installed on every machine (as part of the distributed system)? How client machines make use of middleware, is there a client part of the middleware?
I could tell this from a developer perspective. If you are working on a middleware integration project:
(1). You will be using a IDE like IBM Websphere Integration Designer(from IBM & built on top of eclipse).
(2). In this you will develop your flow, and suppose your flow has to connect to a System say A & System B, and you are sending some request to them and expecting some result to come back to your flow.
(3). You will use Web services(like SOAP) and hit to the port through which the Systems from another server are exposed and you will get back the result.
(4). You will have this inbuilt WAS server you will have in your IDE where you will deploy your integrated module. In this way, everything is connected via ports, urls and you are able to setup a distributed environment.
My answer not directly talks about distributed systems, I am much sharing my experience working in the Middleware Integration domain which is much of distributed computing.