SlideShare a Scribd company logo
By Jihed Othmani Jing Wang Karim Jouini Mathieu Martin
Outline The need RPC ( R emote  P rocedure  C all) Quick introduction Samples Advantages & disadvantages Future? RMI ( R emote  M ethod  I nvocation) Quick introduction Samples Advantages & disadvantages Future? WebServices Quick introduction Samples Advantages & disadvantages Recap  & Conclusion
The Need More and more devices are connected, tempting us to take advantage of their computational capabilities. We would like to communicate, reuse code, share services. There are a lot of opportunities to leverage services offered by others and to make your application publicly available. Provide a service without sharing code. So : we need a standardization of protocols to ease communication at the application layer. That’s what we call  middlewares .
Rpc, Rmi And Webservices 2
RPC – Quick Introduction First system to address  the need to communicate across process’ and machines boundaries. RPC was first described in 1976 by the RFC707. Xerox used RPC in the popular software “courier”, 1981. Paradigm:   The client process has to “know” the serving process and instantiates the communication. The client process calls a distant procedure and waits for the response (or fail).
RPC – Samples A “simple” server (part 1)
A “simple” server (part 2)
A “simple” client using our previous server
RPC – Advantages Advantages : Very simple logic and very low level, gives to the programmer a lot of freedom to implement different mechanisms on top of it. Can be implemented by  any language  (including C !). RPC exists since 1976, so its maturity and solidity are undoubted.
RPC – Disadvantages Using RPC can become very complex The complexity is exposed as the  number of procedures Interaction with such a module requires using all these interfaces in  the right way and sequence. A lot of code is needed for even simple applications. RPC gives no answer to fundamental questions: How to find peers ? How to distribute the workload over multiple servers? How failure and recovery should be handled? How to send/receive complex data structures. Security? Sasser, blaster, etc … Are RPC-vulnerability exploits There are multiple different and incompatible RPC protocols.
RPC – Future ? RPC is way too complex to be used as middleware in modern software. RPC can be used as low level layer for more powerful middleware layers, that would be able to provide us with : OOP Load balancing Failure detection/correction Etc …
Rpc, Rmi And Webservices 2
RMI – Quick Introduction The Java Remote Method Invocation API, or Java RMI, is a Java application programming interface for performing the object equivalent of Remote Procedure Calls. There are two common implementations of the API.  Java Remote Method Protocol (JRMP) In order to support servers running in a non-JVM context, a CORBA version was later developed. Uses HTTP or IIOP as communication layer.
RMI – Samples Here is a Server publishing a “Hello” Object
RMI – Samples Here is client invoking the previous “Hello” Object and calling “HelloFromServer()” On it !
RMI – Advantages & disadvantages Advantages Java, so portable and Oriented Object. NAT-Firewall traversal capabilities. Asynchronous possibilities with ARMI (Async’-RMI). Easier to use and setup than CORBA. RDMI enables dynamic invocation. First attempt to address security. Latest versions are CORBA-compatible (using IIOP). Disadvantages Java only…
RMI – Future ? RMI still needs to find answers to:  How to implement real server-level security ? How to perform load balancing ? How to use RMI in other languages ?
Rpc, Rmi And Webservices 2
Web Services – Quick Introduction A software system designed to support interoperable machine-to-machine interaction over a network. It refers to clients and servers that communicate over the HTTP protocol used on the Web. Web services range from such major services as storage management down to much more limited services such as the furnishing of a stock quote.
Web Services – Advantages  Universal Support. Protocol not Platform. Low Product Costs. Evolutionary thanks to XML. Business Oriented. The standardized nature of the pieces that implement a Web service solves many problems related to intersystem communication.  For example:  The HTTP standard allows more systems to communicate with one another. SOAP (built on XML) standardizes the messaging capability on different systems.  UDDI standardizes the publishing and finding of Web services.  WSDL standardizes the description of Web services, so providers and requesters speak the same language.  Opportunities to take advantage of services offered by others and to make your applications available to others as a Web service.    Mashups (ex: Jogli.com)
Web Services – Disadvantages  No security standards: Web services are exposed to the public using http-based protocols. Adopting open security standards  like SSL or XML-encryption may be a solution. Processing time and data traffic costs are significantly higher Very verbose : Multiplication of the conveyed information mass. But: To buy a faster CPU is cheaper than employing a programmer and systems administrator capable of handling RMI. Performance differences less marked for more realistic applications than for toys like “calculator”. You can use cloud systems to easily scale. No load balancing at the protocol level.
Web Services – Samples Google's Web Service - access the Google search engine. Amazon's Web Service - access Amazon's product information . XMethods - collection of information about existing Web  services. Getting the last stock quote.
Rpc, Rmi And Webservices 2
Recap RPC RMI Web Services Birth 1976 - 1981 ~ 1990 ~ 2000 Platform Library and OS-dependant Java Independent   Transport OS-Dependent HTTP or IIOP  HTTP(s) Dev Cost Huge Reasonable Low Security None Client-level Transport Level Overhead None OOP + HTTP XML + HTTP Dynamic invocation None Yes, using RDMI Natural Versioning Huge problem Possible using RDMI Natural Service lookup Impossible Java Naming and Directory UDDI
Rpc, Rmi And Webservices 2

More Related Content

Similar to Rpc, Rmi And Webservices 2 (20)

PPTX
Java RMI
Prajakta Nimje
 
PDF
6. The grid-COMPUTING OGSA and WSRF
Dr Sandeep Kumar Poonia
 
PPTX
Java RMI Presentation
Masud Rahman
 
PPT
Distributes objects and Rmi
Mayank Jain
 
PPTX
Communication in Distributed Systems
Dilum Bandara
 
PDF
Java RMI Detailed Tutorial
Masud Rahman
 
PPT
middleware
rkk0o7
 
PPT
12-middleware.ppt
tsigitnist02
 
PDF
005281271.pdf
KalsoomTahir2
 
PDF
Remote Method Invocation
ashishspace
 
PDF
java TM rmi The Remote Method Invocation Guide 1st Edition Esmond Pitt
ciggoaljasi
 
PDF
18CS3040_Distributed Systems
Kathirvel Ayyaswamy
 
PDF
18CS3040 Distributed System
Kathirvel Ayyaswamy
 
PDF
java TM rmi The Remote Method Invocation Guide 1st Edition Esmond Pitt
hobbeljovie
 
PDF
20CS2021-Distributed Computing module 2
Kathirvel Ayyaswamy
 
PDF
20CS2021 Distributed Computing
Kathirvel Ayyaswamy
 
PDF
Remote Method Invocation (RMI)
Peter R. Egli
 
DOCX
Remote Method Invocation
Sonali Parab
 
PDF
Java rmi
Fazlur Rahman
 
PDF
Remote Method Invocation in JAVA
Jalpesh Vasa
 
Java RMI
Prajakta Nimje
 
6. The grid-COMPUTING OGSA and WSRF
Dr Sandeep Kumar Poonia
 
Java RMI Presentation
Masud Rahman
 
Distributes objects and Rmi
Mayank Jain
 
Communication in Distributed Systems
Dilum Bandara
 
Java RMI Detailed Tutorial
Masud Rahman
 
middleware
rkk0o7
 
12-middleware.ppt
tsigitnist02
 
005281271.pdf
KalsoomTahir2
 
Remote Method Invocation
ashishspace
 
java TM rmi The Remote Method Invocation Guide 1st Edition Esmond Pitt
ciggoaljasi
 
18CS3040_Distributed Systems
Kathirvel Ayyaswamy
 
18CS3040 Distributed System
Kathirvel Ayyaswamy
 
java TM rmi The Remote Method Invocation Guide 1st Edition Esmond Pitt
hobbeljovie
 
20CS2021-Distributed Computing module 2
Kathirvel Ayyaswamy
 
20CS2021 Distributed Computing
Kathirvel Ayyaswamy
 
Remote Method Invocation (RMI)
Peter R. Egli
 
Remote Method Invocation
Sonali Parab
 
Java rmi
Fazlur Rahman
 
Remote Method Invocation in JAVA
Jalpesh Vasa
 

Recently uploaded (20)

PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PDF
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
PPTX
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
PDF
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PDF
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
PDF
Agentic Artificial Intelligence (AI) and its growing impact on business opera...
Alakmalak Technologies Pvt. Ltd.
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
PDF
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PPTX
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
Agentic Artificial Intelligence (AI) and its growing impact on business opera...
Alakmalak Technologies Pvt. Ltd.
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Ad

Rpc, Rmi And Webservices 2

  • 1. By Jihed Othmani Jing Wang Karim Jouini Mathieu Martin
  • 2. Outline The need RPC ( R emote P rocedure C all) Quick introduction Samples Advantages & disadvantages Future? RMI ( R emote M ethod I nvocation) Quick introduction Samples Advantages & disadvantages Future? WebServices Quick introduction Samples Advantages & disadvantages Recap & Conclusion
  • 3. The Need More and more devices are connected, tempting us to take advantage of their computational capabilities. We would like to communicate, reuse code, share services. There are a lot of opportunities to leverage services offered by others and to make your application publicly available. Provide a service without sharing code. So : we need a standardization of protocols to ease communication at the application layer. That’s what we call middlewares .
  • 5. RPC – Quick Introduction First system to address the need to communicate across process’ and machines boundaries. RPC was first described in 1976 by the RFC707. Xerox used RPC in the popular software “courier”, 1981. Paradigm: The client process has to “know” the serving process and instantiates the communication. The client process calls a distant procedure and waits for the response (or fail).
  • 6. RPC – Samples A “simple” server (part 1)
  • 8. A “simple” client using our previous server
  • 9. RPC – Advantages Advantages : Very simple logic and very low level, gives to the programmer a lot of freedom to implement different mechanisms on top of it. Can be implemented by any language (including C !). RPC exists since 1976, so its maturity and solidity are undoubted.
  • 10. RPC – Disadvantages Using RPC can become very complex The complexity is exposed as the number of procedures Interaction with such a module requires using all these interfaces in the right way and sequence. A lot of code is needed for even simple applications. RPC gives no answer to fundamental questions: How to find peers ? How to distribute the workload over multiple servers? How failure and recovery should be handled? How to send/receive complex data structures. Security? Sasser, blaster, etc … Are RPC-vulnerability exploits There are multiple different and incompatible RPC protocols.
  • 11. RPC – Future ? RPC is way too complex to be used as middleware in modern software. RPC can be used as low level layer for more powerful middleware layers, that would be able to provide us with : OOP Load balancing Failure detection/correction Etc …
  • 13. RMI – Quick Introduction The Java Remote Method Invocation API, or Java RMI, is a Java application programming interface for performing the object equivalent of Remote Procedure Calls. There are two common implementations of the API. Java Remote Method Protocol (JRMP) In order to support servers running in a non-JVM context, a CORBA version was later developed. Uses HTTP or IIOP as communication layer.
  • 14. RMI – Samples Here is a Server publishing a “Hello” Object
  • 15. RMI – Samples Here is client invoking the previous “Hello” Object and calling “HelloFromServer()” On it !
  • 16. RMI – Advantages & disadvantages Advantages Java, so portable and Oriented Object. NAT-Firewall traversal capabilities. Asynchronous possibilities with ARMI (Async’-RMI). Easier to use and setup than CORBA. RDMI enables dynamic invocation. First attempt to address security. Latest versions are CORBA-compatible (using IIOP). Disadvantages Java only…
  • 17. RMI – Future ? RMI still needs to find answers to: How to implement real server-level security ? How to perform load balancing ? How to use RMI in other languages ?
  • 19. Web Services – Quick Introduction A software system designed to support interoperable machine-to-machine interaction over a network. It refers to clients and servers that communicate over the HTTP protocol used on the Web. Web services range from such major services as storage management down to much more limited services such as the furnishing of a stock quote.
  • 20. Web Services – Advantages Universal Support. Protocol not Platform. Low Product Costs. Evolutionary thanks to XML. Business Oriented. The standardized nature of the pieces that implement a Web service solves many problems related to intersystem communication. For example: The HTTP standard allows more systems to communicate with one another. SOAP (built on XML) standardizes the messaging capability on different systems. UDDI standardizes the publishing and finding of Web services. WSDL standardizes the description of Web services, so providers and requesters speak the same language. Opportunities to take advantage of services offered by others and to make your applications available to others as a Web service.  Mashups (ex: Jogli.com)
  • 21. Web Services – Disadvantages No security standards: Web services are exposed to the public using http-based protocols. Adopting open security standards like SSL or XML-encryption may be a solution. Processing time and data traffic costs are significantly higher Very verbose : Multiplication of the conveyed information mass. But: To buy a faster CPU is cheaper than employing a programmer and systems administrator capable of handling RMI. Performance differences less marked for more realistic applications than for toys like “calculator”. You can use cloud systems to easily scale. No load balancing at the protocol level.
  • 22. Web Services – Samples Google's Web Service - access the Google search engine. Amazon's Web Service - access Amazon's product information . XMethods - collection of information about existing Web services. Getting the last stock quote.
  • 24. Recap RPC RMI Web Services Birth 1976 - 1981 ~ 1990 ~ 2000 Platform Library and OS-dependant Java Independent  Transport OS-Dependent HTTP or IIOP HTTP(s) Dev Cost Huge Reasonable Low Security None Client-level Transport Level Overhead None OOP + HTTP XML + HTTP Dynamic invocation None Yes, using RDMI Natural Versioning Huge problem Possible using RDMI Natural Service lookup Impossible Java Naming and Directory UDDI