I have a very simple question.
Is there any advantage to use SOAP as a communication layer between
two Java applications (client and server) compared to RMI?
Imagine the following situation.
I have an EJB deployed on JBOSS.
I have a Java client (standalone application or Web servlet) running on a different JVM that has to communicate with the EJB.
What would be the benefits (if any) of using SOAP/HTTP protocol instead of the standard RMI protocol when only Java applications are involved ?
Has RMI any drawbacks compared to SOAP, apart the fact that SOAP allows applications developed in different languages to communicate?
Can anybody bring some lights about these questions.
Thank you very much.
If you are 100% confident that all your components will continue to be implemented in java, use RMI.
In future when SOAP stacks are more advanced switching to SOAP could buy you ability to pick and choose third party tools for orchestration, load balancing, auditing, caching, firewalling, etc (plus ability to replace any endpoint with different platform).
Some of those tools are already available for SOAP, but if you start using SOAP today you will need to fight the problem of immature specifications and clunky implementations.