Title: XCON data modeling
1XCON data modeling NETCONF, RDF and
othersdraft-schulzrinne-sipping-emergency-req-01
draft-sipping-sos
- Henning Schulzrinne
- Dept. of Computer Science
- Columbia University
2Executive summary
- XCON is an instance of a standard problem ? avoid
the IETF tendency to create one-off protocols - excusable a decade ago, recipe for delay now
- Provide both semantic (tightly constrained) and
user interface-oriented interface - Use XForms where user interface is needed
- Consider NETCONF for object content manipulation
and state retrieval
3Data representation models
- Document model
- structured document
- RPC model
- set/get variables
- Data models
- RDF
- NETCONF
- user-interface oriented
4Semantic description
- Tightly described set of properties
- No expectation that user interface would directly
correspond to each element - No I18N issue ? application maps description
elements to UI elements in appropriate language - translation into other languages done by client
- and may derive some parts through local policy,
rather than user input - Well-defined extension policy
5RDF
- Resource Description Framework (RDF) is a
language for representing information about
resources in the World Wide Web. - describing resources in terms of simple
properties and property values
6RDF, contd.
W3C RDF primer
7RDF/XML example
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns xmlnscontact
"http//www.w3.org/2000/10/swap/pim/contact"gt lt
contactPerson rdfabout"http//www.w3.org/People
/EM/contactme"gt ltcontactfullNamegtEric
Millerlt/contactfullNamegt ltcontactmailbox
rdfresource"mailtoem_at_w3.org"/gt ltcontactperso
nalTitlegtDr.lt/contactpersonalTitlegt lt/contactPe
rsongt lt/rdfRDFgt
identifies the thing subject (a URI) property
predicate value object
W3 RDF primer
8More about RDF
- Generally, meta data
- RSS is most common usage
- Also used in Composite Capabilities/Preferences
Profile (CC/PP) - Has schema-like capability to describe
vocabularies - Allows trees with nodes and relationships
(is-a, has)
9RDF evaluation
- Good
- limited parameter-value expressiveness
- type definition
- tools available
- Bad
- static document, does not define protocol to
get/set elements - would need XCAP, XPath or similar
10NETCONF
- The NETCONF protocol defines a simple mechanism
through which a network device can be managed,
configuration data information can be retrieved,
and new configuration data can be uploaded and
manipulated. The protocol allows the device to
expose a full, formal, application programming
interface (API). - http//www.ietf.org/internet-drafts/draft-ietf-net
conf-prot-05.txt - Defined to run over HTTP, BEEP, UDP,
11NETCONF, contd.
content
configuration data
operations
ltget-configgt ltedit-configgt
RPC
ltrpcgt ltrpc-replygt
application protocol
BEEP, SSH, SSL
12NETCONF
- Data
- configuration data writable ? ltget-configgt
- state data read-only, statistics ? ltgetgt
- Leaves privacy and authentication to transport
layer - Supports Xpath and subtree filtering
- Supports multiple data stores
- default ltrunninggt
- ltcandidategt allows incremental update commit
13NETCONF RPC
ltrpc message-id"101" xmlns"urnietfparamsxmln
snetconfbase1.0"gt ltrock-the-house
xmlns"http//example.net/rock/1.0"gt ltzip-codegt2
7606-0100lt/zip-codegt lt/rock-the-housegt lt/rpcgt
ltrpc-reply message-id"101" xmlns"urnietfparams
xmlnsnetconfbase1.0"gt ltsome-contentgt lt!--
contents here... --gt lt/some-contentgt lt/rpc-replygt
14NETCONF subtree filtering
ltrpc message-id"101" xmlns"urnietfparamsxmln
snetconfbase1.0"gt ltget-configgt ltsourcegt ltrun
ning/gt lt/sourcegt ltfilter type"subtree"gt lttop
xmlns"http//example.com/schema/1.2/config"gt lt
users/gt lt/topgt lt/filtergt lt/get-configgt lt/rpcgt
15NETCONF operations
get Retrieve all or part of state configuration
get-config Retrieve all or part of a specified configuration.
edit-config merge/create/replace/delete with possible roll-back
copy-config completely replaces configuration
delete-config delete a configuration datastore
lock lock configuration data store
unlock unlock configuration data store
close-session graceful termination releases locks
kill-session abort connection
16NETCONF capabilities advertisement
lthello xmlns"urnietfparamsxmlnsnetconfbase
1.0"gt ltcapabilitiesgt ltcapabilitygt urnietfp
aramsxmlnsnetconfbase1.0 lt/capabilitygt ltc
apabilitygt urnietfparamsxmlnsnetconfbase
1.0startup lt/capabilitygt ltcapabilitygt http
/example.net/router/2.3/coremyfeature lt/capabi
litygt lt/capabilitiesgt ltsession-idgt4lt/session-idgt
lt/hellogt
17User-interface oriented
- Describe suggested rendering on controlling
client without client knowing meaning of controls - element names are just labels
- e.g., cant gateway to other systems based on
equivalence - user interface can change at any time
- Element names are text strings, not XML elements
- no schema verification possible
18User-interface oriented
- Client software does not need to understand
meaning of terms just variables and prompts - includes necessary prompts and structure
- needs to be translated into different languages
by server - Existing work XForms
- http//www.w3.org/MarkUp/Forms/2003/xforms-for-htm
l-authors - Allows use of CSS to render on variety of devices
- Allows use of JavaScript for client-side
verification - Specifies type of control (selection), not
rendering (radio button, select list) - Suggestion allow as alternate representation
19XForms example
lthhtml xmlnsh"http//www.w3.org/1999/xhtml xm
lns"http//www.w3.org/2002/xforms"gt lthheadgt lth
titlegtSearchlt/htitlegt ltmodelgt ltsubmission
action"http//example.com/search
method"get" id"s"/gt lt/modelgt lt/hheadgt lthbod
ygt lthpgt ltinput ref"q"gtltlabelgtFindlt/labelgtlt/in
putgt ltsubmit submission"s"gtltlabelgtGolt/labelgtlt/s
ubmitgt lt/hpgt lt/hbodygt lt/hhtmlgt
20Conclusion
- If desired, XForms provides rich user interaction
environment - NETCONF provides flexible configuration retrieval
mechanism, with extensibility - incremental configuration commit
- stored configurations (startup, running,
candidate) - XPath and subtree selection
- no constraints on configuration content