camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ranx <>
Subject Cross cutting concern for microservices
Date Fri, 29 Jan 2016 15:00:47 GMT
The current design I use for services is to create an OSGi bundle for each
API interface and then aggregate them in a gateway bundle for exposure via
CXF.  During testing I have separate test blueprint files that bootstrap
each bundle with its specific interface and test them via REST and SOAP. 
There are two concerns I have about moving to a true uService architecture
which would eliminate the gateway altogether.  Because CXF now allows using
an interface for both REST and SOAP that's convenient.

If I have a 100 microservices I wouldn't want to have to set security up for
every bundle though being able to override it would be nice. If I have one
bundle for security tied to the port I assume that would apply then to all
the uServices exposed on that port? 

Also, how much overhead is there in starting up a a CXF server/service
endpoint?  While they are called servers they are really REST/SOAP endpoints
so I'm not sure how much overhead that entails.  But being able to keep the
API with the bundle, deploy it as a unit, and then move it at will would be
quite a boon in creating true modular microservices.

<httpj:engine-factory bus="cxf">
		<httpj:engine port="${proxy.port}">
				<sec:keyManagers keyPassword="${password}">
					<sec:keyStore type="JKS" password="${password}" file="${the.keystore}"
					<sec:keyStore type="JKS" password="${password}"
file="${the.truststore}" />
				<sec:clientAuthentication want="true" required="false" />


	<bean id="authenticationInterceptor"
		<property name="contextName" value="karaf" />
		<property name="reportFault" value="true" />

	<cxf:rsServer id="gatewayRESTEndpoint"

			<bean id="jsonProvider"
				<property name="convention" value="badgerfish" />
			<bean class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator">
				<property name="linkJsonToXmlSchema" value="true" />
				<property name="applicationTitle" value="PaymentHubRestServices" />
			<ref component-id="authenticationInterceptor" />

View this message in context:
Sent from the Camel - Users mailing list archive at

View raw message