An Integrated Approach to Design, Analyze and Validate REST Web Services and their Compositions