XCON - IETF 62 (March 2005) - Minneapolis 1 XCON data modeling – NETCONF, RDF and others draft-schulzrinne-sipping-emergency-req-01 draft-sipping-sos Henning Schulzrinne Dept. of Computer Science Columbia University
XCON - IETF 62 (March 2005) - Minneapolis 2 Executive 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
XCON - IETF 62 (March 2005) - Minneapolis 3 Data representation models Document model –structured document RPC model –set/get variables Data models –RDF –NETCONF –user-interface oriented
XCON - IETF 62 (March 2005) - Minneapolis 4 “Semantic” 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
XCON - IETF 62 (March 2005) - Minneapolis 5 RDF “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
XCON - IETF 62 (March 2005) - Minneapolis 6 RDF, cont’d. W3C RDF primer
XCON - IETF 62 (March 2005) - Minneapolis 7 RDF/XML example <rdf:RDF xmlns:rdf=" xmlns:contact=" Eric Miller Dr. W3 RDF primer identifies the thing = subject (a URI) property = predicate value = object
XCON - IETF 62 (March 2005) - Minneapolis 8 More 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”)
XCON - IETF 62 (March 2005) - Minneapolis 9 RDF: 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
XCON - IETF 62 (March 2005) - Minneapolis 10 NETCONF “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).” netconf-prot-05.txt Defined to run over HTTP, BEEP, UDP, …
XCON - IETF 62 (March 2005) - Minneapolis 11 NETCONF, cont’d. content operations RPC application protocol configuration data BEEP, SSH, SSL
XCON - IETF 62 (March 2005) - Minneapolis 12 NETCONF Data = –configuration data = writable –state data = read-only, statistics Leaves privacy and authentication to transport layer Supports Xpath and subtree filtering Supports multiple “data stores” –default – allows incremental update + commit
XCON - IETF 62 (March 2005) - Minneapolis 13 NETCONF RPC
XCON - IETF 62 (March 2005) - Minneapolis 14 NETCONF – subtree filtering
XCON - IETF 62 (March 2005) - Minneapolis 15 NETCONF 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
XCON - IETF 62 (March 2005) - Minneapolis 16 NETCONF capabilities advertisement urn:ietf:params:xml:ns:netconf:base:1.0 urn:ietf:params:xml:ns:netconf:base:1.0#startup 4
XCON - IETF 62 (March 2005) - Minneapolis 17 User-interface oriented Describe suggested rendering on controlling client without client knowing meaning of controls –element names are just labels –e.g., can’t 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
XCON - IETF 62 (March 2005) - Minneapolis 18 User-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 – 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
XCON - IETF 62 (March 2005) - Minneapolis 19 XForms example Search <submission action=" method="get" id="s"/> Find Go
XCON - IETF 62 (March 2005) - Minneapolis 20 Conclusion 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