axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ramesh Gurunathan" <ramesh.gurunat...@gmail.com>
Subject WSDL Design
Date Wed, 10 Jan 2007 04:31:45 GMT
Hi Everyone,

I'm looking for a WSDL design article.

We are providing web service interface for existing APIs, which
consist of nearly 50 business logic interface classes, in total it's
going to have about 300 business methods. Obviously, writing a single
WSDL which (flat) include all the methods of 50 business classes is
not a good. Maintenance of such a mega WSDL will be disastrous. If the
API, for which web services layer is provided, gets changed, then it
will be impossible to ensure that the WSDL is up-to-date with the API
changes.

What is the right approach and design in this case?

My goal is to come up with WSDL that

1) Separates business logic (types, messages, port types) from
implementation details (SOAP binding and service end point
definitions).
2) Easier maintenance. i.e. When there is a change detected in a
business logic class, lets say BusinessLogic1.java, I want to directly
edit the WSDL fragment file and not disturb the other WSDL fragments.
3) Of the total 50 business classes, some of the classes can be
grouped as module. i.e. A BusinessLogicModule1 contains
BusinessLogic1.java, BusinessLogic2.java, etc.,

I'm thinking of designing WSDL like this:

Master.wsdl
|
|--> Module1.wsdl
    |---> BusinessLogic1.wsdl
        |-----> BusinessLogic1.xsd
    |---> BusinessLogic2.wsdl
        |----> BusinessLogic2.xsd

|-> Module2.wsdl

|-> Module3.wsdl

Basically, the master.wsdl imports all the module level wsdl
fragments. Each module.wsdl imports BusinessLogicN.wsdl. Each business
logic wsdl declares messages and a port type.

The Module.wsdl not only imports all the business logic wsdls but it
creates bindings for each of the port types.

The Master.wsdl not only imports all the module wsdls but declares
service end points for each of the port types.

I may be wrong in my understanding. Please point me to a WSDL design
article, if you know any.

What do you think on the design above? Appreciate if you could share
your thoughts and experience.

Thanks in advance

Ramesh

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message