Here I describe the reasons for contract-first design.
Why contract-first design?
There has to be a standardized and decoupled contract of a service. In order to avoid an auto-generation of a contract, it has to be defined in advanced of the development of the service logic. The underlying logic is coupled to the contract (logic-to-contract coupling) and can optimize performance and reliability.
traditional:
- using a component as the basis of the Web service
- auto-generate the contract from the component’s interface
service oriented development process:
- design the Web service contract
- import the contract in the development environment
- build the underlying solution logic