Service
Updated
A service is a class of business functions any script can call. Public methods become the contract I<Name>. You resolve it with GetService<I<Name>>().
The class name equals the service name. Several implementations of one IFoo are Chain of Command. A different behaviour that is not a wrap needs a different contract name.
Note
A service must not build register movements. Compute the number. The posting script writes the movement. A resource key bound to the service's own script is not found — the running script is the caller.
Platform services (IDataService, IDocumentManager, …) are listed on Runtime. This kind is your service in a model.
A service is not an HTTP endpoint. That is a data entity or a web service.
Reference does not catalog every in-process service contract. Look in Services/ of the model.