1. Ensure service contract stability to minimize the impact on service users. The contract here refers to public data representation (data), message exchange mode (WSDL), configurable features and service level (policy ).
2. contract design should be as clear as possible to minimize misunderstandings. In addition, the scalability of the XML syntax and soap processing model should be used to enable the contract to adapt to future service version updates.
3. avoid confusing the line between Public Data Representation and private data representation. Users should not see the internal data format of the service, but their public data architecture should not be changed (preferably based on Organization standards, fact standards or industry standards ).
4. When it is inevitable to change the service contract, you must control the version of the service. This method minimizes the impact on existing users.
A service contract consists of the following elements:
1. Use the message exchange format defined in the "XML architecture.
2. Use the message exchange mode (MEP) defined in WSDL ).
3. Use the features and requirements defined by WS-policy.
4. BPEL can be used as a business process-level contract to aggregate multiple services.