Web Service Contract Design and Versioning for SOA