Status of D-AG0005

Not a whole lot of discussion, so I don't know how much consensus there is.
The current CSF analysis, as amended by some comments, is:

DAG005.1 - The reference architecture should be easily understandable by the
target audience.

Measurements: 
* does it avoid specialized jargon not familiar to ordinary software
designers?
* is it stated in simple declarative sentences?
* is it organized in a way that allows important points to be located?
* does it use illustrations to visually describe key components and
relationships?

DAG005.2 - The reference architecture should be as minimal as possible

* How many components does it describe?
* How many relationships among the components does it describe?
* How do these figures compare to those of notable exemplars of good
reference architectures?
* Could any components or relationships be removed without significantly
limiting the value of the architecture?

DAG005.3  -  The reference architecture should simplify the task of a
programmer writing interoperable implementations of specifications of
components described by the architecture.

* is the role played by each component in the overall architecture stated
clearly?
* are the interdependencies among components noted explicitly?
* are existing specs that fufill the role of a given component referenced?
* are the resulting implementations actually interoperable?

DAG005.4 - The reference architecture should simplify the task of an
application programmer using the specifications it describes

* does the reference architecture not force a programmer to use exotic
constructions?  
* Can the architecture be implemented without large amounts of code?  
* Does it allow simple invocations as well as elaborations with more
functionality when building web services or applications that employ web
services.

One new  proposal: 

DAG005.5 - The reference architecture should allow data elements and
extensibility mechanism to be re-used, rather than copied. 

This is arguably an aspecd of DAG002, modularity, but clearly an
architecture that does not encourage re-use of, for example, a messageID
that might be required for correlation, reliability, and security headers is
less simple that one that requires this ID to be duplicated in 3 different
soap headers. Likewise, an architecture that reuses extensibility mechanism
such as the SOAP envelope or XML extensibility in general is simpler than
one that does not.

The existing requirements draft reads: "D-AG005 - provides simplicity and
ease-of-use that does not impose high barriers to entry for users of web
services."

A proposed requirement wording, based on the feedback, is:

"The W3C Web Services Reference Architecture is intended
primarily for the use of other working groups specifying the components
identified in the architecture, secondarily for developers implementing the
components, and untimately for end users of those components.  The
exposition of the reference architecture MUST be understandable by a
"typical" experienced software designer/developer.  It SHOULD specify as few
components and relationships as are minimally necessary meet the other
requirements. It SHOULD simplify the task of programmers implementing
specifications it describes in an interoperable way.  It SHOULD clarify how
an application programmer would use its components to build actual
applications that utilize web services.  It SHOULD promote the re-use rather
than copying of the objects and mechanisms it describes." 

Received on Wednesday, 13 March 2002 18:27:14 UTC