Presentation is loading. Please wait.

Presentation is loading. Please wait.

XCAP. XML Configuration Access Protocol - an application layer protocol that allows a client to read, write, and modify application configuration data.

Similar presentations


Presentation on theme: "XCAP. XML Configuration Access Protocol - an application layer protocol that allows a client to read, write, and modify application configuration data."— Presentation transcript:

1 XCAP

2 XML Configuration Access Protocol - an application layer protocol that allows a client to read, write, and modify application configuration data stored in XML format on a server

3 XCAP features ● The following operations are supported via XCAP protocol in a client- server interaction: – Retrieve an item – Delete an item – Modify an item – Add an item ● The operations above can be executed on the following items: – Document – Element – Attribute

4 XCAP functional elements

5 HTTP URI

6 XML Basics ● XML is a mechanism for representing structured data ● Data is represented by a tree ● Each node in the tree is an element ● Elements have attributes – Attributes qualify the data ● “Leaf” Elements can contain text content Jonathan Rosenberg jdrosen@dynamicsoft.com 600 Lanidex Pl Parsippany NJ USA

7 XML Namespaces ● Problem – Want to combine content from different systems into one document – What if both sources define the same name? ● Example – Add information to address book on whether data is synced with PC – synchronized – Which state is it? <!—This guy is a bozo -- Jonathan Rosenberg jdrosen@dynamicsoft.com 600 Lanidex Pl Parsippany NJ USA

8 XML Namespaces ● Solution: XML Namespace ● Elements and attributes are bound to a namespace when defined ● Namespace is identified with a unique URI ● A prefix is bound to that URI through a declaration in the document ● Each element is named with its qualified name – The prefix, followed by a colon, followed by the local-name <?xml version="1.0" encoding="UTF-8"? xmlns:post=“http://www.post.com”http://www.post.com xmlns:sync=“http://www.sync.com”> <!—This guy is a bozo -- Jonathan Rosenberg jdrosen@dynamicsoft.com 600 Lanidex Pl Parsippany NJ USA synchronized

9 Positional Selectors ● What if there are multiple elements with that name? – Can supply predicates which select one of the matching ones – Predicates appear in square brackets ● One such predicate is position – Indicates which one by its place in the ordered sequence of matching elements ● Select second bar: foo/bar[2] ● Select first bar: foo/bar[1] Hello There

10 Select by Attribute Name ● You can select elements that have attributes with specific values element[@name=“value”] foo/bar[@attr=“1”] foo/bar[@attr=“2”] foo/bar[@stuff=“LOTR”] Hi How Are

11 Selecting Attributes ● An attribute is selected by prefixing its name with an “@” foo/bar[1]/@attr foo/bar[@attr=“2”]/ @bool foo/movie/@stuff ● The selected object is JUST the value – Different from elements – Name would be redundant Hi How Are

12 AUID ● Unique Identifier for each application ● Two sub-namespaces – IETF tree: tokens in RFC documents ● IANA Registry – Vendor tree: proprietary data ● Start with reverse DNS name of enterprise ● Examples – IETF Tree ● “resource-lists” draft-ietf-simple-xcap-list-usage ● “pidf-manipulation” draft-isomaki-simple-xcap-pidf-manipulation-usage-00 ● “rules” draft-rosenberg-simple-rules – Vendor Tree ● “com.example.customer-list”

13 AUID Grammar AUID = global-auid / vendor-auid global-auid = auid auid = alphanum / mark vendor-auid = rev-hostname "." auid rev-hostname = toplabel *( "." domainlabel ) domainlabel = alphanum / alphanum *( alphanum / "-" ) alphanum toplabel = ALPHA / ALPHA *( alphanum / "-" ) alphanum

14 Creating or replacing a complete XML document

15 Adding an element to an XML document

16 Deleting an XML document

17 Entity tags in HTML

18 HTTP conditional requests

19 Subscription to changes in XML documents

20 SUBSCRIBE request (1)

21 Diff-processing ● There are three possible values of the diff- processing parameter: – “no-patching” – “xcap-patching” – “aggregate”

22 Initial XCAP-Diff document included in a NOTIFY request (3)

23 Subsequent XCAP-Diff document included in a NOTIFY request (5)

24 XML Patch ● XML documents that offer a set of conventions to express changes incurred in other XML documents ● There are three patch operations: –

25 XML patch operations document

26 XDM

27 XDM (XML Document Management) ● XDM allows a user to: – modify XML documents stored in remote network servers. – synchronized the local copy of XML documents in the IMS terminal with the copy stored in network servers, so that if the user makes changes to one XML document from a given IMS terminal, other terminals are updated with the latest changes – searches of information stored in XML documents.

28 XDM architecture

29 XDM: basic GET operation

30 HTTP GET request (1)

31 HTTP 401 (Unauthorized) response (2)

32 HTTP GET request (3)

33 HTTP GET request (4)

34 200 (OK) response (5)

35 200 (OK) response (6)

36 Directory retrieval with XDM

37 Directory retrieval: HTTP GET request (1)

38 Directory retrieval: 200 (OK) response (5)

39 Directory retrieval: Aggregated 200 (OK) response (6)

40 Directory retrieval with XDM for a given XCAP application usage

41 Directory retrieval: HTTP GET request (1)

42 Directory retrieval : 200 (OK) response (3)

43 Searching data with XDM

44 Search operation: HTTP POST request (1) (part 1/2)

45 Search operation: HTTP POST request (1) (part 2/2)

46 Search operation: HTTP 200 (OK) response (4)

47 Sources ● The 3G IP Multimedia Subsystem (IMS) Third Edition, Gonzalo Camarillo and Miguel A. Garcia-Martin ● XCAP Tutorial, Jonathan Rosenberg ● http://www.openmobilealliance.org/


Download ppt "XCAP. XML Configuration Access Protocol - an application layer protocol that allows a client to read, write, and modify application configuration data."

Similar presentations


Ads by Google