middleware fourth unit

19
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 1 Part 4 Other Topics RPC & Middleware

Upload: selva-kumar

Post on 23-Jun-2015

81 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Middleware fourth unit

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 1

Part 4

Other TopicsRPC & Middleware

Page 2: Middleware fourth unit

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

Page 3: Middleware fourth unit

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

Page 4: Middleware fourth unit

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

Page 5: Middleware fourth unit

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

Page 6: Middleware fourth unit

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 6

Illustration of Conventional Procedure Call Graph

Arrow denotes procedure call

Page 7: Middleware fourth unit

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

Page 8: Middleware fourth unit

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

Page 9: Middleware fourth unit

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 9

Illustration of Client and Server Stubs

Original call in (a) Same interface with stubs in (b)

Page 10: Middleware fourth unit

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

Page 11: Middleware fourth unit

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

Page 12: Middleware fourth unit

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

Page 13: Middleware fourth unit

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

Page 14: Middleware fourth unit

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 14

Middleware Technologies That Use Remote Procedure Call (continued)

MSRPC Microsoft Variant of DCE RPC

Page 15: Middleware fourth unit

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

Page 16: Middleware fourth unit

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)

Page 17: Middleware fourth unit

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

Page 18: Middleware fourth unit

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

Page 19: Middleware fourth unit

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 callObject invocation

Generates communication stubs