SlideShare une entreprise Scribd logo
1  sur  19
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

Contenu connexe

Tendances

OpenOffice++: Improving the Quality of Open Source Software
OpenOffice++: Improving the Quality of Open Source SoftwareOpenOffice++: Improving the Quality of Open Source Software
OpenOffice++: Improving the Quality of Open Source SoftwareAlexandro Colorado
 
Pa 10 n1 louis decroo jr.
Pa 10 n1 louis decroo jr.Pa 10 n1 louis decroo jr.
Pa 10 n1 louis decroo jr.ldecroo
 
DDD Tactical Design with Clean Architecture - Ivan Paulovich
DDD Tactical Design with Clean Architecture - Ivan PaulovichDDD Tactical Design with Clean Architecture - Ivan Paulovich
DDD Tactical Design with Clean Architecture - Ivan PaulovichIvan Paulovich
 
New c sharp3_features_(linq)_part_iv
New c sharp3_features_(linq)_part_ivNew c sharp3_features_(linq)_part_iv
New c sharp3_features_(linq)_part_ivNico Ludwig
 
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipIvan Paulovich
 
Clean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichClean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichIvan Paulovich
 
Linker and Loader Explained
Linker and Loader  ExplainedLinker and Loader  Explained
Linker and Loader ExplainedAdarsh Kr Sinha
 
Language processor
Language processorLanguage processor
Language processorAbha Damani
 

Tendances (12)

Java Decompiler
Java DecompilerJava Decompiler
Java Decompiler
 
OpenOffice++: Improving the Quality of Open Source Software
OpenOffice++: Improving the Quality of Open Source SoftwareOpenOffice++: Improving the Quality of Open Source Software
OpenOffice++: Improving the Quality of Open Source Software
 
Pa 10 n1 louis decroo jr.
Pa 10 n1 louis decroo jr.Pa 10 n1 louis decroo jr.
Pa 10 n1 louis decroo jr.
 
Interpreter
InterpreterInterpreter
Interpreter
 
Phases of Compiler
Phases of CompilerPhases of Compiler
Phases of Compiler
 
DDD Tactical Design with Clean Architecture - Ivan Paulovich
DDD Tactical Design with Clean Architecture - Ivan PaulovichDDD Tactical Design with Clean Architecture - Ivan Paulovich
DDD Tactical Design with Clean Architecture - Ivan Paulovich
 
New c sharp3_features_(linq)_part_iv
New c sharp3_features_(linq)_part_ivNew c sharp3_features_(linq)_part_iv
New c sharp3_features_(linq)_part_iv
 
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software Craftsmanship
 
Clean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichClean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovich
 
Linker and Loader Explained
Linker and Loader  ExplainedLinker and Loader  Explained
Linker and Loader Explained
 
Language processor
Language processorLanguage processor
Language processor
 
Resume
ResumeResume
Resume
 

Similaire à RPC and Middleware Technologies for Distributed Computing

Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightabhijit2511
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Sri Prasanna
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVGhodhbane Mohamed Amine
 
Cloud Presentation.pdf
Cloud Presentation.pdfCloud Presentation.pdf
Cloud Presentation.pdfMandanaHazeri
 
05 rpc-case studies
05 rpc-case studies05 rpc-case studies
05 rpc-case studieshushu
 
Net framework
Net frameworkNet framework
Net frameworksumit1503
 
Sreerag dot net - objectives & architecture
Sreerag   dot net - objectives & architectureSreerag   dot net - objectives & architecture
Sreerag dot net - objectives & architectureSreerag Gopinath
 
Overview of asp .net
Overview of asp .netOverview of asp .net
Overview of asp .netSajan Sahu
 
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overview
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overviewIntroduction to Data Models & Cisco's NextGen Device Level APIs: an overview
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overviewCisco DevNet
 
Net framework
Net frameworkNet framework
Net frameworkjhsri
 
Cetpa infotech is the best advanced .net training institute in Delhi NCR
Cetpa infotech is the best advanced .net training institute in Delhi NCRCetpa infotech is the best advanced .net training institute in Delhi NCR
Cetpa infotech is the best advanced .net training institute in Delhi NCRACCHITABAJPAI
 
Selenium Training in Mohali
Selenium Training in MohaliSelenium Training in Mohali
Selenium Training in MohaliE2MATRIX
 
1-.NET Introduction.pptx
1-.NET Introduction.pptx1-.NET Introduction.pptx
1-.NET Introduction.pptxRKAggarwal6
 
Selenium Training in Jalandhar
Selenium Training in JalandharSelenium Training in Jalandhar
Selenium Training in JalandharE2MATRIX
 
Selenium Training in Chandigarh
Selenium Training in ChandigarhSelenium Training in Chandigarh
Selenium Training in ChandigarhE2MATRIX
 

Similaire à RPC and Middleware Technologies for Distributed Computing (20)

6. The grid-COMPUTING OGSA and WSRF
6. The grid-COMPUTING OGSA and WSRF6. The grid-COMPUTING OGSA and WSRF
6. The grid-COMPUTING OGSA and WSRF
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFV
 
Cloud Presentation.pdf
Cloud Presentation.pdfCloud Presentation.pdf
Cloud Presentation.pdf
 
05 rpc-case studies
05 rpc-case studies05 rpc-case studies
05 rpc-case studies
 
Net framework
Net frameworkNet framework
Net framework
 
Sreerag dot net - objectives & architecture
Sreerag   dot net - objectives & architectureSreerag   dot net - objectives & architecture
Sreerag dot net - objectives & architecture
 
Overview of asp .net
Overview of asp .netOverview of asp .net
Overview of asp .net
 
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overview
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overviewIntroduction to Data Models & Cisco's NextGen Device Level APIs: an overview
Introduction to Data Models & Cisco's NextGen Device Level APIs: an overview
 
Net framework
Net frameworkNet framework
Net framework
 
Cetpa infotech is the best advanced .net training institute in Delhi NCR
Cetpa infotech is the best advanced .net training institute in Delhi NCRCetpa infotech is the best advanced .net training institute in Delhi NCR
Cetpa infotech is the best advanced .net training institute in Delhi NCR
 
Dissector Final
Dissector Final Dissector Final
Dissector Final
 
ColdFusion to .NET
ColdFusion to .NETColdFusion to .NET
ColdFusion to .NET
 
Selenium Training in Mohali
Selenium Training in MohaliSelenium Training in Mohali
Selenium Training in Mohali
 
1-.NET Introduction.pptx
1-.NET Introduction.pptx1-.NET Introduction.pptx
1-.NET Introduction.pptx
 
Selenium Training in Jalandhar
Selenium Training in JalandharSelenium Training in Jalandhar
Selenium Training in Jalandhar
 
Selenium Training in Chandigarh
Selenium Training in ChandigarhSelenium Training in Chandigarh
Selenium Training in Chandigarh
 

Dernier

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

RPC and Middleware Technologies for Distributed Computing

  • 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

Notes de l'éditeur

  1. Westmont College CS 140 Chapters 32-35