There are currently the following open-source Java Web Service stacks in the market today.There could be more that I am unaware of, but at least the following contribute more significantly to the market share.
4. Marshaling/Unmarshaling mechanism of the request and response structures to/from Java<=>XML.
5. In addition, today's web service stacks are expected to provide implementations for the various WS-* standards that exist.
With respect to points # 2 and # 4 above, Mark Hansen has correctly pointed out:
The key technology for efficient SOA is efficient and accurate Java/XML mapping or more generically known as the OXM (Object-XML Mapping)as pointed out by Spring-WS. At the SOA level, system standards are specified using platform independent XML messages (SOAP/REST) and WSDL operations (which themselves are in XML). But at the language level (Java/C#/VB etc), the systems that are the real engines behind the functionality of SOA are implemented using objects and methods. The more seamless effortless and accurate OXM solution that a web service engine provides the more popular it will be.
- Apache Axis1 and Apache Axis2
- Apache CXF
- Spring-WS
- Sun’s Metro available via Java EE 5 GlassFish container
- JbossWS
- XFire - which is now merged and transformed to being CXF.
- Providing an easy-to-use deployment option.
- Correct Web service/operation invocation for the particular message(SOAP/REST). This further involves in the following order -
- Receiving the message over the correct transport endpoint(Endpoint is an abstraction to represent URL and port),
- Figure out the operation intended to perform based on the message, and then
- Invoke the correct Java method mapping to the operation.
4. Marshaling/Unmarshaling mechanism of the request and response structures to/from Java<=>XML.
5. In addition, today's web service stacks are expected to provide implementations for the various WS-* standards that exist.
With respect to points # 2 and # 4 above, Mark Hansen has correctly pointed out:
The key technology for efficient SOA is efficient and accurate Java/XML mapping or more generically known as the OXM (Object-XML Mapping)as pointed out by Spring-WS. At the SOA level, system standards are specified using platform independent XML messages (SOAP/REST) and WSDL operations (which themselves are in XML). But at the language level (Java/C#/VB etc), the systems that are the real engines behind the functionality of SOA are implemented using objects and methods. The more seamless effortless and accurate OXM solution that a web service engine provides the more popular it will be.