Monday, June 11, 2012

Looking at the next future... JBossWS 4.1

With the summer coming, it's now few months since the last 4.0.x release of JBossWS. While working on finalizing JBoss Enterprise Application Platform 6, the WS team here has started the JBossWS 4.1 dev cycle.
Last week, the first Beta version has been released, covering a bunch of new features on topics we identified during the last year and which could not fit the former 4.0 cycle. Here is a list of the most noteworthy ones in 4.1.0.Beta1:

  • Upgrade to Apache CXF 2.6.1: this comes with many bug fixes and new features from Apache CXF side, like eg. WS-ReliableMessaging 1.1 support, lots of improvements in WS-Security area, WS-MetadataExchange (Aug 2006 spec) support, ...
  • Apache CXF Security Token Service (STS) integration: one of most active area in CXF development lately, which is now verified to work properly under the JBoss WS 4.1 / JBoss AS 7.1 integration
  • Configurability improvements: the jboss-webservices.xml descriptor has been enhanced to allow passing in properties for controlling some of the Apache CXF internals potentially affecting runtime integration, e.g. the queue depth of the asynchronous (@OneWay) work queue, or the server side preferred policy alternative selector
  • IPv6 support: with the world finally really moving to IPv6, we've gone through yet another IPv6 testing phase and are currently able to successfully run the whole JBossWS testsuite against JBoss AS 7.1 using IPv6
  • JBossWS-Native cleanup: after years of coexistence of multiple JBossWS integration stacks, the time for putting the old JBossWS-Native to EOL has come. As a consequence, we've slimmed down its sub-components to the minimum required for still supporting JAX-RPC and be included as support library for JBossWS-CXF into JBoss AS. Long life to the JBossWS integration with Apache CXF!
This is a beta, basically because we've further new features to add and many tests / verification still to run, so any contribution and feedback from the community is more then welcome, as usual. This time, however, we also come with two development-related only changes that are likely to ease testing:
  • Parallel / concurrent testsuite run: the JBossWS testsuite has been revisited and multiple tests are now executed at the same time. No need for any change on user side, a couple of minutes less for a full run and few bugs isolated thanks for the new testing conditions ;-)
  • Reduced testsuite memory footprint: I've been profiling the testsuite (client side) and optimized it a bit, so that you can have concurrent runs even if you don't have tons of RAM ;-)
That's all for now. JBossWS 4.1.0.Beta1 has been installed on the current JBoss AS 7.2 master and the artifacts are available on the Maven repository. The release notes are here.

Expect more to come during the summer!

6 comments:

Solerman Kaplon said...

Is there an official word regarding the Metro Stack? I'm particularly looking into something like @HttpSessionScope for web services. Is there an equivalent under CXF ?

Alessio Soldano said...

The JBossWS-Metro integration stack has been discontinued in Nov 2010 [1]

Regarding the @HttpSessionScope, there's the approach based on jaxws context; you can however start a discussion on the jbossws forum [2], perhaps we might come to a feature request for a similar annotation in JBossWS and/or Apache CXF.

[1] https://community.jboss.org/en/jbossws/metro
[2] https://community.jboss.org/en/jbossws

Kadle said...

We are currently on JBoss 4.3 enterprise edition and the issue mentioned in JBWS-3470 (infinite loop) is affecting us.

Can you cherry pick this version and use with JBoss 4.3. If not are there any alternatives to get through this.

Please advice.

Alessio Soldano said...

Kaddle,
you need to get in touch with the customer support and open a ticket on that. If backporting the fix to such an old version is fine with your subscription, you'll have that.

Kadle said...

Hi Alessio,

Thanks for the prompt response.

As the whole process of getting patch for 4.3 EAP will take time, I tried other alternatives.

I have overridden the message factory settings by providing below VM arguments and copying saaj jars (provided with Apache CXF 2.6.0) to "endorsed" folder.

This way I was able to overcome the error and test the security part successfully.

From what I have researched (even one of your reply to removing SAAJ from EAP distribution) its safe to use SAAJ jars.

Wanted to get expert inputs, before I go forward with these settings.

Please share your thoughts.

javax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.MessageFactoryImpl

javax.xml.soap.MetaFactory=com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl -

javax.xml.soap.SOAPFactory=com.sun.xml.messaging.saaj.soap.SOAPFactoryImpl

Alessio Soldano said...

Leveraging the SAAJ reference implementation might or might not work on jbossws-native depending on the usecases. The Native ws stack had its own hooks into our saaj implementation for some functionalities, especially in the jaxrpc area.