Distributed Applications and Interoperable Systems