OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Non-schema approach to web service design: comments?

[ Lists Home | Date Index | Thread Index ]

A good web services/SOA mailing list:
service-orientated-architecture@yahoogroups.com

On 10/27/05, ian.graham@utoronto.ca <ian.graham@utoronto.ca> wrote:
[Also: Anyone know of a good web service mailing list?? I certainly
can't find one .... ]

I want to describe our approach to Web service development, and
get some feedback:has anyone else tried this?  Does this make
sense?  If not, why. etc. ?

Background: we are using continuous integration, so need
easy refactoring of all code, including service interfaces.
We use websphere as our service provider, and have (for now)
.NET and websphere service consumers. This is an internal
project, so we 'own' all interfaces (at least for now).

We do not use WSDL/XSD to 'define' services. Instead the
dev team uses xdoclet/JCF to decorate java classes with
annotations defining the contract.  We have created xdoclet
extensions to support custom constraints (e.g. checksums).

The build generates the service provider code, along with WSDL
and XSD files: the XSD's including <annotation>s in a custom,
machine-readable format detailing the contract rules not
expressed in the Schema. Indeed, today very little of the
contract  is in the XSD: the goal is to place as much as
possible in  XML Schema, the rest in the custom format.

We have a simple .NET tool (partly home-built) that takes
the WSDL/XSDs, plus the embedded annotations, and creates
appropriate service consumer code (and constraints).  We can
do similar things for Java consumers.

What was the rationale?

- Speed.  This approach is 2-4 times faster than one starting
  with WSDL/XSD (done on a previous project). This is particularly
  true when modifying/refactoring a service.
- Simplicity. the annotations express business-relevant
  constraints more easily (to developers) and completely than
  XSD. In particular, they can specify constraints like
  checksums and co-constraints, that are fundamental to the
  contracts but that are not expressible in XSD.
- Simplicity 2. We get a single (in java) book of record
  for the contract -- whereas when we use WSDL/XSD we end
  up with part of the contract in XML, and part in text
  documentation (checksums, etc.).

Some concerns raised have been:

- Java-centred service design is a bad idea, as the overall
  service architecture will be biased to the Java data and
  component model (so should start with WSDL/XSD)
- Approach could leave you high and dry if  xdoclet/JCF goes away.
- Just Plain Bad to use a Custom non-standard approach.

Thoughts?

Ian
--
ian DOT graham AT utoronto DOT ca


-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: < http://www.oasis-open.org/mlmanage/index.php>






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS