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.
4 comments:
This effort towards standardization (and potentially 'simplification') of Web Services implementation is great step towards bringing Java based enterprise application development to simplicity levels of Visual Basic.
So which do you prefer so far? I am sure that would depend on what project you were using them for. But lets say you were creating webservices to replace database access entirely for a front-end application. Or if you were using webservices to provide a transactional service.
You should add Jersey to your list
I really like CXF with JSON as data exchange format, it really rocks
Post a Comment