As some people have already seen, I have began to commit some code
in CXF for a better integration with JBI, and especially ServiceMix.
I have added the following modules to the CXF source tree:
 * rt/bindings/jbi
 * rt/transports/jbi

Let me explain my thoughts about CXF / JBI.
For those who don't know, JBI has two concepts which are Binding Components
and Service Engine.  The Binding Component is in charge of the protocol
normalization,
while the Service Engine is in charge of providing a business service.  In
CXF, both
are linked somehow, but for a good JBI integration, they need to be split.

The two modules (JBI binding and JBI transport) will be used in a Service
Engine.
The transport was taken from the JBI integration in CXF and updated a bit,
while
the binding is new.  The binding is in charge of transforming the JBI
normalized message
(using a wrapper defined in the JBI spec for WSDL 1.1 messages) to / from
CXF messages.

Another component will be a Binding Component which will transform an
incoming soap
message to a JBI normalized message, while handling all the WS-*
specifications.
It will also handle the client side.

I have also started to slightly enhance the tooling side so that you could
use JAX-WS
client side to call a JBI service when inside the JBI bus.

The CXF JBI transport and binding are available at:
 * http://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/bindings/jbi/
 * http://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/transports/jbi/

The ServiceMix SE and BC are available at:
 *
http://svn.apache.org/repos/asf/incubator/servicemix/trunk/deployables/serviceengines/servicemix-cxf-se/
 *
http://svn.apache.org/repos/asf/incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-cxf-bc/

There are still lots of areas that need to be worked on:
 * actually integrate ws-addressing, ws-security, ws-rm, ws-policy in the
BC
 * handler definitions in xml for BC / SE
 * the client side of the BC
 * testing (document, rpc, wrapped + headers, client side, all ws-* stuff,
tooling)
 * documentation
So any volunteers are welcome :-)

--
Cheers,
Guillaume Nodet
------------------------
Principal Engineer, IONA
Blog: http://gnodet.blogspot.com/

Reply via email to