To RMI or Not to RMI

Question:
We are now developing a Java-based remote monitoring systemapplication for our SCSI RAID subsystem products. This application canenable our customers to monitor the status, and change theconfiguration, of the SCSI RAID device being monitored. We are usingC++ for the SCSI programming part and we are using JNI to interfacewith the rest of the server side of our application. Should we use RMIfor the networking needs of the client and the server, or should wejust use simple socket-based networking?

Answer:
RMI has the advantage of being relatively powerful and easy toprogram. Remote objects look like local objects and networkcommunication happens transparently when their methods are invoked.

However, RMI also has the disadvantage of being relatively slow and not veryfault-tolerant. Remote methods are synchronous, which canfreeze applications when the network is down. That makes RMIunsuitable for applications that need to abort communicationwhen stalled.

Although this deficiency can be worked around with the use of threads, it does not possess the flexibility of using sockets withtimeouts and non-blocking I/O. Then again, non-blocking I/O is not possible withJava, so this has little bearing.

RMI is more suitable for use in the configuration part of your clientapplication because configuration utilities are not fault-sensitiveand have little need for optimized network communication. Themonitoring part of your application is very likely unsuitable for usewith RMI if it is a constantly running monitoring system that requiressome level of real-time information delivery. Using a custom protocolover sockets will yield better results. However, if the monitoringis only single snapshot monitoring, where a user observes the statusof the device only occasionally, then RMI is a good implementationapproach.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS

homes in the real estate industry

Exploring the Latest Tech Trends Impacting the Real Estate Industry

The real estate industry is changing thanks to the newest technological advancements. These new developments — from blockchain and AI to virtual reality and 3D printing — are poised to change how we buy and sell homes. Real estate brokers, buyers, sellers, wholesale real estate professionals, fix and flippers, and beyond may