Web services native support in Java6
By arungupta on Dec 14, 2006
I still remember JavaOne 2005 technical keynote getting applauds from everybody when bundling Web services in Java6 was announced. An approximate 5000 developer audience thrilled that Web services will be available natively in Java6.
JAX-WS 2.0 is a JCP standard (JSR 224) that enables Web services support in a standard way. Here are some of the salient features:
- Supports SOAP-based and REST-based services
- Supports both Java-first and WSDL-first programming model equally
- Enables POJO-based Web services
- Descriptor free programming
- Uses industry proven JAXB RI for data binding
- Integrated with NetBeans 5.5 hiding all the tools/config details
- Tested extensively for interoperability
Mainly because of timing constraints, JAX-WS 2.0 (and not 2.1) was included in Java6. However the currently bundled JAX-WS implementation is very powerful and allows you to develop/invoke SOAP-based and REST-based services. If you want to enable different WS-\* specifications (such as WS-Security, WS-Reliable Messaging and WS-Secure Conversation) then you can download WSIT builds and configure them on Java6 (another blog on that later) and there by WSIT-ifying your Java6.
Web services and Scripting are the two most talked about features in Java6 as is evident by a short list of links below (there are many more):
- See What's New in Java SE 6 (FTPOnline)
- Sun Goes Multilingual with Java SE 6 (PCWorld)
- Is the new Java SE 6 more SOA-friendly than Java EE 5? (SearchWebServices)
- Sun Releases Java 6 (Baseline)
- Sun releases Java SE 6 (Computer Business Online)
- Sun Unveils Java SE 6 (Internet News)
- Sun Releases Java Platform Standard Edition 6 (Application Development Trends)
- Sun Releases Upgrade Of Java Platform Standard Edition (Information Week)
In all, I strongly believe, more as a technology user, that adding basic Web services support to Java6 is the first step. There is always a balance between providing an out-of-the-box experience or asking them to download additional stuff and go through configuration. I believe in simplicity and that's what we have tried to achieve by adding Web services support in Java6. You'll see more sophisticated additions in the versions to come.