[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NETCONF WG meeting minutes for IETF #57
At 19:41 12/08/03 -0700, Andy Bierman wrote:
Hi,
Here are the minutes for the NETCONF WG meeting held in Vienna.
Here are some thoughts about some of the design directions being suggested...
1) The major issues facing the working group were listed
without much discussion:
Transport mappings
BEEP, HTTPS, SSH?
I don't think that BEEP and SOAP should be viewed as mutually
exclusive. There is a proposal (somewhere) for SOAP over BEEP. If this
means SOAP-over-HTTP, then I think it would help to avoid possible
confusion to say this explicitly. If you mean the pre-standard version of
SOAP that is specifically HTTP-based, then that should be stated clearly.
RPC Layer
SOAP encoding, xmlconf RPC, or simple request/response
This is the *real* possible role for SOAP: SOAP, as currently specified
[1], defines SOAP message structures separately from transport bindings.
[1] W3C Weekly News - 27 June 2003:
[[
SOAP Version 1.2 Is a W3C Recommendation
The World Wide Web Consortium released SOAP Version 1.2 as a W3C
Recommendation. The Recommendation is four documents: the "SOAP
Version 1.2 Primer," "SOAP Version 1.2 Messaging Framework," "SOAP
Version 1.2 Adjuncts," and the "SOAP Version 1.2 Assertions and Test
Collection." Developed by the W3C XML Protocol Working Group, SOAP
Version 1.2 is a lightweight protocol for exchanging structured
information in a decentralized, distributed environment such as the
Web. Read the press release, the testimonials, the changes and
benefits and the FAQ. Visit the Web services home page.
http://www.w3.org/2003/06/soap12-pressrelease
http://www.w3.org/2003/06/soap12-testimonial
http://www.w3.org/2003/06/soap11-soap12.html
http://www.w3.org/2003/06/soap12faq.html
http://www.w3.org/2002/ws/
]]
Advanced XML features
WSDL templates, XPath filtering, more?
Can WSDL be applied to non-SOAP message structures? (I don't know, but I
had the impression that SOAP - in some version - was a prerequisite for
using WSDL.)
Protocol Operations
Add, Modify, Delete Variants
Advanced operations: mandatory or optional
Multi-device operation support
Error Handling
Notifications
Security
Authorization model, user identity
[...]
There was agreement that XPath support would be a good idea,
but that it should be optional, and a special capability flag
for XPath support is needed.
I would be very wary about using XPath as the basis for selective access to
XMLConf data. XPath, by design, provides selection on the syntactic
structure of XML: it has been suggested elsewhere (e.g. in the netconf
protocol document, IIRC) that the data model is separate from the protocol
framework (which I think is a good approach). But the query/selection
syntax should be related to the data model, not to the carrier syntax. I
have seen difficulties arise with different XML-based applications where
people tried to use XPath selection for an XML format used to carry a data
model that was somewhat different from the XML carrier syntax. If the data
model does not map directly onto the XML syntax, then XPath selection may
well prove inadequate to make appropriate selection in the configuration data.
(See also my thoughts about a data model, below.)
2.3) Transport
WSDL over SOAP should be used as the transport binding.
Eh? I thought WSDL is a service *description* language, not a transport
binding. The closest I can make sense of this is that WSDL is used to
*describe* a transport binding for XMLConf.
New mappings for SOAP over SSH may be defined, and used
in addition to the SOAP over HTTP and SOAP over BEEP
bindings already defined.
Ah, good, these are stated more explicitly.
There were some strong comments from the group on this issue.
There seems to be some significant support for using SOAP
for the transport. NETCONF over BEEP is wrong because this
will cause the WEB Services model to be reinvented.
I'd be interested in a reference that describes *the* web services
model. I could maybe accept the above comment about reinventing the web
services model if I knew what it meant.
[...]
5.2) Configuration templates
A request was made for configuration template support.
This is an open issue. It is not clear if this would
be part of the protocol operations, part of the data models,
or both. Perhaps XPath can be used to supply some of this
functionality.
Ouch! That seems like the tail wagging the dog, or a hammer-and-nails
position (as in when you have a hammer ...). See above comments about
XPath. Perhaps there is a role for XPath eventually, but absent
understanding of the requirement I wouldn't want to think about that.
[...]
5.4) 'Get' protocol operation
The XMLCONF draft includes two 'Get' operations, one for
configuration data and one for everything else. A request
was made to change this scheme. It should be possible to
retrieve all types of data with a single request. It
was agreed that a 'get all' type of operation is needed.
IIRC, configuration vs everything else is an issue of static
(configuration) data vs dynamic (status) data. Or do I miss something? I
do find myself wondering if it is truly possible to draw such a
hard-and-fast distinction, and if one has appropriate selection model then
the distinction may be redundant. (e.g. if a device IP address is a static
assignment obtained by DHCP, which is it?)
[...]
Some thoughts about a data model
--------------------------------
These comments are not presented here as an idea for active consideration
by this group, but reflect some private work I have been doing, off-and-on,
over the past few months. I raise them here to underscore my concerns
about the possible problems of locking the data selection model too closely
to the the XML syntactic model in general, and XPath in particular.
I have done a small amount of work to use RDF [2] to represent information
about network device configuration and access policies [3]. While my early
experiments raised a number of problems using current RDF tools for this
purpose, they did also suggest some promising advantages.
RDF is a general purpose language for representing information in the web,
which grew out of the PICS (web site metadta) effort, and is now being used
in a number of diverse applications, including online resource cataloguing,
software agents, message routing, schedule descriptions, etc. It's key
features are use of URIs as identifiers, a data model based on a directed,
labelled graph, and an XML-based transfer syntax. The design of RDF makes
it easy to combine information from various sources into a single
expression. It also has a formal semantic structure which provides an
initial basis for generic processing of application data. (Roughly, RDF
does for application data semantics what XML does for application data
syntax: it provides a framework for building upon.)
So why apply the RDF model to network configuration data? My thoughts include:
(a) a ready path to include existing SNMP MIB structures
(b) fairly direct encoding of entity-relation data models defined using,
say, UML
(c) easy integration of common standard configuration data with
vendor-specific extensions
(d) availability of toolkits for processing information (semantic
processing as well as syntax handling) e.g. [4]
(e) possibilities for using generic tools for direct generation of
configuration data from access policy descriptions (this is an area in
which I am doing some development work to investigate using Haskell [5] as
a "scripting language" for dealing with application data semantics, in
particular network configuration and monitoring activities in relation to
the user-defined policies for network use).
The above claims beg some justification, which I don't attempt to do here.
My point is to illustrate, in a fairly concrete fashion, the possibility of
a data model that is carried in XML syntax, but which does not itself
directly reflect the underlying XML data model. XML is (roughly) a
labelled-and-annotated tree structure, where RDF uses a labelled directed
graph structure. Query/selection that works for a tree structufre doesn't
necessarily work for other data models. In the case of RDF, there is a
whole raft of experimental work to create a simple query framework, which
seems to be rapidly converging on some common core ideas (which happen to
considerably simpler than XPath-style selectors) [6].
#g
--
[2] http://www.ninebynine.org/Links.html#RDF
[3] http://www.ninebynine.org/SWAD-E/Intro.html#HomeNetAccessDemo
[4] http://www.ninebynine.org/Links.html#RDF-Tools
[5] http://www.haskell.org/
[6] RDF query work:
http://www.w3.org/2001/11/13-RDF-Query-Rules/
http://www.w3.org/TandS/QL/QL98/pp/rdfquery.html
http://ilrt.org/discovery/2002/04/query/
http://www-uk.hpl.hp.com/people/afs/Abstracts/ISWC2002-SquishQL-Abstract.html
http://www-uk.hpl.hp.com/people/afs/Papers/ISWC%202002%20-%20SquishQL.pdf
etc.
------------
Graham Klyne _________
GK@ninebynine.org ___|_o_o_o_|_¬
\____________/
(nb Helva) ~~~~~~~~~~~~~~~~~~ @Reading, River Thames
http://www.ninebynine.org/Travels/2003Aug-Thames/Intro.html
--
to unsubscribe send a message to netconf-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>