General artifacts in a role’s implementation
A role specification within a service can be implemented by means of a service artifact instead of a component artifact.
All a client of the role needs (the channel interface) is specified also for a service application.
Also, all the spread mechanism needs is to have a config
field in the artifact, and a service
application has such a field.
Upon deployment, service roles are promoted to their own deployment within a solution with a top deployment governing the life cycle of the sub service deployments.
Configuration spread proceeds naturally in a recursive manner, until it reaches leaf roles: roles implemented by a component or by a builtin artifact.