1 / 19

Part 4

Part 4. Other Topics RPC & Middleware. Middleware. Tools to help programmers Makes client-server programming Easier Faster Makes resulting software Less error-prone More reliable. Middleware Approach. Allow programmer to work with familiar language constructs

nerice
Download Presentation

Part 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Part 4 Other Topics RPC & Middleware CSI 4118 – UNIVERSITY OF OTTAWA

  2. Middleware • Tools to help programmers • Makes client-server programming • Easier • Faster • Makes resulting software • Less error-prone • More reliable CSI 4118 – UNIVERSITY OF OTTAWA

  3. Middleware Approach • Allow programmer to work with familiar language constructs • Provide tools to help programmer • Special translators • Libraries • Automatically generate code for • Network communication • Connection management CSI 4118 – UNIVERSITY OF OTTAWA

  4. Remote Procedure Call • Uses standard procedure call paradigm • Divides program along procedure call boundaries • Main program and procedures for user interaction in client side • Other procedures in server side CSI 4118 – UNIVERSITY OF OTTAWA

  5. Reason for Remote Procedure Call If a programmer follows the same procedure call paradigm used to build conventional programs when building client and server software, the programmer will find the task easier and will make fewer mistakes CSI 4118 – UNIVERSITY OF OTTAWA

  6. Illustration of Conventional Procedure Call Graph • Arrow denotes procedure call CSI 4118 – UNIVERSITY OF OTTAWA

  7. Procedure Call Graph Divided Into Client and Server • Division occurs on call boundary • Main program in client piece CSI 4118 – UNIVERSITY OF OTTAWA

  8. Communication Stubs • Inserted to enable remote “call” • Automatically generated • Use original call interface • Allow calling and called procedure to remain unchanged CSI 4118 – UNIVERSITY OF OTTAWA

  9. Illustration of Client and Server Stubs • Original call in (a) • Same interface with stubs in (b) CSI 4118 – UNIVERSITY OF OTTAWA

  10. Creating Stubs • Programmer writes • Code for a program • Specification of procedure interfaces using Interface Definition Language (IDL) • Middleware generates • Client and server stub code • Necessary socket calls • Data translation CSI 4118 – UNIVERSITY OF OTTAWA

  11. Data Representation • Network can connect heterogeneous computers • Two computers may use different • Integer representations • Character codes • Floating point representations • Translation required CSI 4118 – UNIVERSITY OF OTTAWA

  12. Possible Data Translation Schemes • Use receiver’s representation • Sender translates all outgoing data • Use sender’s representation • Receiver translates all incoming data • Use external representation (popular) • Sender translates to external form before sending • Receiver translates from external form after reception CSI 4118 – UNIVERSITY OF OTTAWA

  13. Middleware Technologies That Use Remote Procedure Call • ONC RPC • Open Network Computing • IETF standard • Popular in Unix world • DCE RPC • Distributed Computing Environment • Open Group Standard CSI 4118 – UNIVERSITY OF OTTAWA

  14. Middleware Technologies That Use Remote Procedure Call (continued) • MSRPC • Microsoft • Variant of DCE RPC CSI 4118 – UNIVERSITY OF OTTAWA

  15. Object-Oriented Middleware • Designed for use with object-oriented programming languages • Same general scheme as RPC • Interface Definition Language • Tool to build stubs • Libraries to handle network communication • Uses method invocation instead of procedure call CSI 4118 – UNIVERSITY OF OTTAWA

  16. Middleware Technologies That Use Remote Object Invocation • CORBA • Common Object Request Broker Architecture • Well known object-oriented middleware • MSRPC2 • Microsoft • Also called Object RPC (ORPC) CSI 4118 – UNIVERSITY OF OTTAWA

  17. Middleware Technologies That Use Remote Object Invocation • COM / DCOM • Also from Microsoft • Component Object Model (COM) • Used on single computer • Provides mechanism for inter-object references • Distributed Component Object Model • Used across multiple computers • Includes communication stubs CSI 4118 – UNIVERSITY OF OTTAWA

  18. Middleware Technologies That Use Remote Object Invocation • RMI • From Sun Microsystems • Methods of remote Java objects can be invoked from other Java virtual machines on different hosts • Jini • Also from Sun; based on Java • Provides an environment for creating dynamically networked components, applications, and services that scale CSI 4118 – UNIVERSITY OF OTTAWA

  19. Summary (continued) • Middleware • Tools to help build client and server • Automates routine tasks • Two popular paradigms • Remote procedure call • Object invocation • Generates communication stubs CSI 4118 – UNIVERSITY OF OTTAWA

More Related