En los contextos de la arquitectura de software y la arquitectura orientada a servicios, un servicio es una funcionalidad o un conjunto de funcionalidades de software (tales como la recuperación de una información determinada o la ejecución de una serie de operaciones) con el objetivo de que pueda ser reutilizado por distintos clientes con distintos propósitos, junto con las políticas que deben controlar su uso (por ejemplo, basándose en la identidad del cliente que solicita el servicio).[1]
El servicio está provisto por una entidad (el proveedor de servicios) para ser utilizado por otros (los consumidores del servicio) que no tienen por qué ser conocidos por el proveedor.[1] La implementación del servicio está oculta para el consumidor, exceptuando la información y los modelos de comportamiento mostrados en la interfaz del servicio, y la información que requiere el consumidor para dilucidar si un determinado servicio se adecua a sus necesidades.[1]