It’s a self-contained, reusable, discoverable, stateless capability with the required granularity that may be used in a composite application or service. A reusable service should be associated with a business activity that the service requirements define (design-time contract).
Different run-time contracts, numerous interfaces (the WSDL for a SOAP Web Service), and multiple implementations can specify a service’s restrictions, such as security, QoS, SLA, and use policies (the code).
Throughout its entire lifespan, from design to runtime, a reusable service should be regulated at the corporate level. Its reuse should be encouraged through a prescribed method, and the amount of time it is used should be tracked.