Can you explain the differences, and pros and cons, between SOAP, RMI and IIOP?
Definitions follow this summary. If you like CORBA and Java, then you'll love RMI and IIOP, especially in combination. But if you actually want your systems to be interoperable outside of this domain, then you should jump on Web Services, which is a combination of XML, SOAP, UDDI, WSDL. Because XML and SOAP are intrinsically system independent, they will offer the best price/performance over time, since vendors in all camps will rush to support them.
SOAP - Simple Object Access Protocol - Is an XML specification for synchronous and asynchronous transaction processing over the Web (https://www.w3.org/TR/SOAP/). It has many related sub-topics, including discovery (UDDI) and service definition (WSDL).
RMI (Remote Method Invocation (https://www.theserverside.com/definition/Remote-Method-Invocation-RMI) is a way that a programmer, using the Java programming language and development environment, can write object-oriented programming in which objects on different computers can interact in a distributed network.
IIOP Internet Inter-orb Protocol - Is CORBA for the Web. (http://java.sun.com/products/rmi-iiop/). Remote Method Invocation (RMI) over Internet Inter-Orb Protocol (IIOP) delivers Common Object Request Broker Architecture (CORBA) distributed computing capabilities to the Java 2 platform. RMI over IIOP was developed by Sun and IBM. The joint work by Sun and IBM to implement Object Management Group (OMG) standards demonstrates the spirit of collaboration that continually moves the Java platform forward.
Editor's note: EAI expert David Linthicum has also answered this question. Click here to view.