Monday, April 10, 2006

Web Services No Better Than CORBA?

Richard Monson-Haefel (RMH), author of the famous Enterprise Java Beans (O'Reilly) and of a Web Services book is making an alarming claim about JAX-WS, the new Java web services standard:
JAX-WS still sucks!
In an effort to write a client to real world web services (for Google, Amazon, Ebay), he mostly failed. Errors seem to be largely related to WSDL to Java conversion. Jason Green, a JBoss developer, managed to get quickly a web service working for Ebay, but analysis by RMH suggest that hundreds of classes were generated for this simple one method web service.
Recently I had to try to do CORBA client classes by hand in Java since the rmic tool was not working that well to generate classes that could be run on a client JVM of different version than the server JVM. It proved to be a no-go in the end, because of the complexity involved not only in coding, but more on maintaining those modified generated classes. This would have required coding a tool dedicated for that purpose. We chose to pass simpler objects, differently, which looks just like a hack to avoid having CORBA issues. I am amazed that after that many years of CORBA, there are still simple cases where it does not work properly automatically.
Seeing that there is the same kind of problem with Web Services (IDL to Java translation) makes me wonder about Web Services "improvement" over CORBA. And WSDL is definitely less readable than CORBA IDL.


  1. This comment has been removed by a blog administrator.

  2. why do you think about WS ? I think WS is very popular in the next serveral years, because it scalable, reliable ... because IBM, Microsoft, HP, Intel is developing WS together. Today , many standard for WS such as : WSRF, WS-N,WS-S,WSDM .... and so on. WS is independent with any platform, throught firewall, ... because it use XML for transmitting infomation between systems .....

  3. I would like to compare them as the following:

    1. IDL is platform independent
    2. However, CORBA invocation is not

    1.WSDL is platform independent
    2.WS invocation use SOAP which is also platform independ.