Presentation is loading. Please wait.

Presentation is loading. Please wait.

Remote Procedure Call sockets TCP, UDP Internet Protocol (IP) Remote Procedure Call: hides communication details behind a procedure call and helps bridge.

Similar presentations


Presentation on theme: "Remote Procedure Call sockets TCP, UDP Internet Protocol (IP) Remote Procedure Call: hides communication details behind a procedure call and helps bridge."— Presentation transcript:

1 Remote Procedure Call sockets TCP, UDP Internet Protocol (IP) Remote Procedure Call: hides communication details behind a procedure call and helps bridge heterogeneous platforms sockets: operating system level interface to the underlying communication protocols TCP, UDP: User Datagram Protocol (UDP) transports data packets without guarantees Transmission Control Protocol (TCP) verifies correct delivery of data streams Internet Protocol (IP): moves a packet of data from one node to another Copyright Springer Verlag Berlin Heidelberg 2004

2 IDL sources interface headers IDL compiler IDL client code client stub language specific call interface server code server stub language specific call interface client processserver process development environment Copyright Springer Verlag Berlin Heidelberg 2004

3 communication module client procedure call client stub bind marshal serialize send client process communication module server procedure server stub unmarshal deserialize receive server process dispatcher (select stub) Copyright Springer Verlag Berlin Heidelberg 2004

4 communication module client procedure call client stub bind marshal serialize 2. find 5. send client process communication module server procedure server stub 0. register unmarshal deserialize 7. receive server process dispatcher (select stub) 3. query for server implementing the procedure 4. address of server 6. invoke procedure name and directory service (binder) 1. register server and procedure Copyright Springer Verlag Berlin Heidelberg 2004

5 DCE runtime environment RPC protocols security service cell service distributed file service thread service IDL sources interface headers IDL compiler IDL client code client stub RPC run time service library language specific call interface RPC API server code server stub RPC run time service library language specific call interface RPC API client processserver process DCE development environment Copyright Springer Verlag Berlin Heidelberg 2004

6 client resource manager (DBMS) database client resource manager 1 database 1 resource manager 2 database 2 withdraw deposit (a) (b) source account destination account Copyright Springer Verlag Berlin Heidelberg 2004

7 client 1. BOT 4. procedure call 10. EOT client stub 2.register txn & create context 5.add txn id & context to call 11.request commit 14.confirm termination client process server 9. procedure server stub 6. extract context and txn id 7. register server for txn 13. participate in 2PC server process transaction manager 3. create txn id register txn register client for txn return txn id 8. lookup txn id register server for txn 12. lookup txn id run 2PC notify client of outcome Copyright Springer Verlag Berlin Heidelberg 2004

8 client application program flow registered programs router resources transaction management communication manager interface (API, presentation, authentication) TP services resource wrapper resource wrapper resource wrapper TP monitor Copyright Springer Verlag Berlin Heidelberg 2004

9 Object Request Broker user-defined objects namingtransactionseventslifecycleproperties concurrencycollectionsecuritytraderexternalizationquery relationshipstime startup licensing persistence CORBAservices distributed documents information management CORBA facilities systems management task management financialssupply chain… horizontal facilities: vertical facilities: Copyright Springer Verlag Berlin Heidelberg 2004

10 Object Request Broker application object (client) application object (service provider) stubskeleton IDL of service provider IDL compiler (server side) interface repository IDL compiler (client side) application object (client) Dynamic Invocation Interface interface Purchasing { float getQuote ( in long productId); float purchaseGoods (in long productId, in long quantity) } Copyright Springer Verlag Berlin Heidelberg 2004

11 Message-Oriented Middleware (MOM) client applicationquotation tool Message : quoteRequest { QuoteReferenceNumber: 325 Customer: Acme,INC Item:#115 (Ball-point pen, blue) Quantity: 1200 RequestedDeliveryDate: Mar 16,2003 DeliveryAddress: Palo Alto, CA } (a) client applicationquotation tool Message: quote { QuoteReferenceNumber: 325 ExpectedDeliveryDate: Mar 12, 2003 Price:1200$ } (b) Copyright Springer Verlag Berlin Heidelberg 2004

12 MOM Core client applicationquotation tool inbound queue Message-Oriented Middleware (MOM) queued messages Copyright Springer Verlag Berlin Heidelberg 2004

13 MOM Core quotation tool 1 quotation tool 2 quotation tool n inbound shared queue Copyright Springer Verlag Berlin Heidelberg 2004


Download ppt "Remote Procedure Call sockets TCP, UDP Internet Protocol (IP) Remote Procedure Call: hides communication details behind a procedure call and helps bridge."

Similar presentations


Ads by Google