60 likes | 183 Views
Dive into the complex world of middleware communication mechanisms, focusing on synchronous and asynchronous processes. Learn how classic programming models require the client to wait for server replies, while modern multi-threaded languages allow continual client operations. Explore the implications of object-oriented communications, such as CORBA and DCOM, emphasizing message-oriented protocols and concurrent processing. Understand the nuances of client-server communications, state transitions, and resource management using models like Petri Nets. This insight is vital for modern software development.
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