- From: Francis McCabe <fgm@fla.fujitsu.com>
- Date: Mon, 15 Jul 2002 11:46:36 -0700
- To: www-ws-arch@w3.org
Currently, DAG001 reads:
D-AG001 Interoperability
The Web Services Architecture SHOULD enable the development of
interoperable Web Services across a wide array of environments.
Comments that were made to this goal -- during the vote -- (as opposed
to CSFs -- see below) seem to be slightly off the point:
Comment 1:
I do not like the word "platform". Replace with "framework".
Use of the term in "platform independence" has a different meaning. I
understand platform to refer
to the combination of hardware and operating system. platform-1 = x86 +
windows, platform-2 = x86 +
linux, platform-3 = sparc + solaris, etc.
So when D-AG001 says "to provide a reference platform", it could mean
that we'll describe the
architecture in terms of platform-x, and it is an exercise for the
student to extrapolate to a
different platform. I don't think that's what we intend, so I think
"framework" works better.
Comment 2:
An architecture is not a platform. May just be nomenclature issues here.
Proposal:
I see no problem with the goal itself. Indeed, if there were, we would
be in some trouble ;-)
==========================
The current wording of DAC001 is:
D-AC001
provides a complete reference framework that encourages the development
of interoperable software products from multiple vendors and provides a
defensible basis for conformance and interoperability test suites
Comments to this CSF during the vote were:
Comment 1:
Replace the current text with:
provides a reference platform that integrates existing specifications
and standards to support Web
Services interoperability across multiple
platforms/applications/programming languages.
Comment 2:
I think we need to further discussion. I'm not sure what "complete"
adds.
I don't like using the term "products" and "vendors" unless we make a
statement that open source
software can be considered products and the developers who contribute to
the project are considered
vendors.
We also need to discuss the notion of test suites for the reference
architecture.
I can see a test suite for a protocol spec, which conforms (fits nicely
into) one or more areas
(components) of the web services architecture.
Comment 3:
An architecture is not a framework. Also concerned with the last part:
"and provides a defensible basis for conformance and interoperability
test
suites". What does this mean?
It is unclear why and how conformance and interoperability are related in
general, at least at the architectural level. A correct implementation
of
the standards identified in the architecture seems two steps removed.
My comments:
The heart of this CSF is that by offering a reference implementation you
make it easier for people to understand a proposal and it serves as a
kind working model that can capture many semantic characteristics that
are hard to write down on paper. For an architecture it is harder to
build a reference implementation but the intention is similar.
Proposal:
I would suggest that we try to capture the laudable intention thus:
provides a reference architecture that includes all the elements
necessary to ensure interoperability between multiple implementations of
web services and provides a demonstrable basis for identifying
conformance and interoperability test suites
===============
D-AC001.1 Was accepted in the vote, the requirements document needs to
be updated accordingly.
===============
D-AC001.1.1 reads:
Ensure that no individual implementor is favored over others.
Comment 1:
out of the scope
Comment 2:
How are we going to achieve this goal?
Proposal
That we drop this requirement as being too motherhood and apple-ish; and
furthermore not reflecting political reality!
================
D-AC001.2
Ensures that the development of standards-based technologies identify
conformance in such a way that testing software can be constructed
Voting comments were:
Comment 1:
replace it with:
Liaison with WS-I Testing WG to ensure that the development of
standards-based technologies identify
conformance in such a way that testing software can be constructed
Comment 2:
Sounds awkward to me. Other working groups would be responsible for
producing protocol specs
that are testable. I don;t see how the architecture document
"ensures ... that testing software can
be constructed."
Comment 3:
Since we do not develop technologies, does this imply that we impose
conformance requirements on the WGs we charter and, potentially, on
previously chartered WGs in the W3C WS Activity?
Comment 4:
This is definitely too ambitious for a reference architecture. That's
a job for an
individual specification.
Proposal:
D-AC001.2 should be removed as it would be would be subsumed by the
proposal above for the requirement as a whole.
================
D-AC004 currently reads:
does not preclude any programming model
D-AC004.2 Interfaces to web resources must be properly defined and
designed.
D-AC004.3 Focus on defining the architecture in terms of components
and the relationships between them. Components are defined in terms of
interfaces, that define their inputs and outputs and also the form and
constraints on those inputs and outputs. The relationships between
components are described in terms of messages and the protocols by means
of which these messages are transmitted among the interfaces of the
components that make up the architecture.
The Web Services Architecture should:
AR004.2 provide well-defined interfaces for Web Services
D-AR004.3 use XML based techniques for defining messages/protocols
for invoking web resources
Comments during the vote:
Comment 1:
The Web Services Architecture must allow the development of secure
online processes.
Comment 2:
replace it with:
ensure platform and device independence of Web Services to support
interoperable standardized
programming languages
Comment 3:
I think that saying that we are not going to "assume any particular mode
of communication
between the individual components" is not well stated and/or not really
true. See D-AR004.3, which
says that the architecture will use "XML based techniques ..." (which I
think is well stated,
incidentally), the charter of the WG and so on. If there is something
really to be said here I
think it should be said more accurately. Otherwise I think that this
statement should not be made.
In like spirit, it would seem to me better to say that one will not
assume any particular
programming model rather than that no programming model will be
precluded. The latter statement is,
in my view, asking for trouble since it could be interpreted to include
really nasty, stupid or
unsafe models.
Comment 4:
see: http://lists.w3.org/Archives/Public/www-ws-arch/2002May/0096.html
Comment 5:
I don't know what is meant by "mode of communication". It's important
that we be specific here,
because it could be used to exclude otherwise valid technologies based
on people's interpretation of
what it meant to them.
My comments:
The CSF here can be informally re-expressed as "I don't care how you
implement the service as long as it works"
In particular its not true that we wish not to preclude any programming
model: we do wish to prevent models that don't implement the web service
properly.
More formally, we might say:
Proposal:
The WSA should ensure proper separation of implementation from
specification, allowing, for example, multiple implementations of
equivalent specifications to interoperate.
=======
D-AC004.2
Comment 1:
replace it with:
Define and design web resources interfaces to ensure interoperability.
Comment 2:
What is a web resource?
Comment 3:
I'm not sure what "properly" means.
I envision an architecture diagram with boxes that represent
"components" and lines between some of
them to represent "interfaces". The architecture would describe the
functions of the components and
the interfaces at an abstract level. (I don't know if that means XML
Infoset, since SOAP 1.2 uses
that and I'm not sure what would be more abstract than Infoset). Other
WG's would use these
abstract descriptions to design more concrete definitions of the
functions and interfaces, while
still leaving room for different implementation. "Properly" means at
the right level of abstraction
to be useful to WGs that design protocols, but not too prescriptive
(unless we really decide to
limit choices for some good reason, like interoperability; ah, a
tradeoff!).
Comment 4
This is a nice goal, but has little to do with this AC004.
Comment 5
Any design we do should be done properly, so I think that the design
part of the goal is unnecessary.
Originally, D-AC004.2 was talking about Web components. I asked
whether components were resources, and the goal was updated. I now
wonder if the CSF didn't want to talk about Web services. If not, I
don't think that it is our job to define the interface to a Web
resource, and it is already done: get a representation of a resource,
get metadata about this resource, store specified entity, etc.
My comments:
A modern way of separating implementation from specification is through
interfaces: we offer a public interface and let anyone implement to that
interface.
Proposal:
Drop in favor of a revised AC004.3 below.
============
D-AC004.3
currently reads:
Focus on defining the architecture in terms of components and the
relationships between them. Components are defined in terms of
interfaces, that define their inputs and outputs and also the form and
constraints on those inputs and outputs. The relationships between
components are described in terms of messages and the protocols by means
of which these messages are transmitted among the interfaces of the
components that make up the architecture.
Comment 1:
not clear what the critical success factor is.
Comment 2:
This is phrased neither as a CSF nor a requirement.
Comment 3:
I guess I'm having some trouble understanding the difference between
"relationships between
components" and components being defined interms of "interfaces". I can
see "interfaces" being like
a layer 2 (OSI) data link protocol or even a transport (layer 4), and
the "relationship" being
higher layer messages and protocols. Maybe that has too much of a
network topology focus.
To use the OSI analogy, we sometimes see a 7 layer stack of boxes with
vertical lines between them;
this stack lives in a single end-system. We also see diagrams showing
two end systems (each with a
7 layer stack), and horizontal lines between adjacent layers to
reprenent peer-to-peer protocols.
Sometimes the vertical lines are considered "interfaces".
I envision multiple views of the web services architecture: some that
represent the components of
the architecture than live within an end-system or intermediary, and
other views that show
connections between like architectural components in two or more
machines (similar to the horizontal
P2P lines in OSI diagrams). It may be an end-system publishing to a
registry, not necessarily P2P.
Anyway, getting into protocols and messages transmitted among interfaces
sounds a little too
concrete for an architecture document.
Maybe using the term "interactions" instead of "protocol" and the term
"information exchanges"
instead of "messages" would help set this in the proper abstraction
level. A WG would convert the
interactions into particular protocols sequences, and would map
information exchanges into messages.
SOAP 1.2 introduces the "Message Exchange Pattern" (MEP). Perhaps the
architecture would deal with
certain MEPs. Then, as in SOAP 1.2 Part 2, the MEP can be cast onto a
particular binding.
Comment 4:
This is a good goal. However, I do not see strong relevance to
programming models, modes of communication, or even platform
independence.
My comments:
A reasonable definition of an architecture is the set of "components and
the relationships between them". I believe that we could make this
requirement simpler and crisper.
Proposal
This replaces D-AC004.2 and D-AC004.3
The web services architecture shall consist of a set of components and
the relationships between them. Components are defined in terms of
interfaces that define constraints on the behavior of the components.
==============
D-AR004.3
currently reads
use XML based techniques for defining messages/protocols for invoking
web resources
This was accepted, however, some comments were:
Comment 1:
s/resources/services/
Also, how about using XML based technologies for describing
and discovering web services. Why is just invocation mentioned?
Comment 2:
Again, I think that we are talking here about services, not resources.
This is related to the discussion of whether you need XML to invoke a
service, and I am not convinced that the answer is yes yet.
We've been down this road several times, but I don't think that we
ever reached a conclusion. What if the very last step of a complex
transaction involving many individual services is an HTTP GET request
(with some parameters computed from the previous interactions)
returning a PNG diagram?
My comment:
This requirement doesn't directly follow from the CSF, but I would hate
to be the (first) person to suggest that we shouldn't use XML ;-)
Proposal:
s/resources/services/
================== (nearly there)
D-AC016 currently reads:
examine architectural and technology issues that might prevent
interoperability, and recommend existing standards and technologies
where available. Also to recommend the formation of new Working Groups
to develop areas of the Web Services Architecture where the need for
standardization and specification has been identified.
Voting comments:
Comment 1:
Unclear what "examine architectural and technology issues that might
prevent
interoperability" means.
Comment 2:
Separate the two CSFs. Move the latter to a team goal as it is not an
interoperability specific issue.
Comment 3:
The recommendation of forming new working groups is applicable for all
the
Web services requirements not just for D-AG001 Interoperability goal or
D-AC016, therefore, should be a separate requirement.
My comments:
I fail to see how a CSF relating to forming additional WGs belongs in a
specification document. However, making sure that we play nice with
existing standards is critical
Proposal
Identify those architectural and technology issues that might prevent
interoperability, and to reference existing standards and technologies
where available.
========
D-AR016.4 Currently reads
Formation of WGs to address gaps
D-AR016.4.1 in architectural realms
D-AR016.4.2 in technological realm.
Comments:
Comment 1:
Out of scope. Change "formation" to "recommendation"
Comment 2:
Not clear what the text means.
Comment 3:
We *are* the WG for the architectural realm, no new WGs needed.
Comment 4:
This does not follow from D-AC016 (which says "... recommend the
formation
of new WGs to develop areas of the Web Services Architecture ..."). Will
we
be recommending the formation of WGs to address technology gaps?
Proposal:
s/formation/recommendation/
Received on Monday, 15 July 2002 14:46:38 UTC