120 likes | 133 Views
LECTURE 20: Distributed Computing Broker and Middleware. Ivan Marsic Rutgers University. Topics. Middleware Broker Design Pattern Java Remote Method Invocation (RMI). Object Messaging via Middleware. Serialization / Marshalling.
E N D
LECTURE 20: Distributed Computing Broker and Middleware Ivan Marsic Rutgers University
Topics • Middleware • Broker Design Pattern • Java Remote Method Invocation (RMI)
Serialization / Marshalling • From software objects to a sequence of bits for network transmission Computer A Computer B Client List Sorter Middleware Middleware Network List 010110011
Middleware • Middleware is a collection of objects that offer a set of services related to object communication, so that extraneous functionality is offloaded to the middleware • To reduce the number of object’s responsibilities • In general, middleware is software used to make diverse applications work together smoothly
Middleware Object A Object B (a) Middleware Object A Object B' Object A' Object B (b)
Broker Pattern (a) (b)
Practical Issues • Do not design for patterns first • Reaching any solution is the priority;solution optimization should be secondary • Refactor the solution to patterns • E.g., to reduce the complexity of the program’s conditional logic • Uncritical use of patterns may yield worse solutions!