5: IPC Overview Flashcards
what is a distributed system? pros and cons?
a system with components located at networked computers communicating and coordinating by passing messages. location of component is less relevant
can choose location optimally, e.g near the client for responsiveness or near the data for throughput, offers a more seamless experience
placing components remotely increases failure modes e.g slow network, network failure, failed database, out of data replicas and mirrors, legal problems…
increases complexity which is the opposite of CTs goal
what is the purpose of middleware?
to provide an abstraction - to glue together/mediate between two seperate systems - to provide an API so that programmers dont have to deal with underlying APIs
what are the types of middleware? POSTM
P - procedure O - object S - service T - transaction M - message
…oriented
Describe the T in POSTM
Transaction middleware performs transactions across machines, focussing on the ACID database properties. Components are database applications. Considered impractical because of scaling issues.
Describe the P in POSTM
Procedure oriented. uses remote procedure calls. middleware recieves function calls and sends it to a worker component, then sends the returned result to the caller. a single thread of control that migrates across the network
hard to detect failure - has something died or is the network just slow?
can’t pass by reference which constains the languag eoptions
Describe the M in POSTM
message oriented middleware involves sending messages between processes. messages are queued at intermediate message servers
messages are asynchronous
Describe the S in POSTM
service middleware. each component provides a single service
compose (orchestrate) services to create larger services and applications
lifecycle issues - service may want to unpublish itself. cant assume a service will remain available
what are web services?
a service that can be invoked using web rprotocls, leverageing the web to do computation