SlideShare a Scribd company logo
1 of 30
Download to read offline
Introduction to Remote
Method Invocation (RMI)
Chris Matthews
eLink Business Innovations, Inc
Notices
• The following terms are copyrights or trademarks in US
and/or other countries.
- Java
- Sun Microsystems
Introduction to Java RMI
• What is Java RMI ?
• Features of Java RMI ?
• Who would use Java RMI ?
• How do I use Java RMI ?
• Additional Resources .
• Questions ?
What is Java RMI ?
• Java Remote Method Invocation (RMI) is a
distributive system programming interface
introduced in JDK 1.1
Features of Java RMI
• Object Parameter Passing via Serialization
• Built in Security Model
• Platform Independence (Write Once Run Anywhere 100%
Pure Java)
• Client/Server architecture
• Support included in JDK with no external dependencies
• Transport layer is TCP/IP based
Features of Java RMI (continued)
• Distributive Garbage Collector
• Legacy connection can be supported via Corba IIOP,
Java Native Interface (JNI), JDBC, J2EE Services like
(JNDI, JMS) or JDO.
Who Would Use Java RMI ?
• Anyone wanting to use the benefits of Java to do
distributive computing development on the network
– Developers wanting to externalize their local classes to
network computing environment
– Developers writing distributive computing applications
or parallel processing applications
– Server developers wanting better interactivity clients
and/or other servers, like EJBs.
How Do I Use Java RMI ?
• The Java RMI architecture
• Components of Java RMI
• Java Interfaces and how they relate to RMI
• RMI and Java Serialization
• Building an RMI Sample Client/Server Application
• Distributive garbage collection
Architecture Overview
RMI Layers
• Stubs/Skeleton Interface
• Remote Reference Layer (RRL)
• Java Remote Method Protocol (JRMP)
• Transport Layer (TCP/IP)
Java Interfaces
• Interfaces are native to the Java Language
• Interfaces allow externalization of methods without
exposing the code
• Java RMI utilizes interfaces for exposing distributed
methods to clients
Serialization of Objects
• Serialization is part of the Java Language
• RMI uses the power of serialization pass objects by value.
It “flattens” the object into a byte stream to transmit
between the client/server.
• Local objects passed as parameters or returned from
methods are done by copy and not by reference.
Serialization of Objects (continued)
• Remote objects are passed by reference and the remote
reference layer manages the liveliness of the objects
Create a RMI Application
• How do I build an application ?
Relationship of Layers
Interface Definitions
• Defining the remote interface
• Managing exceptions on the interface
• See LoanCalc.java for interface definitions.
Interface Implementation
• Adding the implementation code to support the remote
interface
• Extend the UnicastRemoteObject class
• Managing remote exceptions
• See LoanCalcImpl.java for interface implementation
Stubs & Skeleton Generation
• Use the rmic compiler to compile and generate the stubs &
skeletons form LoanCalcImpl.java
• See LoanCalcImpl_Stub.class and
LoanCalcImpl_Skel.class as generated files
• Use the –keepgenerated flag on the rmic compiler to
generate the .java files LoanCalcImpl_Stub.java and
LoanCalcImpl_Skel.java
Creating the Server
• Extending the RMI Interface
• Registering a security manager for the server
• Creating an instance of the RMI registry
• Binding a name to a remote object for registry lookup by
the client.
• See CalcServer.java for more details.
Creating The Client
• Registering a Security Manager
– Applications require registration of a security manager
– Applets have build in security registration via the
browser or applet viewer.
• Name lookup of remote object
• Execute routines on the remote server using defined
externalized interfaces
• See CalcClient.java for the client code
Building the RMI Sample
• Compile interface implementation class
– javac LoanCalcImpl.java
• Create stubs/skeletons using the implementation
class
– rmic LoanCalcImpl.java
• Compile client and server classes
– javac CalcClient.java
– javac CalcServer.java
Starting the RMI Sample
• Starting the registry
• Starting the server
• Starting the client
RMI Registry
• RMI Registry provides name lookup for clients to resolve
the server’s remote objects
• Two ways to start the RMI Registry
– Command Line
• rmiregistry (optional port:Default is 1099)
– Dynamically with static method
• LocateRegistry.createRegistry( port )
Starting the Server
• Starts the RMI Server
– java CalcServer
Starting the Client
• Start the client, passing it the URL name of the server
along with the remote object to reference
– java CalcClient //www.server.com/objectname
Distributive Garbage Collector
• RMI runtime garbage collector manages liveliness of the
remote object. When the object becomes “out of scope”
the server’s distributive garbage collector flags the object.
RMI Conclusion
• It is simple to develop distributive computing applications
• RMI is designed to be a natural interface for writing
distributive computing applications in Java using existing
features of the language
• It is a cross platform solution for distributive computing
development
Advanced Topics on RMI
• Externalization of Objects without a registry
• Closed vs. Open RMI systems
• Security in RMI
• Distributive Garbage Collector in Detail
• RMI Transaction Log
• IIOP instead of JRMP for RMI Protocol
• Persistent References
• Other RMI Enhancements
Additional References
• RMI – Javasoft
– http://www.javasoft.com
• Orielly - Java Network Programming,
– ISBN 1-56592-227-1
• RMI/IIOP JavaWorld
– http://www.javaworld.com
• IIOP – Object Management Group (OMG) CORBA
– http://www.omg.org
Questions ?

More Related Content

What's hot (20)

Java RMI Detailed Tutorial
Java RMI Detailed TutorialJava RMI Detailed Tutorial
Java RMI Detailed Tutorial
 
Rmi presentation
Rmi presentationRmi presentation
Rmi presentation
 
Rmi ppt
Rmi pptRmi ppt
Rmi ppt
 
RMI
RMIRMI
RMI
 
Java RMI Presentation
Java RMI PresentationJava RMI Presentation
Java RMI Presentation
 
Java rmi tutorial
Java rmi tutorialJava rmi tutorial
Java rmi tutorial
 
Java rmi
Java rmiJava rmi
Java rmi
 
Rmi
RmiRmi
Rmi
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and models
 
Rmi architecture
Rmi architectureRmi architecture
Rmi architecture
 
Remote Method Innovation (RMI) In JAVA
Remote Method Innovation (RMI) In JAVARemote Method Innovation (RMI) In JAVA
Remote Method Innovation (RMI) In JAVA
 
Remote Method Invocation in JAVA
Remote Method Invocation in JAVARemote Method Invocation in JAVA
Remote Method Invocation in JAVA
 
Introduction To Rmi
Introduction To RmiIntroduction To Rmi
Introduction To Rmi
 
A Short Java RMI Tutorial
A Short Java RMI TutorialA Short Java RMI Tutorial
A Short Java RMI Tutorial
 
Rmi ppt-2003
Rmi ppt-2003Rmi ppt-2003
Rmi ppt-2003
 
Remote method invocation
Remote method invocationRemote method invocation
Remote method invocation
 
Distributed Programming using RMI
Distributed Programming using RMIDistributed Programming using RMI
Distributed Programming using RMI
 
Java RMI(Remote Method Invocation)
Java RMI(Remote Method Invocation)Java RMI(Remote Method Invocation)
Java RMI(Remote Method Invocation)
 
Java rmi
Java rmiJava rmi
Java rmi
 
Rmi
RmiRmi
Rmi
 

Similar to Introduction to Remote Method Invocation (RMI)

Similar to Introduction to Remote Method Invocation (RMI) (20)

DS
DSDS
DS
 
Remote Method Invocation, Advanced programming
Remote Method Invocation, Advanced programmingRemote Method Invocation, Advanced programming
Remote Method Invocation, Advanced programming
 
Remote method invocatiom
Remote method invocatiomRemote method invocatiom
Remote method invocatiom
 
Rmi
RmiRmi
Rmi
 
Distributed Programming using RMI
 Distributed Programming using RMI Distributed Programming using RMI
Distributed Programming using RMI
 
Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01Javarmi 130925082348-phpapp01
Javarmi 130925082348-phpapp01
 
Rmi
RmiRmi
Rmi
 
17rmi
17rmi17rmi
17rmi
 
Rmi
RmiRmi
Rmi
 
Java RMI
Java RMIJava RMI
Java RMI
 
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
 
Java Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,CoimbatoreJava Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,Coimbatore
 
Oracle docs rmi applications
Oracle docs rmi applicationsOracle docs rmi applications
Oracle docs rmi applications
 
13243967
1324396713243967
13243967
 
Rmi
RmiRmi
Rmi
 
Rmi
RmiRmi
Rmi
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method Invocation
 
Module 3 remote method invocation-2
Module 3   remote method  invocation-2Module 3   remote method  invocation-2
Module 3 remote method invocation-2
 
Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptx
 

Recently uploaded

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Introduction to Remote Method Invocation (RMI)

  • 1. Introduction to Remote Method Invocation (RMI) Chris Matthews eLink Business Innovations, Inc
  • 2. Notices • The following terms are copyrights or trademarks in US and/or other countries. - Java - Sun Microsystems
  • 3. Introduction to Java RMI • What is Java RMI ? • Features of Java RMI ? • Who would use Java RMI ? • How do I use Java RMI ? • Additional Resources . • Questions ?
  • 4. What is Java RMI ? • Java Remote Method Invocation (RMI) is a distributive system programming interface introduced in JDK 1.1
  • 5. Features of Java RMI • Object Parameter Passing via Serialization • Built in Security Model • Platform Independence (Write Once Run Anywhere 100% Pure Java) • Client/Server architecture • Support included in JDK with no external dependencies • Transport layer is TCP/IP based
  • 6. Features of Java RMI (continued) • Distributive Garbage Collector • Legacy connection can be supported via Corba IIOP, Java Native Interface (JNI), JDBC, J2EE Services like (JNDI, JMS) or JDO.
  • 7. Who Would Use Java RMI ? • Anyone wanting to use the benefits of Java to do distributive computing development on the network – Developers wanting to externalize their local classes to network computing environment – Developers writing distributive computing applications or parallel processing applications – Server developers wanting better interactivity clients and/or other servers, like EJBs.
  • 8. How Do I Use Java RMI ? • The Java RMI architecture • Components of Java RMI • Java Interfaces and how they relate to RMI • RMI and Java Serialization • Building an RMI Sample Client/Server Application • Distributive garbage collection
  • 10. RMI Layers • Stubs/Skeleton Interface • Remote Reference Layer (RRL) • Java Remote Method Protocol (JRMP) • Transport Layer (TCP/IP)
  • 11. Java Interfaces • Interfaces are native to the Java Language • Interfaces allow externalization of methods without exposing the code • Java RMI utilizes interfaces for exposing distributed methods to clients
  • 12. Serialization of Objects • Serialization is part of the Java Language • RMI uses the power of serialization pass objects by value. It “flattens” the object into a byte stream to transmit between the client/server. • Local objects passed as parameters or returned from methods are done by copy and not by reference.
  • 13. Serialization of Objects (continued) • Remote objects are passed by reference and the remote reference layer manages the liveliness of the objects
  • 14. Create a RMI Application • How do I build an application ?
  • 16. Interface Definitions • Defining the remote interface • Managing exceptions on the interface • See LoanCalc.java for interface definitions.
  • 17. Interface Implementation • Adding the implementation code to support the remote interface • Extend the UnicastRemoteObject class • Managing remote exceptions • See LoanCalcImpl.java for interface implementation
  • 18. Stubs & Skeleton Generation • Use the rmic compiler to compile and generate the stubs & skeletons form LoanCalcImpl.java • See LoanCalcImpl_Stub.class and LoanCalcImpl_Skel.class as generated files • Use the –keepgenerated flag on the rmic compiler to generate the .java files LoanCalcImpl_Stub.java and LoanCalcImpl_Skel.java
  • 19. Creating the Server • Extending the RMI Interface • Registering a security manager for the server • Creating an instance of the RMI registry • Binding a name to a remote object for registry lookup by the client. • See CalcServer.java for more details.
  • 20. Creating The Client • Registering a Security Manager – Applications require registration of a security manager – Applets have build in security registration via the browser or applet viewer. • Name lookup of remote object • Execute routines on the remote server using defined externalized interfaces • See CalcClient.java for the client code
  • 21. Building the RMI Sample • Compile interface implementation class – javac LoanCalcImpl.java • Create stubs/skeletons using the implementation class – rmic LoanCalcImpl.java • Compile client and server classes – javac CalcClient.java – javac CalcServer.java
  • 22. Starting the RMI Sample • Starting the registry • Starting the server • Starting the client
  • 23. RMI Registry • RMI Registry provides name lookup for clients to resolve the server’s remote objects • Two ways to start the RMI Registry – Command Line • rmiregistry (optional port:Default is 1099) – Dynamically with static method • LocateRegistry.createRegistry( port )
  • 24. Starting the Server • Starts the RMI Server – java CalcServer
  • 25. Starting the Client • Start the client, passing it the URL name of the server along with the remote object to reference – java CalcClient //www.server.com/objectname
  • 26. Distributive Garbage Collector • RMI runtime garbage collector manages liveliness of the remote object. When the object becomes “out of scope” the server’s distributive garbage collector flags the object.
  • 27. RMI Conclusion • It is simple to develop distributive computing applications • RMI is designed to be a natural interface for writing distributive computing applications in Java using existing features of the language • It is a cross platform solution for distributive computing development
  • 28. Advanced Topics on RMI • Externalization of Objects without a registry • Closed vs. Open RMI systems • Security in RMI • Distributive Garbage Collector in Detail • RMI Transaction Log • IIOP instead of JRMP for RMI Protocol • Persistent References • Other RMI Enhancements
  • 29. Additional References • RMI – Javasoft – http://www.javasoft.com • Orielly - Java Network Programming, – ISBN 1-56592-227-1 • RMI/IIOP JavaWorld – http://www.javaworld.com • IIOP – Object Management Group (OMG) CORBA – http://www.omg.org