part 4 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Part 4 PowerPoint Presentation
Download Presentation
Part 4

Loading in 2 Seconds...

play fullscreen
1 / 19

Part 4 - PowerPoint PPT Presentation


  • 155 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Part 4' - nerice


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
part 4

Part 4

Other Topics

RPC & Middleware

CSI 4118 – UNIVERSITY OF OTTAWA

middleware
Middleware
  • Tools to help programmers
  • Makes client-server programming
    • Easier
    • Faster
  • Makes resulting software
    • Less error-prone
    • More reliable

CSI 4118 – UNIVERSITY OF OTTAWA

middleware approach
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

remote procedure call
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

reason for remote procedure call
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

illustration of conventional procedure call graph
Illustration of Conventional Procedure Call Graph
  • Arrow denotes procedure call

CSI 4118 – UNIVERSITY OF OTTAWA

procedure call graph divided into client and server
Procedure Call Graph Divided Into Client and Server
  • Division occurs on call boundary
  • Main program in client piece

CSI 4118 – UNIVERSITY OF OTTAWA

communication stubs
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

illustration of client and server stubs
Illustration of Client and Server Stubs
  • Original call in (a)
  • Same interface with stubs in (b)

CSI 4118 – UNIVERSITY OF OTTAWA

creating stubs
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

data representation
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

possible data translation schemes
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

middleware technologies that use remote procedure call
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

middleware technologies that use remote procedure call continued
Middleware Technologies That Use Remote Procedure Call (continued)
  • MSRPC
    • Microsoft
    • Variant of DCE RPC

CSI 4118 – UNIVERSITY OF OTTAWA

object oriented middleware
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

middleware technologies that use remote object invocation
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

middleware technologies that use remote object invocation1
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

middleware technologies that use remote object invocation2
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

summary continued
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