I'm not expert but I really think those are the main advantages. Just think how much better it is that someone can write a Client in C++ Or Perl to use a service put on the network or internet in Java rather than having to have java on their machine and know how to program in it. The same goes for a service out there written in C# that you might want to use. You can write a client for it without having to have a C# compiler or knowing C#. You just have to have Java or Perl or something else. PL
"The goal of the virtual machine is to provide for code portability, while in SOA, interoperability is far more important," he said. "Why go through all that trouble to build portable code, when in SOA, you want to leave the code where it is? Fundamentally, the virtual machine approach to distributed computing is through the serialization of objects leading to remote method invocation, while SOA runs on the exchange of messages between services with contracted interfaces."
William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.
Interoperabilty at the machine level refers to operating systems. For example, an application hosted on a Windows OS machine can connect and communicate with an application hosted on a UNIX-based Solaris OS machine via web service. The applications can be written in the same programming language or they can be written in a different programming language.