The software industry goes through cycles, in just the same way as other industries. Back in the early 1980's we were working on defining distributed systems, with work on RPC, stub generators, naming services, transactions, security etc. A lot of work was done by vendors and academia, and interoperability or portability were not considered important.
Then in the 1990's we started to look at interoperability through CORBA (portability was still mostly a nice-to-have until the end of the century). When Java and J2EE came on the scene portability took centre stage and interoperability (between heterogeneous implementations) dropped away, unless you wanted to embed a CORBA ORB in your application server. Now we're into the Web Services age and interoperability is king and portability is nothing to do with Web Services specifications or standards bodies: that's the domain of implementation and other organizations such as JCP. It can often be a strange and inefficient approach: at least with CORBA you (eventually) got interoperability between different implementations and languages along with portability in the same package. With Web Services, you get interoperability out-of-the-box as soon as you implement (assuming you conform to the specifications and understand what they say, or don't say); but portability may not come for months or years!