FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 1
Part 4
Other Topics
RPC & Middleware
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 2
Middleware
 Tools to help programmers
 Makes client-server programming
 Eas...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 3
Middleware Approach
 Allow programmer to work with familiar
language construc...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 4
Remote Procedure Call
 Uses standard procedure call paradigm
 Divides progra...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 5
Reason for Remote Procedure
Call
If a programmer follows the same procedure
ca...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 6
Illustration of Conventional
Procedure Call Graph
 Arrow denotes procedure ca...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 7
Procedure Call Graph Divided
Into Client and Server
 Division occurs on call ...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 8
Communication Stubs
 Inserted to enable remote “call”
 Automatically generat...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 9
Illustration of Client and Server Stubs
 Original call in (a)
 Same interfac...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 10
Creating Stubs
 Programmer writes
 Code for a program
 Specification of pr...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 11
Data Representation
 Network can connect heterogeneous
computers
 Two compu...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 12
Possible Data
Translation Schemes
 Use receiver’s representation
 Sender tr...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 13
Middleware Technologies That
Use Remote Procedure Call
 ONC RPC
 Open Netwo...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 14
Middleware Technologies That
Use Remote Procedure Call
(continued)
 MSRPC
 ...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 15
Object-Oriented Middleware
 Designed for use with object-oriented
programmin...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 16
Middleware Technologies That
Use Remote Object Invocation
 CORBA
 Common Ob...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 17
Middleware Technologies That
Use Remote Object Invocation
 COM / DCOM
 Also...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 18
Middleware Technologies That
Use Remote Object Invocation
 RMI
 From Sun Mi...
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 19
Summary (continued)
 Middleware
 Tools to help build client and server
 Au...
Upcoming SlideShare
Loading in …5
×

Middleware fourth unit

196 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
196
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Westmont College CS 140 Chapters 32-35
  • Middleware fourth unit

    1. 1. FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 1 Part 4 Other Topics RPC & Middleware
    2. 2. FALL 2005 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
    3. 3. FALL 2005 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
    4. 4. FALL 2005 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
    5. 5. FALL 2005 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
    6. 6. FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 6 Illustration of Conventional Procedure Call Graph  Arrow denotes procedure call
    7. 7. FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 7 Procedure Call Graph Divided Into Client and Server  Division occurs on call boundary  Main program in client piece
    8. 8. FALL 2005 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
    9. 9. FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 9 Illustration of Client and Server Stubs  Original call in (a)  Same interface with stubs in (b)
    10. 10. FALL 2005 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
    11. 11. FALL 2005 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
    12. 12. FALL 2005 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
    13. 13. FALL 2005 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
    14. 14. FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 14 Middleware Technologies That Use Remote Procedure Call (continued)  MSRPC  Microsoft  Variant of DCE RPC
    15. 15. FALL 2005 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
    16. 16. FALL 2005 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)
    17. 17. FALL 2005 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
    18. 18. FALL 2005 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
    19. 19. FALL 2005 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

    ×