3.4. Component Service
A component service is used to expose the functionality of an implementation as a service. All component services have a contract, which can be a Java interface, WSDL portType definition, or a set of named data types (interface.esb). Component services are private to an application, which means a component service can only be invoked by other components in the same application. In order to expose a component service to consumers external to the application, a component service can be promoted to a composite service. A component service can be promoted multiple times to create different composite services.
Figure 3.5. Component Service
Example 3.4. Sample Corresponding XML
<sca:component name="Routing">
<camel:implementation.camel>
<camel:xml path="route.xml"/>
</camel:implementation.camel>
<sca:service name="ServiceA">
<sca:interface.java interface="org.example.ServiceA"/>
</sca:service>
</sca:component>