SlideShare a Scribd company logo
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
 Easier
 Faster
 Makes resulting software
 Less error-prone
 More reliable
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
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
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
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 6
Illustration of Conventional
Procedure Call Graph
 Arrow denotes procedure call
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
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
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 9
Illustration of Client and Server Stubs
 Original call in (a)
 Same interface with stubs in (b)
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
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
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
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
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 14
Middleware Technologies That
Use Remote Procedure Call
(continued)
 MSRPC
 Microsoft
 Variant of DCE RPC
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
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)
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
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
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

More Related Content

PPTX
Assmbly language mcqs
PPTX
Fault-Tolerant OpenFlow-based Software Switch Architecture with LINC Switches...
PPS
Asp.net new
PDF
Compiler Design Quiz
PPT
Compiler design
PPTX
Pycon 2011
PPTX
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
PPTX
Common Runtime Language Features
Assmbly language mcqs
Fault-Tolerant OpenFlow-based Software Switch Architecture with LINC Switches...
Asp.net new
Compiler Design Quiz
Compiler design
Pycon 2011
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
Common Runtime Language Features

What's hot (12)

PPTX
Java Decompiler
ODP
OpenOffice++: Improving the Quality of Open Source Software
PPTX
Pa 10 n1 louis decroo jr.
PPTX
Interpreter
PPTX
Phases of Compiler
PDF
DDD Tactical Design with Clean Architecture - Ivan Paulovich
PDF
New c sharp3_features_(linq)_part_iv
PDF
Clean Architecture Essentials - Stockholm Software Craftsmanship
PDF
Clean Architecture Essentials @ivanpaulovich
PDF
Linker and Loader Explained
PPTX
Language processor
DOCX
Resume
Java Decompiler
OpenOffice++: Improving the Quality of Open Source Software
Pa 10 n1 louis decroo jr.
Interpreter
Phases of Compiler
DDD Tactical Design with Clean Architecture - Ivan Paulovich
New c sharp3_features_(linq)_part_iv
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials @ivanpaulovich
Linker and Loader Explained
Language processor
Resume
Ad

Similar to Middleware fourth unit (20)

PDF
6. The grid-COMPUTING OGSA and WSRF
PDF
Current & Future Use-Cases of OpenDaylight
DOCX
Remote Web Desk
PPT
Rpc Case Studies (Distributed computing)
PPTX
Net Fundamentals
PDF
Learn more about the tremendous value Open Data Plane brings to NFV
PDF
Cloud Presentation.pdf
PPT
05 rpc-case studies
PPT
Net framework
PPS
Sreerag dot net - objectives & architecture
PPT
Overview of asp .net
PDF
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overview
PPT
Net framework
PDF
Cetpa infotech is the best advanced .net training institute in Delhi NCR
PPTX
Dissector Final
PPTX
ColdFusion to .NET
PPTX
Selenium Training in Mohali
PPTX
1-.NET Introduction.pptx
PPTX
Selenium Training in Jalandhar
PPTX
Selenium Training in Chandigarh
6. The grid-COMPUTING OGSA and WSRF
Current & Future Use-Cases of OpenDaylight
Remote Web Desk
Rpc Case Studies (Distributed computing)
Net Fundamentals
Learn more about the tremendous value Open Data Plane brings to NFV
Cloud Presentation.pdf
05 rpc-case studies
Net framework
Sreerag dot net - objectives & architecture
Overview of asp .net
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overview
Net framework
Cetpa infotech is the best advanced .net training institute in Delhi NCR
Dissector Final
ColdFusion to .NET
Selenium Training in Mohali
1-.NET Introduction.pptx
Selenium Training in Jalandhar
Selenium Training in Chandigarh
Ad

Recently uploaded (20)

PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Getting Started with Data Integration: FME Form 101
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
project resource management chapter-09.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
A Presentation on Touch Screen Technology
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
Group 1 Presentation -Planning and Decision Making .pptx
Encapsulation_ Review paper, used for researhc scholars
Mushroom cultivation and it's methods.pdf
Tartificialntelligence_presentation.pptx
Heart disease approach using modified random forest and particle swarm optimi...
Getting Started with Data Integration: FME Form 101
DP Operators-handbook-extract for the Mautical Institute
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
project resource management chapter-09.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
A comparative analysis of optical character recognition models for extracting...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
TLE Review Electricity (Electricity).pptx
A Presentation on Touch Screen Technology
A comparative study of natural language inference in Swahili using monolingua...
OMC Textile Division Presentation 2021.pptx
Chapter 5: Probability Theory and Statistics
1 - Historical Antecedents, Social Consideration.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
NewMind AI Weekly Chronicles - August'25-Week II

Middleware fourth unit

  • 1. FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 1 Part 4 Other Topics RPC & Middleware
  • 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. 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. 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. 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. FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 6 Illustration of Conventional Procedure Call Graph  Arrow denotes procedure call
  • 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. 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. 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. 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. 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. 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. 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. FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 14 Middleware Technologies That Use Remote Procedure Call (continued)  MSRPC  Microsoft  Variant of DCE RPC
  • 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. 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. 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. 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. 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

Editor's Notes

  • #2: Westmont College CS 140 Chapters 32-35