miniRMI is a free opensource library that serves as a lightweight replacement for
the original java.rmi  packages, which have the following
painful limitations for applets:
- RMI packages are missing in Microsoft Internet Explorer (MSIE),
because of "political" reasons. Microsoft even provides a RMI patch ,
but installation requires administrator privileges on Windows machines and most users are not
willing to do such thing.
- Encryption (like SSL) cannot be used with java.rmi without signing
the code, which forces the developer buying a certificate, and requires special coding
for Netscape Navigator (NN) - not counting in "Java Plugin" and other browsers specialities.
Benefits of using miniRMI
- miniRMI is easy to use - only cosmetic changes are required to the existing RMI code.
- No installation on client/browser side necessary - unlike the official patches
(, ), miniRMI works seeminglessly with any
browser supporting Java 1.1 (like NN 4.05+ or MSIE 4+) or higher (like Netscape 6.x or Mozilla
with Java Plug-in).
- In contrast to other solutions (Corba, SOAP, XML-RPC etc.), miniRMI is an ultrathin library
- miniRMI_client.jar has only 18 kB!
- SSL encryption can be used without applet signing - internal browser https protocol
provider is used (without any proprietary coding). Applications can use JSSE 
(integrated into JDK 1.4+) or similar library.
- miniRMI calls can share the same session with servlets - ideal for combining applets and
servlets - see miniRMI connector for ActionServlet .
- miniRMI works through firewals and uses the browser's proxy settings automatically.
- miniRMI can prevent tampering of remote object IDs and therefore can protect the client
from pretending to be someone else (no cryptographic libraries are needed on client).
- miniRMI calls can be intercepted by overriding
- Custom replacement of objects sent in miniRMI response is possible in replaceObject()
method (useful to handle problems with Java versions).
- Although miniRMI mimics java.rmi, it is not a full 1:1 implementation.
- miniRMI sends data over http/https - this is slower than using direct socket
connections (not possible for Internet applications, where proxies are used, anyway).
- Callbacks are not supported because of the HTTP nature - use the polling technique as a workaround (see examples/bbsdemo).
[this may be solved by implementing HTTP streaming in future versions]
*JBuilder 4+ is also needed if you want to use minirmic in JBuilder
(installation: copy 'lib\miniRMIC.jar' to JBuilder's 'lib\ext' directory and restart JBuilder)
**or any servlet container compatible with Servlet specification 2.2/2.3
-  RMI Tutorial
-  RMI Documentation
-  RMI over IIOP
-  The Scoop on RMI and SSL
-  Microsoft RMI patch
-  IBM RMI patch
-  Java Secure Socket Extension (JSSE)
-  miniRMI Connector for ActionServlet