Modern distributed systems often allow independent development of their components. Successful evolution of such systems depends on the flexibility of component interfaces. This paper puts forward a framework for defining and implementing interfaces that can independently evolve while preserving backward and forward compatibility. This framework is based on the SOAP data model and remote procedure call representation. KEYWORDS Distributed system; SOAP; Procedure; Interface; Evolution.