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>