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

Contenu connexe

Tendances (20)

Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
CS9222 Advanced Operating System
CS9222 Advanced Operating SystemCS9222 Advanced Operating System
CS9222 Advanced Operating System
 
Machine learning Lecture 2
Machine learning Lecture 2Machine learning Lecture 2
Machine learning Lecture 2
 
On demand provisioning
On demand provisioningOn demand provisioning
On demand provisioning
 
Unit 4
Unit 4Unit 4
Unit 4
 
Publish subscribe model overview
Publish subscribe model overviewPublish subscribe model overview
Publish subscribe model overview
 
3.2 partitioning methods
3.2 partitioning methods3.2 partitioning methods
3.2 partitioning methods
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)
 
Clique
Clique Clique
Clique
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Thread scheduling in Operating Systems
Thread scheduling in Operating SystemsThread scheduling in Operating Systems
Thread scheduling in Operating Systems
 
Google App Engine ppt
Google App Engine  pptGoogle App Engine  ppt
Google App Engine ppt
 
Code generation
Code generationCode generation
Code generation
 
Compiler Design Unit 4
Compiler Design Unit 4Compiler Design Unit 4
Compiler Design Unit 4
 
Process Management-Process Migration
Process Management-Process MigrationProcess Management-Process Migration
Process Management-Process Migration
 
Artificial Intelligence -- Search Algorithms
Artificial Intelligence-- Search Algorithms Artificial Intelligence-- Search Algorithms
Artificial Intelligence -- Search Algorithms
 
Osi reference model
Osi reference modelOsi reference model
Osi reference model
 
Task programming
Task programmingTask programming
Task programming
 

En vedette

remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure CallAbdelrahman Al-Ogail
 
An Overview of Distributed Debugging
An Overview of Distributed DebuggingAn Overview of Distributed Debugging
An Overview of Distributed DebuggingAnant 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.pptumardanjumamaiwada
 
Zaharaddeen karami lawal distance vector routing
Zaharaddeen karami lawal distance vector routingZaharaddeen karami lawal distance vector routing
Zaharaddeen karami lawal distance vector routingKlawal13
 
network filesystem briefs
network filesystem briefsnetwork filesystem briefs
network filesystem briefsbergwolf
 
Remote procedure calls
Remote procedure callsRemote procedure calls
Remote procedure callsimnomus
 
Distributed computing environment
Distributed computing environmentDistributed computing environment
Distributed computing environmentRavi Bhushan
 
Digital transmission new unit 3
Digital transmission new unit 3Digital transmission new unit 3
Digital transmission new unit 3Srashti Vyas
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBAPeter R. Egli
 
Transmission of digital signals
Transmission of digital signalsTransmission of digital signals
Transmission of digital signalsSachin 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 modelHarshad Umredkar
 

En vedette (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
 

Similaire à Rpc Case Studies (Distributed computing)

05 rpc-case studies
05 rpc-case studies05 rpc-case studies
05 rpc-case studieshushu
 
Distributing computing.pptx
Distributing computing.pptxDistributing computing.pptx
Distributing computing.pptxKaviya452563
 
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
 
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.pptAsmitSilhare1
 
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 beyondJon Galloway
 
remote method invocation
remote method invocationremote method invocation
remote method invocationRavi Theja
 
Cloud Presentation.pdf
Cloud Presentation.pdfCloud Presentation.pdf
Cloud Presentation.pdfMandanaHazeri
 
Middleware1
Middleware1Middleware1
Middleware1bhumi109
 
Communication in Distributed System.ppt
Communication in Distributed System.pptCommunication in Distributed System.ppt
Communication in Distributed System.pptSELVAVINAYAGAMG
 
CORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBACORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBAPriyanka Patil
 
Communication Mechanisms, Past, Present & Future
Communication Mechanisms, Past, Present & FutureCommunication Mechanisms, Past, Present & Future
Communication Mechanisms, Past, Present & FutureMuhammad Ali
 

Similaire à 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
 
CORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBACORBA Basic and Deployment of CORBA
CORBA Basic and Deployment of CORBA
 
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
 

Plus de Sri Prasanna

Plus de 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
 

Dernier

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
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 Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
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 Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

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.