Friday, July 16, 2004

WSDL versus JINI

Sean Landis argues that Web Services are not a good way of implementing SOA. In his view, JINI is better - the true successor to CORBA. His argument seems to be based on the assertion that Java has a better semantics than WSDL. 

This argument is causing ripples of bluster and indignation in the blogsphere, for example Stevan Tilkov. Tilkov can't say what's wrong with Landis's argument, or can't be bothered. But see comment by Steve Laughran

Of course, when you are doing anything interesting (non-trivial) in SOA, there are important semantic issues - and these apply regardless whether you are using web services or JINI. Of course, the choice between web services and Jini will have a significant impact at the technology level, with particular regard to technological heterogeneity. But does this choice have any real impact at the business/information/application services level? If I'm a business analyst or enterprise application architect, do I really care whether it's web services or JINI in the transport layer, or is it someone else's problem? 

Lawrence Wilkes of the CBDI Forum writes

But JINI only means JAVA 
I am sure JINI is wonderful, but will these people EVER learn that the world is not predicated on JAVA? And running JMV on Windows is NOT the answer.... 
If you control ALL the endpoints that you might be able to choose JAVA/JINI But what does that do to the principle of loose coupling? What happens when an endpoint changes (as it INEVITABLY will). And no, I don't want to have to rebuild the links if an endpoint changes to another technology - I want it to happen seamlessly, dynamically. 
Sean asks "Why do people base their SOA on Web Services?" but he never mentions ANY of the basic reasons for using WS once! No mention of loose coupling, platform independence, richer specification (not just an IDL), design and run time applicability, etc, etc. 
And as for "For example, if there's a degree of dynamic behaviour, if services may come and go, then JINI would be better. If the environment is static, then web services is great. " Well that seems to completely misunderstand the objective of Web Services. And if the new service is NOT java-based - what then? 
Or what about "It's trivial to write a Java interface but even a simple interface is daunting in WSDL" Well NO ONE WRITES WSDL ... Just like no one should write JINI - but programmers (as Sean is) never understand this point - so they compare the complexity of writing the code, totally failing to see the benefits the code contains, and that the code doesn't have to be written or inspected by humans - its MACHINE READABLE so we can benefit from AUTOMATION.... 
Java is so 90's. This is the 21st century, we don't want solutions from the last millennium.

We know that traditional developers find loose coupling scary - so they find ways to retreat back into a homogeneous world. JINI/JAVA is a great way to do this. Of course WSDL doesn't solve all the problems of an open distributed world - but it doesn't hide from them either. 

 

Responses by Stevan Tilkov and Sean Landis in the comments below this post. For comment by Oliver Sims, see WSDL versus JINI 2 (July 2004).

1 comment:

  1. That I *don't* say what's wrong with his argument may be true. That I *can't* is an assumption on your part :-)

    ReplyDelete