60 likes | 175 Views
Middleware Technology. Communication Mechanisms Synchronous – process on client side must stop and wait until server reply is received. Classic programming model Asynchronous – process on client side may proceed to do other work while waiting for server reply Modern multi-threaded languages
E N D
Middleware Technology Communication Mechanisms • Synchronous – process on client side must stop and wait until server reply is received. • Classic programming model • Asynchronous – process on client side may proceed to do other work while waiting for server reply • Modern multi-threaded languages • Java, VB, Delphi • Adds another “wrinkle” – communication is not just between machines, but between specific processes on specific machines – TCP/IP protocol accommodates this concept – Port #
Remote Procedure Call • Procedural languages – Cobol, Pascal, C, etc • The client “calls” a subroutine that happens to reside on the server rather than the local machine • Synchronous – stop and wait for reply • DCE “open” standard (Distributed Computing Environment)
Message-Oriented • Message Passing • Requires a Message Protocol (a standard) • Client packages request into message format • Client transmits message • Server received message • Server un-packs request from message • Server computes/retrieves formulates reply • Server packages reply into a message format • Server transmits message • Client receives message • Client un-packs reply from message • Etc.
Object-Oriented • Object to Object, rather than procedure to procedure • Object sends a message (a method call) to another object • Objects can be multithreaded, so supports both synchronous and asynchronous • CORBA: Common Object Request Broker Architecture • DCOM: Distributed Common Object Model (Microsoft proprietary)
Process State Transition Process State Concurrent Processing • Multiple concurrent processes • A form of parallel processing • Introduces synchronization and communication issues • A useful model: Petri Nets Resource Process State Token Transition Transitions may require resources Process State
Computing Idle Waiting Process Reply Waiting Process Request Client/Server Petri Net • Synchronized Client/Server Request Reply