Service composition is a collection of services where, many smaller services are combined together to a larger service.
Below diagram illustrates the service composition:
In the above diagram, Service A, Service B and Service C are smaller services.
Large service is composed by combining services A,B and C together.
The services communicate with each other through a network just like component composition where inter-service communication is too slow as compared to inter-component communication taking place in the same application. The performance will be bad if the services communicate internally through ESB (Enterprise Service Bus) and larger services are decomposed to many smaller services.
Service compositions can be categorized into primitive and complex variations. Simple logic was implemented through point-to-point exchanges or primitive compositions in early service-oriented solutions. As the technology developed, complex compositions became more familiar.