El paradigma de Computación Orientada a Servicios (SOC), promueve el desarrollo de aplicaciones distribuidas en ambientes heterogéneos, que son construidas ensamblando o componiendo servicios reusables, que se publican a través de una red y se acceden mediante protocolos específicos. SOC ha sido ampliamente adoptado con la tecnología de Servicios Web. Existen diferentes estilos de Servicios Web que amplían las oportunidades de selección de soluciones, pero generan un desafío de evaluación y ajuste de servicios heterogéneos. Entre los estilos se encuentran los servicios SOAP (con descripciones WSDL) y los servicios RESTful (con múltiples lenguajes de descripción tal como WADL, OpenAPI, etc.). Para afrontar estos desafíos se definió un Metamodelo de Servicios Heterogéneos que permite la evaluación y composición de servicios. Además, el desarrollo de servicios para reuso afronta la necesidad de reducir la complejidad de los servicios que afecta su comprensión e interoperabilidad. Para ello, se pueden utilizar métricas de complejidad de servicios y realizar refactorizaciones hasta alcanzar la complejidad deseada. Estos desafíos también son posibles por medio del Metamodelo de Servicios, para que un proveedor reajuste sus servicios y ofrezca nuevas soluciones en base a sus desarrollos previos.