It is not possible to promote an internal service if the external service is using a different type of binding; for example, if an external service has a CICS® binding, the internal service cannot have a Web service binding.
A composite can contain two or more components that are wired together. In the following example, composite A has two components. Component A has a dependency on component B for its service. Each component has a service and a reference. The bindings defined in the reference of component A and the service of component B must be compatible. Composite A encapsulates the two components, hiding the lower-level implementation details from applications that require the service offered by composite A.
The external service and reference of the composite are formed by promoting the service of component A and the reference of component B. The wire between component A and B is a target, where the bindings on each interface are the same. In this example, the components are using a CICS binding.

The model for encapsulating the implementation details in components is a very flexible way to create hierarchical composite applications. In the following example, composite Y contains two components. However, in this example, the implementation of component C is itself a composite that has two components inside it. Any client that wants to call the service offered by composite Y does not require knowledge of the components that are in composite C, meaning that the underlying implementation details can change without affecting the client.
The external service and reference of composite Y is formed by promoting the service of component C and the reference of component D. The wire between component C and D is a target, where the bindings on each interface are the same. In this example, the components are using a CICS binding.
