Although JBoss 5.1 has been available for a while, I was surprised that we had not had requests for our JBoss 5.1 Web Service development class, WA1719 Programming Advanced JAX-WS Web Services on JBoss 5.1. We have just released this class and looking back I think it was a good thing that it was not released right after the JBoss 5.1 server was available.
One thing that has happened with JBoss Web Services (JBossWS) is the fact that they will be slowly moving away from providing the three web service “stacks” that they had provided previously, which were “Native”, JBossWS-CXF based on Apache CXF, and JBossWS-Metro based on Glassfish Metro. This effort to integrate with three different web service environments was obviously difficult to maintain and update so the announcement was made that JBoss would eventually begin moving to supporting just one JBoss Web Service stack, JBossWS-CXF based on Apache CXF. Although not released yet, apparently the only supported version of web services in the supported JBoss Enterprise Application Platform 6.0 will be JBossWS-CXF. Also, even though it is not the “default”, JBossWS-CXF is fully supported on the JBoss EAP 5.1. The JBossWS-CXF stack is also the only one available on the latest version of the open-source version of JBoss, JBoss Application Server 7.0.
So this brings me to the main reason I’m glad we waited until now to release the JBoss 5.1 web service class, we have released the class showing how to develop JBoss web services with the web service “stack of the future” JBossWS-CXF. Although “basic” web services only use standard JAX-WS web service code with all of the stacks there is some difference between the stacks, especially in configuration, when you get to advanced topics like WS-Security, WS-RM (Reliable Messaging), etc. So by showing students how to use Apache-CXF to develop JBoss web services they will be learning how to write more “future proof” web services. Clients using JBoss for web services will have to go through a migration process to CXF at some point so our new JBoss 5.1 web service course, WA1719, allows that to happen now.
Besides focusing on developing Apache CXF web services for JBoss, our new course also expands the focus on advanced web service topics. The differentiation between web service platforms, and the area that is often server-specific, is how to implement some of the more advanced “WS-*” specifications. These are things like WS-Security for web service security, WS-Addressing for asynchronous web service invocation, WS-RM for reliable web service messages, and MTOM, or Message Transmission Optimization, for sending more efficient web service messages that include binary data. We have spent time researching the “best” way to implement these advanced web service features using JBoss and Apache CXF in a way that is as close to possible to “standard” code and enables these features purely with CXF configuration where possible so that what is JBoss/CXF-specific is isolated and would be easy to modify if moving to a different platform. Many times this research and experimentation revealed gaps in the current JBoss/CXF documentation and our course, especially the extensive hands-on labs, fills in these gaps with information students will find immensely valuable.
All in all, I believe our new JBoss 5.1 web services course, WA1719, is second to none. We have spent time assembling information that developers of JBoss web services will need to know when working with web services in a JBoss environment. Even the official JBoss training courses from RedHat do not offer the depth of coverage on web services our new course does. Since implementing advanced web service features is what would take the most time and research from developers this is where we have concentrated our efforts in expanding the course to provide a “fast track” to the most useful information. Web services have quickly become an integral part of any Java Enterprise applications so if you want to stay ahead of this fast changing area of the JBoss platform contact us to learn more about taking our new JBoss 5.1 web service development course.