Service interfaces must be allowed to evolve over time. This is natural, since the organization's needs change over time, and service interfaces reflect that to a degree.
How can we accomplish this? One way is to use a pattern that is sometimes called TolerantReader. This simply means that the consumer of a service should ignore data that it doesn't recognize.
This is a method that lends itself well to REST implementations.
Simple Object Access Protocol (SOAP), which is an XML schema-based method to define services, is more rigorous. With SOAP, you normally don't change existing interfaces. Interfaces are seen as contracts that should be constant. Instead of changing the interface, you define a new schema version. Existing consumers either have to implement the new protocol and then deploy it again, or the producer...