SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 

Último (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 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

Notas do Editor

  1. Westmont College CS 140 Chapters 32-35