This is a topic that is very close to my heart that I've agonized over for long periods of time.

My ideal world would be for me to have a class that I can drop into some sort of container where I don't have to know anything about WSDL or deployment descriptors and security. That should be the containers work to figure it all out. I will wait patiently until that day.

When developing a project that will be exposed as a web service you really need to decide what the intended target is. If it's a large server side api that will be used by multiple clients which for the most part aren't going to be using it as a web service, start with your code then generate a WSDL. If you are creating something that is going to be predominantly going to be used behind a web service, I would start with a WSDL.

Also, I'm coming to the realization that nobody should have to deal with a WSDL. I like the idea of a XML Schema team, a group of of senior developers/architects who define what/why/how things are exposed.

Joe

Anne Thomas Manes wrote:
In a better world, you have a XML Schema administration team (similar
to your DBA team) that is responsible for developing the schemas that
applications will communicate with. (Do your developers define their
own database schemas???)

When developers build services, they should be handed the schemas they
are supposed to use, and then map those schems to their code.

Developers should not generate WSDL from code.

Anne


On Wed, 23 Mar 2005 14:55:38 -0800, Tim K. (Gmane) <[EMAIL PROTECTED]> wrote:

In an ideal world I would agree with Anne. However, consider this
scenario: you have a team of 10+ developers working on a server side API
that follows the rules to allow it to be easily exposed as web services.
The API has over 200+ methods total, distributed over 20+ modules. Each
module would be exposed as a web service, hence 20+ WSDL files. The goal
is to have the API on the server side look exactly the same as the API
on the client side, so in theory an application built against the API
could be run in process on the server or remotely via web services.

Now, only a couple of these developers know anything about web services
and even those developers are just getting their feet wet with web services.

During the development cycle the API's can (slightly) change many times
a day and everything needs to be recompiled/regenerated. I think it's
unreasonable in this case to edit any generated WSDL files by hand. It's
much more reasonable to just fire an ant task that starts with the
server side java classes, generates the WSDL's and from those the client
side stubs. This improves the development process a lot.

I hope I'll live to see the day when the tools are good enough to
achieve this task end to end. Obviously we are not there yet, but we are
getting close.

Btw, this is not an imaginary scenario, it's the cruel reality I live in
every day.

Tim

Anne Thomas Manes wrote:

I strongly disagree with Sunil. WSDL First (TM) is the way to go.

I think it's okay to use java2wsdl to generate a WSDL template to
start with, but you should always edit the generated WSDL.

My recommendation is to use a WSDL editing wizard. Cape Clear provides
a free one (SOA Editor). Altova and Sonic provide commercial ones.

Anne


On Wed, 23 Mar 2005 13:49:53 -0500, Soti, Dheeraj <[EMAIL PROTECTED]> wrote:


Sunil,

Will java2wsdl create the complex type hierarchies correctly? I have a complex
class hierarchy (using inheritance and nested classes) and finally I ended up
handcoding the wsdl from scratch. Did I miss something? I've also read some best
practice articles talking about top down approach where u write your wsdl first
and then proceed.

Thanks

Dheeraj

-----Original Message-----
From: Sunil Kothari [mailto:[EMAIL PROTECTED]
Sent: Wednesday, March 23, 2005 1:20 AM
To: [email protected]
Cc: [EMAIL PROTECTED]
Subject: Re:possible ways of creating WSDL file

I think of 3 ways of creating WSDL
1) Using java2wsdl tool
2) Using .jws facility
3) Handcode WSDL

I think 3) is error-prone and requires high level of understanding of
WSDL. 2) is also not recommended for various reasons like
a) No deployment descriptors are created
b) WSDL is not persistent and prone to changes
c) (This I am not sure) For overloaded methods this way of creation
causes problems.

I hope this helps.

Sunil Kothari
Valtech India

DISCLAIMER:
Any Information contained or transmitted in this e-mail and / or
attachments may contain confidential data, proprietary to Majoris
Systems Pvt Ltd., and / or the authors of the information and is
intended for use only by the individual or entity to which it is
addressed. If you are not the intended recipient or email appears
to have been sent to you by error, you are not authorised to access,
read, disclose, copy, use or otherwise deal with it. If you
have received this e-mail in error, please notify us immediately at
mail to: [EMAIL PROTECTED] and delete this mail from your records.

This is to notify that Majoris Systems Pvt Limited shall have no
liability or obligation, legal or otherwise, for any errors,
omissions, viruses or computer problems experienced as a result of
this transmission since data over the public Internet cannot be
guaranteed to be secure or error-free.




.

Reply via email to