Distributed systems architecture a middleware approach - Puder, Arno (Elsevier, 2006)