Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services