Thrift was donated to the open-source community by Facebook.
Thrift provides a very simple API descriptor file that can be used to generate client/server stubs in a variety of languages.
Writing XML interfaces for data exchange is pretty heavy with a lot of processing and bandwidth.
One solution I was using for interfacing between Java/PHP applications was an implementation of native PHP serialized format in Java. I could use reflection to generate PHP stubs.
I wasn't too wild about using Java rmi, and discovered thrift, which was a perfect fit. I now have a variety of thrift based servers that I can access from multiple runtime environments.