Re: data transport
- From: Arne Vajhøj <arne@xxxxxxxxxx>
- Date: Mon, 01 Oct 2007 21:12:59 -0400
RedGrittyBrick wrote:
Arne Vajhøj wrote:
Web services has somehow gotten the reputation of being complex
in the Java world.
Not very justified in my opinion.
In a J2EE 1.4 and higher app server you just add a few lines
to a deployment descriptor and voila a web services is created.
In Axis 1.x you just rename a class file from .java to .jws and
sump it into the Axis web app and voila it is a web service.
Ofcourse if people start wanting to write and read XML manually
it soon becomes complex.
But they should not.
I think you're describing developing a web service given a certain toolset that implements the standards.
The standards themselves *are* complex. The set of Java classes that implement those standards *do* form a quite large and complex API.
Yes.
Using web service toolkits are simple.
Creating one is work - a lot of work !
My irritation with Web-services in Java is from implementing JSE clients not JEE servers. For this the developer toolset seems much more complex.
Is it ?
You give your IDE the URL of the WSDL, it generates a stub class
and you call that.
JBuilder, Eclipse, Visual Studio etc..
* There isn't a set of web-service classes for clients included in JSE 1.6 (AFAIK).
I thought WS client support was in 1.6 as well.
* Hence you have to evaluate and select a toolkit to use. I found this non trivial. Axis, XFire/CXF, ...
We like Java because we have choices.
We hate Java because we have choices.
* As soon as you want to use something like WS-Security with PKCS12 files, I find things get more complex for the developer. WSS4J, ...
True.
But I do not consider it surprisingly that doing complex stuff becomes
complex.
Using web-services should give you significant benefits but in many cases it does not. A small change to the interface will result in a new WSDL or whatever and your old server or old client will not simply ignore a new extraneous XML element received. This may be a good thing but it makes it harder to build in flexibility and backwards-compatibility.
Part of the problem with CSV (say) is having both ends agree on the implicit meaning of the columns. The tagnames in XML should overcome that issue but in practice they do not. Inserting a new column in CSV requires that both ends definition be updated. Inserting a new element in XML also, in practice, seems to require that both ends are given an updated XSD, WSDL or other definition and rebuilt. XML ought to be more self explanatory than CSV (or JSON) but in practice it is equally useless without an external definition in XSD or some other form.
For CSV you need to modify the code.
For XML you just need to rebuild (whicg regenerates the stub).
And there are versioning patterns that can be used to reduce
the problem.
Arne
.
- Follow-Ups:
- Re: data transport
- From: RedGrittyBrick
- Re: data transport
- From: Lew
- Re: data transport
- References:
- Re: data transport
- From: Arne Vajhøj
- Re: data transport
- From: RedGrittyBrick
- Re: data transport
- Prev by Date: Re: notifying particular thread to wake up.
- Next by Date: Re: notifying particular thread to wake up.
- Previous by thread: Re: data transport
- Next by thread: Re: data transport
- Index(es):
Relevant Pages
|