You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by Guillaume Nodet <gn...@gmail.com> on 2007/04/25 12:04:11 UTC

ServiceMix / CXF integration

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/

Re: ServiceMix / CXF integration

Posted by Fullocto <br...@fr.thalesgroup.com>.
I am still stuck&lost

I am newbie, i need some advice, please. I modified the versions in the
pom... compile the CXF SE (with maven (2.0.9), I may move back to 2.0.8
because of ) and it works... Only if I skip the tests!

So I need some master to help me a little... How should I work?

How can I debug(to understand)/develop. I use eclipse, but then when I want
to launch ? I have already use  a configuration with servicemix.xml but only
with bc, is it the same way if there is some se? can i find an example
somewhere?

Moreover I googled and I found the "issues navigator". And I read that CXF
was already upgraded ^^. The So how can I use thoses updates? Target are
32.2 and 3.3, but thaere are no trunks/branches/tag for those version, so I
think it is in the SMX 3.2 branch, isn't? How can I develop all files of the
branch?  (manually?)

Thankyou very much for any help
-- 
View this message in context: http://www.nabble.com/ServiceMix---CXF-integration-tp10177803p17315160.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.


Re: ServiceMix / CXF integration

Posted by Fullocto <br...@fr.thalesgroup.com>.
ootch, i just found some JBI library in the new CXF... So moving only
jaxws-api is probably a bad idea...
-- 
View this message in context: http://www.nabble.com/ServiceMix---CXF-integration-tp10177803p17255376.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.


Re: ServiceMix / CXF integration

Posted by Fullocto <br...@fr.thalesgroup.com>.


gnodet wrote:
> 
> 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.
> 
> 

Hi,

I have two little & cute (maybe not) questions:

1°/ Performance
If I have two services that want to communicate between each other, I have
two solutions, one is without ESB, I developed CXF webservices, one is
calling the other so let's say we have one client and the 2 webservices:

Client 
--(SOAP/HTTP)--> [CXF HTTP transport + binding transforpation ] WS1 [CXF
HTTP transport + binding transforpation ]
--(SOAP/HTTP)--> [CXF HTTP transport + binding transforpation ] WS2 [CXF
HTTP transport + binding transforpation ] 
--(SOAP/HTTP)--> Client 

The other solution (ESB powered):
Client 
--(SOAP/HTTP) --> [CXF transport  ] CXF-BC [CXF transport + binding
transforpation ] 
--(JBI normalized message)-->[CXF JBI transport + binding transforpation ]
WS2 [CXF JBI transport + binding transforpation ] 
--(JBI normalized message) --> CXF-BC [ JBI to SOAP/HTTP transformation]  
--(SOAP/HTTP)--> CLIENT

Here we have only two services inside the jbi environment so the overhead of
BC may probably remove all the benefits. But how is the performance if the
numbers of services increase (4or5, the machines must survive).

2°/ Updating the CXF component
I have one problem, I need to upgrade the jaxws-api.jar library that is used
inside servicemix to use some webservices that have been previously
developed. 
Is it possible to use the last release of CXF? I downloaded the archive and
I will try to replace it in two spots:
- in the maven repository: because when i compile using maven install on the
pom.xml of my SE-su, I see it's calling the servicemix-se dependency... I
went to subdependency again and again up to javax.xml.ws, and I could change
the jaxws-api... 
- in the CXF-SE component installer i will change the library, so the CXF
will understand the new classes at runtime.

Plz stop me, if I am wrong.
By the way, how the servicemix-cxf-se evolved? Does it need to be modified
when a new  version of cxf is released ?

TY 
Brice

-- 
View this message in context: http://www.nabble.com/ServiceMix---CXF-integration-tp10177803p17255177.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.


Re: ServiceMix / CXF integration

Posted by Eric Dofonsou <ew...@yahoo.com>.
I've started looking at this module SE also.

However there ares somelibrairie missing from the build process.  Here is
the output I get from the maven 

------------------
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

Missing:
----------
1) com.sun.xml.bind:jaxb-impl:jar:2.0.5

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=com.sun.xml.bind
-DartifactId=jaxb-impl
 \
          -Dversion=2.0.5 -Dpackaging=jar -Dfile=/path/to/file

  Path to dependency:
        1)
org.apache.servicemix:servicemix-cxf-se:jbi-component:3.2-incubating-
SNAPSHOT
        2) org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.0-incubator-SNAPSHOT
        3) org.apache.cxf:cxf-rt-core:jar:2.0-incubator-SNAPSHOT
        4) com.sun.xml.bind:jaxb-impl:jar:2.0.5

----------
1 required artifact is missing.

for artifact:
 
org.apache.servicemix:servicemix-cxf-se:jbi-component:3.2-incubating-SNAPSHOT

from the specified remote repositories:
  apache.snapshots (http://svn.apache.org/maven-snapshot-repository),
  apache-incubating
(http://people.apache.org/repo/m2-incubating-repository),
  codehaus (http://repository.codehaus.org),
  servicemix-m2-repo
(http://svn.apache.org/repos/asf/incubator/servicemix/m2-re
po),
  apache-snapshots (http://people.apache.org/repo/m2-snapshot-repository),
  central (http://www.ibiblio.org/maven2)


has this librarie been added ?


Freeman Fang-2 wrote:
> 
> Hi Nodet,
> 
> I'd like to do this integration. And I will start from my most familiar 
> part, adding test case for JBI transport as the first step.
> 
> Absolutely there would be more questions for you and servicemix team in 
> coming weeks.
> Thanks in advance.
> 
> Freeman
> 
> 
> Guillaume Nodet wrote:
>> 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 :-)
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ServiceMix---CXF-integration-tf3644399s12049.html#a11006968
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.


Re: ServiceMix / CXF integration

Posted by Freeman Fang <fr...@iona.com>.
Hi Nodet,

I'd like to do this integration. And I will start from my most familiar 
part, adding test case for JBI transport as the first step.

Absolutely there would be more questions for you and servicemix team in 
coming weeks.
Thanks in advance.

Freeman


Guillaume Nodet wrote:
> 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 :-)
>


Re: ServiceMix / CXF integration

Posted by Freeman Fang <fr...@iona.com>.
Hi Nodet,

I'd like to do this integration. And I will start from my most familiar 
part, adding test case for JBI transport as the first step.

Absolutely there would be more questions for you and servicemix team in 
coming weeks.
Thanks in advance.

Freeman


Guillaume Nodet wrote:
> 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 :-)
>