SlideShare a Scribd company logo
RPC Case Studies Paul Krzyzanowski [email_address] [email_address] Distributed Systems Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
Overview of RPC Systems Sun RPC DCE RPC DCOM CORBA Java RMI XML RPC, SOAP/.NET, AJAX, REST
Sun RPC
Sun RPC ,[object Object],[object Object],[object Object],[object Object]
RPC IDL Interface definition program number Interface definition version 1 version 2
RPC IDL program GETNAME { version GET_VERS { long GET_ID(string<50>) = 1;   string GET_ADDR(long) = 2;   } = 1;  /* version */ } = 0x31223456; name.x
rpcgen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What goes on in the system: server ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What goes on in the system: client ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advantages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DCE RPC
DCE RPC ,[object Object],[object Object],[object Object]
DCE RPC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Unique IDs ,[object Object],[object Object],[object Object],[object Object],[object Object]
IDN compiler ,[object Object],[object Object]
Service lookup ,[object Object],[object Object],[object Object],[object Object],[object Object]
DCE service lookup client cell dir server Request service lookup from cell directory server Return server machine name service? server
DCE service lookup client cell dir server Connect to endpoint mapper service and get port binding from this local name server local dir server SERVER service? port dced
DCE service lookup client cell dir server Connect to service and request remote procedure execution local dir server SERVER RPC server dced
Marshaling ,[object Object],[object Object],[object Object],[object Object],[object Object]
Sun and  DCE RPC  deficiencies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The next generation of RPCs Support for object oriented languages
Microsoft DCOM
Microsoft  DCOM ,[object Object],[object Object],[object Object]
Activation on server ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Beneath  DCOM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Marshaling ,[object Object],[object Object]
MIDL ,[object Object],[object Object],[object Object],[object Object],[object Object],both are COM objects that are loaded by the COM libraries as needed
Remote reference lifetime ,[object Object],[object Object],[object Object]
Cleanup ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Microsoft  DCOM  improvements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CORBA
CORBA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CORBA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CORBA logical view object implementation client ORB Generated stub code Generated skeleton code
IDL ( Interface Definition Language ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IDL example Module StudentObject { struct StudentInfo {   string name; int id; float gpa; }; exception Unknown {}; interface Student { StudentInfo getinfo(in string name) raises(Unknown); void putinfo(in StudentInfo data); }; };
CORBA IDL ,[object Object],[object Object],[object Object]
Object Request Broker (ORB) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ORB functions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Objects ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interoperability ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IIOP ,[object Object],[object Object],[object Object],[object Object]
CORBA Services ( COS ) ,[object Object],[object Object],[object Object]
Popular services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Popular services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CORBA vendors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Assessment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java RMI
Java RMI ,[object Object],[object Object],[object Object],[object Object]
RMI components ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interoperability ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RMI similarities ,[object Object],[object Object],[object Object],[object Object],[object Object]
RMI differences ,[object Object],[object Object],[object Object]
New classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
New classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],needed for remote objects needed for parameters
Stubs ,[object Object],[object Object],[object Object]
Naming service ,[object Object],[object Object]
Server ,[object Object],Stuff obj = new Stuff(); Naming.bind(“MyStuff”, obj);
Client ,[object Object],[object Object],[object Object],[object Object],test.func(1, 2, “hi”); MyInterface test = (MyInterface)   Naming.lookup(“rmi://www.pk.org/MyStuff”);
Java RMI infrastructure client application registry stub skeleton remote interface remote object implementation bind lookup remote reference f(args) f(args) return/exc. return/exception marshal stream
RMI Distributed Garbage Collection ,[object Object],[object Object],[object Object],[object Object],[object Object]
The third generation of RPCs Web services and Riding the XML Bandwagon
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML RPC
Origins ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML-RPC example <methodCall> <methodName> sample.sumAndDifference </methodName> <params> <param><value><int>  5  </int></value></param> <param><value><int>  3  </int></value></param> </params> </methodCall>
XML-RPC data types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Assessment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SOAP
SOAP origins ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web Services and WSDL ,[object Object],[object Object],[object Object],[object Object]
WSDL Structure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL structure: port types <definitions  name=&quot;MobilePhoneService“ target=…> <portType name=&quot;MobilePhoneService_port&quot;> <operation name=&quot;getListOfModels&quot;> <operation name=&quot;getPrice&quot;> <Input message=&quot;PhoneModel&quot;/> <output message=&quot;PhoneModelPrice&quot;/> <output message=&quot;ListOfPhoneModels&quot;/> 2. service definition 1. type definitions 3. messaging spec
WSDL part 3: messaging spec <binding name=&quot;MobilePhoneService_Binding“ type=&quot;MobilePhoneService_port&quot;> <soap:binding  style=&quot;rpc“ transport=&quot;http://schemas.xmlsoap.org/soap/http“  />  <operation name=&quot; getPrice &quot;> <soap:operation soapAction=&quot; urn:MobilePhoneService &quot;/> <input> <soap:body encodingStyle= &quot;http://schemas.xmlsoap.org/soap/encoding/“ namespace=&quot;urn:MobilePhoneService&quot; use=&quot;encoded&quot;/>  </input> <output> <soap:body encodingStyle=   &quot;http://schemas.xmlsoap.org/soap/encoding/“ namespace=&quot;urn:MobilePhoneService&quot; use=&quot;encoded&quot; /> </output> </operation> </binding>
Microsoft .NET Remoting
Problems with COM/DCOM ,[object Object],[object Object],[object Object],[object Object],[object Object]
Microsoft .NET ,[object Object],[object Object],[object Object],[object Object],[object Object]
Components ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
New object runtime environment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Common Language Runtime ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Remoting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Remoting ,[object Object],[object Object],[object Object],[object Object]
Object Lifetime ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web functionality ,[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Web Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Web Services vs. SOAP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web Service invocation ASP.NET HTTP request Method/parameters Encoded in XML Process ASP Unmarshal msg Invoke procedure .NET object Method 1 Method  n Web Server
Web Service invocation ASP.NET HTTP request Method/parameters Encoded in XML Process ASP Unmarshal msg Return data Marshal return data Encoded response .NET object Method 1 Method  n Web Server
Away from RPC… More Web Services
Until 2006… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The future of SOAP? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AJAX ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AJAX & XMLHTTP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AJAX on the Web ,[object Object],[object Object],[object Object],[object Object],[object Object]
REST ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resource-oriented services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resource-oriented services ,[object Object],[object Object],[object Object],<?xml version=&quot;1.0&quot;?> <p:Parts xmlns:p=&quot;http://www.parts-depot.com&quot;  xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;> <Part id=&quot;00345&quot; xlink:href=&quot;http://www.parts-depot.com/parts/00345&quot;/> <Part id=&quot;00346&quot; xlink:href=&quot;http://www.parts-depot.com/parts/00346&quot;/> <Part id=&quot;00347&quot; xlink:href=&quot;http://www.parts-depot.com/parts/00347&quot;/> <Part id=&quot;00348&quot; xlink:href=&quot;http://www.parts-depot.com/parts/00348&quot;/> </p:Parts>
Resource-oriented services ,[object Object],[object Object],[object Object],?xml version=&quot;1.0&quot;?> <p:Part xmlns:p=&quot;http://www.parts-depot.com&quot;  xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;> <Part-ID>00345</Part-ID> <Name>Widget-A</Name> <Description>This part is used within the frap assembly</Description> <Specification xlink:href=&quot;http://www.parts-depot.com/parts/00345/specification&quot;/> <UnitCost currency=&quot;USD&quot;>0.10</UnitCost> <Quantity>10</Quantity> </p:Part>
REST vs. RPC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
REST-based Systems ,[object Object],[object Object],[object Object],[object Object],[object Object]
Summary
ONC RPC, DCE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Microsoft DCOM/ORPC ,[object Object],[object Object],[object Object],[object Object],[object Object]
Java RMI ,[object Object],[object Object],[object Object],[object Object],[object Object]
CORBA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML-RPC/SOAP/.NET ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AJAX, REST ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The end.

More Related Content

What's hot

Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
Sunita Sahu
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
nupurmakhija1211
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
Corba
CorbaCorba
cloud computing:Types of virtualization
cloud computing:Types of virtualizationcloud computing:Types of virtualization
cloud computing:Types of virtualization
Dr.Neeraj Kumar Pandey
 
web communication protocols in IoT
web communication protocols in IoTweb communication protocols in IoT
web communication protocols in IoT
FabMinds
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
Student
 
Three dimensional concepts - Computer Graphics
Three dimensional concepts - Computer GraphicsThree dimensional concepts - Computer Graphics
Three dimensional concepts - Computer Graphics
Kongunadu College of engineering and Technology, Namakkal
 
Z buffer
Z bufferZ buffer
Z buffer
AmitBiswas99
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
Sunita Sahu
 
Component object model and
Component object model andComponent object model and
Component object model andSaransh Garg
 
Grid computing & its applications
Grid computing & its applicationsGrid computing & its applications
Grid computing & its applications
Alokeparna Choudhury
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communicationAbDul ThaYyal
 
Sources of IoT (JNTUK - UNIT 1)
Sources of IoT (JNTUK - UNIT 1)Sources of IoT (JNTUK - UNIT 1)
Sources of IoT (JNTUK - UNIT 1)
FabMinds
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classesgopal10scs185
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)
Peter R. Egli
 
Corba introduction and simple example
Corba introduction and simple example Corba introduction and simple example
Corba introduction and simple example Alexia Wang
 
CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)
Sabahat Nowreen Shaik
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
Pratik Tambekar
 

What's hot (20)

Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Unit 5
Unit 5Unit 5
Unit 5
 
Corba
CorbaCorba
Corba
 
cloud computing:Types of virtualization
cloud computing:Types of virtualizationcloud computing:Types of virtualization
cloud computing:Types of virtualization
 
web communication protocols in IoT
web communication protocols in IoTweb communication protocols in IoT
web communication protocols in IoT
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Three dimensional concepts - Computer Graphics
Three dimensional concepts - Computer GraphicsThree dimensional concepts - Computer Graphics
Three dimensional concepts - Computer Graphics
 
Z buffer
Z bufferZ buffer
Z buffer
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Component object model and
Component object model andComponent object model and
Component object model and
 
Grid computing & its applications
Grid computing & its applicationsGrid computing & its applications
Grid computing & its applications
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communication
 
Sources of IoT (JNTUK - UNIT 1)
Sources of IoT (JNTUK - UNIT 1)Sources of IoT (JNTUK - UNIT 1)
Sources of IoT (JNTUK - UNIT 1)
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classes
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)
 
Corba introduction and simple example
Corba introduction and simple example Corba introduction and simple example
Corba introduction and simple example
 
CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
 

Viewers also liked

remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
VIKASH MAINANWAL
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure CallAbdelrahman Al-Ogail
 
Security
SecuritySecurity
An Overview of Distributed Debugging
An Overview of Distributed DebuggingAn Overview of Distributed Debugging
An Overview of Distributed Debugging
Anant Narayanan
 
Routing Technique Table Type by Umar danjuma maiwada.ppt
Routing Technique Table Type by Umar danjuma maiwada.pptRouting Technique Table Type by Umar danjuma maiwada.ppt
Routing Technique Table Type by Umar danjuma maiwada.ppt
umardanjumamaiwada
 
Zaharaddeen karami lawal distance vector routing
Zaharaddeen karami lawal distance vector routingZaharaddeen karami lawal distance vector routing
Zaharaddeen karami lawal distance vector routing
Klawal13
 
network filesystem briefs
network filesystem briefsnetwork filesystem briefs
network filesystem briefsbergwolf
 
Remote procedure calls
Remote procedure callsRemote procedure calls
Remote procedure calls
imnomus
 
Distributed computing environment
Distributed computing environmentDistributed computing environment
Distributed computing environment
Ravi Bhushan
 
Digital transmission new unit 3
Digital transmission new unit 3Digital transmission new unit 3
Digital transmission new unit 3
Srashti Vyas
 
Java rmi
Java rmiJava rmi
Java rmi
Tanmoy Barman
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
Peter R. Egli
 
Chap4
Chap4Chap4
RPC
RPCRPC
Transmission of digital signals
Transmission of digital signalsTransmission of digital signals
Transmission of digital signals
Sachin Artani
 
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
Channy Yun
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
Harshad Umredkar
 

Viewers also liked (20)

remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
 
Security
SecuritySecurity
Security
 
Dce rpc
Dce rpcDce rpc
Dce rpc
 
An Overview of Distributed Debugging
An Overview of Distributed DebuggingAn Overview of Distributed Debugging
An Overview of Distributed Debugging
 
Routing Technique Table Type by Umar danjuma maiwada.ppt
Routing Technique Table Type by Umar danjuma maiwada.pptRouting Technique Table Type by Umar danjuma maiwada.ppt
Routing Technique Table Type by Umar danjuma maiwada.ppt
 
Zaharaddeen karami lawal distance vector routing
Zaharaddeen karami lawal distance vector routingZaharaddeen karami lawal distance vector routing
Zaharaddeen karami lawal distance vector routing
 
network filesystem briefs
network filesystem briefsnetwork filesystem briefs
network filesystem briefs
 
Remote procedure calls
Remote procedure callsRemote procedure calls
Remote procedure calls
 
Distributed computing environment
Distributed computing environmentDistributed computing environment
Distributed computing environment
 
Digital transmission new unit 3
Digital transmission new unit 3Digital transmission new unit 3
Digital transmission new unit 3
 
Java rmi
Java rmiJava rmi
Java rmi
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
Chap4
Chap4Chap4
Chap4
 
Ch 04
Ch 04Ch 04
Ch 04
 
RPC
RPCRPC
RPC
 
Transmission of digital signals
Transmission of digital signalsTransmission of digital signals
Transmission of digital signals
 
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 

Similar to Rpc Case Studies (Distributed computing)

05 rpc-case studies
05 rpc-case studies05 rpc-case studies
05 rpc-case studieshushu
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
muthahar.sk
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptx
Kaviya452563
 
Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)Abdelrahman Al-Ogail
 
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
Dr Sandeep Kumar Poonia
 
Rpc (Distributed computing)
Rpc (Distributed computing)Rpc (Distributed computing)
Rpc (Distributed computing)Sri Prasanna
 
Corba and-java
Corba and-javaCorba and-java
Corba and-javaafreen58
 
UNIT V - The OMG way-system object model Notes.ppt
UNIT V - The OMG way-system object model Notes.pptUNIT V - The OMG way-system object model Notes.ppt
UNIT V - The OMG way-system object model Notes.ppt
AsmitSilhare1
 
What you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyondWhat you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyond
Jon Galloway
 
remote method invocation
remote method invocationremote method invocation
remote method invocationRavi Theja
 
Cloud Presentation.pdf
Cloud Presentation.pdfCloud Presentation.pdf
Cloud Presentation.pdf
MandanaHazeri
 
P2P .NET short seminar
P2P .NET short seminarP2P .NET short seminar
P2P .NET short seminar
Giuliana Carullo
 
Middleware1
Middleware1Middleware1
Middleware1bhumi109
 
Communication in Distributed System.ppt
Communication in Distributed System.pptCommunication in Distributed System.ppt
Communication in Distributed System.ppt
SELVAVINAYAGAMG
 
Presentation On Com Dcom
Presentation On Com DcomPresentation On Com Dcom
Presentation On Com Dcom
Bharat Kumar Katur
 
Communication Mechanisms, Past, Present & Future
Communication Mechanisms, Past, Present & FutureCommunication Mechanisms, Past, Present & Future
Communication Mechanisms, Past, Present & Future
Muhammad Ali
 

Similar to Rpc Case Studies (Distributed computing) (20)

05 rpc-case studies
05 rpc-case studies05 rpc-case studies
05 rpc-case studies
 
MIDELWARE TECH
MIDELWARE TECHMIDELWARE TECH
MIDELWARE TECH
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptx
 
Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)
 
Corba model ppt
Corba model pptCorba model ppt
Corba model ppt
 
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
 
Rpc (Distributed computing)
Rpc (Distributed computing)Rpc (Distributed computing)
Rpc (Distributed computing)
 
Corba and-java
Corba and-javaCorba and-java
Corba and-java
 
UNIT V - The OMG way-system object model Notes.ppt
UNIT V - The OMG way-system object model Notes.pptUNIT V - The OMG way-system object model Notes.ppt
UNIT V - The OMG way-system object model Notes.ppt
 
What you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyondWhat you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyond
 
Chapter 6-Remoting
Chapter 6-RemotingChapter 6-Remoting
Chapter 6-Remoting
 
remote method invocation
remote method invocationremote method invocation
remote method invocation
 
Cloud Presentation.pdf
Cloud Presentation.pdfCloud Presentation.pdf
Cloud Presentation.pdf
 
P2P .NET short seminar
P2P .NET short seminarP2P .NET short seminar
P2P .NET short seminar
 
Lecture9
Lecture9Lecture9
Lecture9
 
Middleware1
Middleware1Middleware1
Middleware1
 
Communication in Distributed System.ppt
Communication in Distributed System.pptCommunication in Distributed System.ppt
Communication in Distributed System.ppt
 
Presentation On Com Dcom
Presentation On Com DcomPresentation On Com Dcom
Presentation On Com Dcom
 
Communication Mechanisms, Past, Present & Future
Communication Mechanisms, Past, Present & FutureCommunication Mechanisms, Past, Present & Future
Communication Mechanisms, Past, Present & Future
 
soap toolkit
soap toolkitsoap toolkit
soap toolkit
 

More from Sri Prasanna

Qr codes para tech radar
Qr codes para tech radarQr codes para tech radar
Qr codes para tech radarSri Prasanna
 
Qr codes para tech radar 2
Qr codes para tech radar 2Qr codes para tech radar 2
Qr codes para tech radar 2Sri Prasanna
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systemsSri Prasanna
 
Introduction & Parellelization on large scale clusters
Introduction & Parellelization on large scale clustersIntroduction & Parellelization on large scale clusters
Introduction & Parellelization on large scale clustersSri Prasanna
 
Mapreduce: Theory and implementation
Mapreduce: Theory and implementationMapreduce: Theory and implementation
Mapreduce: Theory and implementationSri Prasanna
 
Other distributed systems
Other distributed systemsOther distributed systems
Other distributed systemsSri Prasanna
 

More from Sri Prasanna (20)

Qr codes para tech radar
Qr codes para tech radarQr codes para tech radar
Qr codes para tech radar
 
Qr codes para tech radar 2
Qr codes para tech radar 2Qr codes para tech radar 2
Qr codes para tech radar 2
 
Test
TestTest
Test
 
Test
TestTest
Test
 
assds
assdsassds
assds
 
assds
assdsassds
assds
 
asdsa
asdsaasdsa
asdsa
 
dsd
dsddsd
dsd
 
About stacks
About stacksAbout stacks
About stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About StacksAbout Stacks
About Stacks
 
About Stacks
About StacksAbout Stacks
About Stacks
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systems
 
Introduction & Parellelization on large scale clusters
Introduction & Parellelization on large scale clustersIntroduction & Parellelization on large scale clusters
Introduction & Parellelization on large scale clusters
 
Mapreduce: Theory and implementation
Mapreduce: Theory and implementationMapreduce: Theory and implementation
Mapreduce: Theory and implementation
 
Other distributed systems
Other distributed systemsOther distributed systems
Other distributed systems
 

Recently uploaded

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Rpc Case Studies (Distributed computing)

  • 1. RPC Case Studies Paul Krzyzanowski [email_address] [email_address] Distributed Systems Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
  • 2. Overview of RPC Systems Sun RPC DCE RPC DCOM CORBA Java RMI XML RPC, SOAP/.NET, AJAX, REST
  • 4.
  • 5. RPC IDL Interface definition program number Interface definition version 1 version 2
  • 6. RPC IDL program GETNAME { version GET_VERS { long GET_ID(string<50>) = 1; string GET_ADDR(long) = 2; } = 1; /* version */ } = 0x31223456; name.x
  • 7.
  • 8.
  • 9.
  • 10.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. DCE service lookup client cell dir server Request service lookup from cell directory server Return server machine name service? server
  • 18. DCE service lookup client cell dir server Connect to endpoint mapper service and get port binding from this local name server local dir server SERVER service? port dced
  • 19. DCE service lookup client cell dir server Connect to service and request remote procedure execution local dir server SERVER RPC server dced
  • 20.
  • 21.
  • 22. The next generation of RPCs Support for object oriented languages
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. CORBA
  • 33.
  • 34.
  • 35. CORBA logical view object implementation client ORB Generated stub code Generated skeleton code
  • 36.
  • 37. IDL example Module StudentObject { struct StudentInfo { string name; int id; float gpa; }; exception Unknown {}; interface Student { StudentInfo getinfo(in string name) raises(Unknown); void putinfo(in StudentInfo data); }; };
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. Java RMI infrastructure client application registry stub skeleton remote interface remote object implementation bind lookup remote reference f(args) f(args) return/exc. return/exception marshal stream
  • 62.
  • 63. The third generation of RPCs Web services and Riding the XML Bandwagon
  • 64.
  • 66.
  • 67. XML-RPC example <methodCall> <methodName> sample.sumAndDifference </methodName> <params> <param><value><int> 5 </int></value></param> <param><value><int> 3 </int></value></param> </params> </methodCall>
  • 68.
  • 69.
  • 70. SOAP
  • 71.
  • 72.
  • 73.
  • 74. WSDL structure: port types <definitions name=&quot;MobilePhoneService“ target=…> <portType name=&quot;MobilePhoneService_port&quot;> <operation name=&quot;getListOfModels&quot;> <operation name=&quot;getPrice&quot;> <Input message=&quot;PhoneModel&quot;/> <output message=&quot;PhoneModelPrice&quot;/> <output message=&quot;ListOfPhoneModels&quot;/> 2. service definition 1. type definitions 3. messaging spec
  • 75. WSDL part 3: messaging spec <binding name=&quot;MobilePhoneService_Binding“ type=&quot;MobilePhoneService_port&quot;> <soap:binding style=&quot;rpc“ transport=&quot;http://schemas.xmlsoap.org/soap/http“ /> <operation name=&quot; getPrice &quot;> <soap:operation soapAction=&quot; urn:MobilePhoneService &quot;/> <input> <soap:body encodingStyle= &quot;http://schemas.xmlsoap.org/soap/encoding/“ namespace=&quot;urn:MobilePhoneService&quot; use=&quot;encoded&quot;/> </input> <output> <soap:body encodingStyle= &quot;http://schemas.xmlsoap.org/soap/encoding/“ namespace=&quot;urn:MobilePhoneService&quot; use=&quot;encoded&quot; /> </output> </operation> </binding>
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88. Web Service invocation ASP.NET HTTP request Method/parameters Encoded in XML Process ASP Unmarshal msg Invoke procedure .NET object Method 1 Method n Web Server
  • 89. Web Service invocation ASP.NET HTTP request Method/parameters Encoded in XML Process ASP Unmarshal msg Return data Marshal return data Encoded response .NET object Method 1 Method n Web Server
  • 90. Away from RPC… More Web Services
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.