Microservices Integration Done Right Using Contract-Driven Development