Middleware TechnologyRemote Procedure CallMessage-OrientedObject-OrientedConcurrent ProcessingClient/Server Petri NetMW TechCSIS 4490 N-Tier Client/ServerDr. HogansonMiddleware TechnologyCommunication 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 #MW TechCSIS 4490 N-Tier Client/ServerDr. HogansonRemote 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)MW TechCSIS 4490 N-Tier Client/ServerDr. HogansonMessage-Oriented•Message Passing•Requires a Message Protocol (a standard)1. Client packages request into message format2. Client transmits message3. Server received message4. Server un-packs request from message5. Server computes/retrieves formulates reply6. Server packages reply into a message format7. Server transmits message8. Client receives message9. Client un-packs reply from message10. Etc.MW TechCSIS 4490 N-Tier Client/ServerDr. HogansonObject-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)MW TechCSIS 4490 N-Tier Client/ServerDr. HogansonConcurrent Processing•Multiple concurrent processes•A form of parallel processing•Introduces synchronization and communication issues•A useful model: Petri NetsProcess StateTransitionProcess StateProcess StateTransitionProcess StateResourceTransitions may require resourcesTokenMW TechCSIS 4490 N-Tier Client/ServerDr. HogansonClient/Server Petri Net•Synchronized Client/ServerComputing
View Full Document