To assign services to components the question of whom (which component) will be provided for the services defined by
the specified interfaces must be answered. The existing services also count if there are components providing the
required functionality, or if an intermediary service could be developed to provide it using existing services. For each service, it is necessary to define a component with which to implement it. This might be an
atomic component, an existing component, or a composite component which uses or has several other internal components.
The Architect uses the information concerning existing services found in the catalogue, and the definitions of the
service design to associate each component with the service that it will implement. In SoaML it means modeling the participant component diagram with which to define the implementation of
participants and services, defining the new components to be generated and, if the component
exists, defining adapters or wrappers to use it, providing the modifications needed to invoke them.
Example of component diagram taken from the SoaML standard:

|