Versioning and Variant Authoring Requirements

Slides:



Advertisements
Similar presentations
© 2006 Open Grid Forum OGF19 Federated Identity Rule-based data management Wed 11:00 AM Mountain Laurel Thurs 11:00 AM Bellflower.
Advertisements

OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
© 2006 Pearson Addison-Wesley. All rights reserved4-1 Chapter 4 Data Abstraction: The Walls.
Java-Based Adaptive Web Caching CS-526 Fall 2002 Semester Project G. Williams.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Basic Concepts Architecture Topology Protocols Basic Concepts Open e-Print Archive Open Archive -- generalization of e-print Data Provider and Service.
CORDRA Philip V.W. Dodds March The “Problem Space” The SCORM framework specifies how to develop and deploy content objects that can be shared and.
Shibboleth: New Functionality in Version 1 Steve Carmody July 9, 2003 Steve Carmody July 9, 2003.
This chapter is extracted from Sommerville’s slides. Text book chapter
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 10: File-System Interface.
A Version and Variant Authoring Protocol Jim Whitehead Redmond Interim Meeting June 15, 1998.
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
WORKING WITH XSLT AND XPATH
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
WWW Distributed Authoring and Versioning (WEBDAV ): An Introduction Jim Whitehead, U.C. Irvine Chair, IETF WEBDAV Working Group.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
WebDAV Issues Munich IETF August 11, Property URL encoding At present, spec. allows encoding of the name of a property so it can be appended to.
Open Data Protocol * Han Wang 11/30/2012 *
DELTA-V Web Versioning and Configuration Management Working Group Jim Amsden.
Overview of Microsoft ISA Server. Introducing ISA Server New Product—Proxy Server In 1996, Netscape had begun to sell a web proxy product, which optimized.
Dr. Azeddine Chikh IS444: Modern tools for applications development.
Configuring Name Resolution and Additional Services Lesson 12.
WebDAV MERGE method use cases. Merge with simple conflict To merge main.c from the bugfix workspace into the project1 workspace the client would issue.
WebDAV Collections December 10, 1998 Judy Slein
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Session #2482 Implementing WebDAV Using J2EE TM and Open Source Technologies Juergen Pill Team Leader Software AG Remy Maucherat Software Engineer Sun.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
Extensions to PCEP for Hierarchical Path Computation Elements PCE draft-zhang-pcep-hierarchy-extensions-00 Fatai Zhang Quintin Zhao.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Java Web Services Orca Knowledge Center – Web Service key concepts.
4.01 How Web Pages Work.
4.01 How Web Pages Work.
Models for Resources and Management
Lesson # 9 HP UCMDB 8.0 Essentials
Proposal for Simple Diagnostics
CASE STUDY -HTML,URLs,HTTP
IEEE MEDIA INDEPENDENT HANDOVER DCN:
SysML 2.0 Model Lifecycle Management (MLM) Working Group
CHAPTER 3 Architectures for Distributed Systems
WEBDAV Washington, DC IETF
Applications of Data Mining in Software Engineering
Internet Networking recitation #12
Lesson 25: Task Management
Chapter 3: Windows7 Part 4.
Viney Sindhu Dr. Yanqing Zhang
What is Cookie? Cookie is small information stored in text file on user’s hard drive by web server. This information is later used by web browser to retrieve.
Network Services Interface
An Introduction to Computer Networking
Configuring Internet-related services
March 17, 1999 Judy Slein WebDAV Collections March 17, 1999 Judy Slein
Lecture 3: Secure Network Architecture
Versioning and Variant Authoring Design Team
IEEE MEDIA INDEPENDENT HANDOVER DCN:
WebDAV Design Overview
IEEE MEDIA INDEPENDENT HANDOVER DCN:
IEEE MEDIA INDEPENDENT HANDOVER DCN:
Introduction to OGF Standards
WebDAV Advanced Collection Requirements
WebDAV Collections Protocol
IEEE MEDIA INDEPENDENT HANDOVER DCN:
4.01 How Web Pages Work.
Presentation transcript:

Versioning and Variant Authoring Requirements From RFC 2291 … and some new ones

Revisions are Frozen In order for caching and persistent references to be properly maintained, a client must be able to determine that a version has been frozen. Any successful attempt to retrieve a frozen version of a resource will always retrieve exactly the same content, Or return an error if that version (or the resource itself) is no longer available.

Variation across systems Version management systems vary greatly in the operations they require, the order of the operations, and how they are combined into atomic functions.

Variation across systems In the most complete cases, the logical operations involved are: Reserve existing version Lock existing version Retrieve existing version Request or suggest identifier for new version Write new version Release lock Release reservation

Design Balance The WebDAV extensions must find some balance between allowing versioning servers to adopt whatever policies they wish with regard to these operations and enforcing enough uniformity to keep client implementations simple.

Version Graphs (1) Each version typically stands in a "derived from" relationship to its predecessor(s). It is possible to derive several different versions from a single version (branching), To derive a single version from several versions (merging). The collection of related versions forms a directed acyclic graph.

Resource in Graphs It is also possible for a single resource to participate in multiple version graphs. It is possible to version resources of any media type.

Model and Policy The WebDAV extensions should support this versioning model, though particular servers may restrict it in various ways. The protocol should clearly identify the policies that it dictates and the policies that are left up to versioning system implementors or administrators.

Version Graph (1) Referring to a version graph. There must be a way to refer to a version graph as a whole. Referring to a specific member of a version graph. There must be a way to refer to each member of a version graph. Each member of the graph is itself a resource.

Version Graph (2) A client must be able to determine whether a resource is a version graph, or whether a resource is itself a member of a version graph. There must be a way to refer to a server-defined default member of a version graph.

Version Graph (3) It must be possible, given a reference to a member of a version graph, to find out which version graph(s) that resource belongs to.

Version Graph (New) Version Graphs Can Span Servers To support versioning in an Internet context, a version graph must be capable of expressing versioning which spans multiple server.

Graph Navigation Navigation of a version graph. Given a reference to a member of a version graph, it must be possible to discover and access the following related members of the version graph. root member of the graph predecessor member(s) successor member(s) default member of the graph

Retrieve Version Topology Version Topology. There must be a way to retrieve the complete version topology for a version graph, including information about all members of the version graph.

Version Identifiers A client must be able to propose a version identifier to be used for a new member of a version graph. The server may refuse to use the client's suggested version identifier. The server should tell the client what version identifier it has assigned to the new member of the version graph. A version identifier must be unique across a version graph.

Properties (Comments) A client must be able to supply version-specific properties to be associated with a new member of a version graph. At a minimum, it must be possible to associate comments with the new member, explaining what changes were made.

Session Tracking A client must be able to query the server for information about a version tree, including: which versions are locked which are reserved for editing, and by whom

Variant Authoring It must be possible to send variants to the server, describing the relationships between the variants and their parent resource.

Specify Negotiation (New) A client must be able to specify how a negotiated resource performs its negotiation. Example, if there are several language variants of a resource, how does a remote author inform a server that future content negotiated requests to resource A, requesting language L, will result in the retrieval of resource B (which is resource A in language L)?

Axes of Variation (New) Standard Axes of Variation. If authoring of variants is to be supported, standard axes of variation must be defined (and some discovery mechanism for detecting additional axes must be available). At minimum, the base set supported by HTTP/1.1 content negotiation should be supported, these being language, charset, media type, and content coding.

Activating a Resource for Content Negotiation (New) Since most resources do not support negotiation, there must be some way to turn this capability on (and off). Alternately, this could be formulated as having resources which always perform (or do not perform) content negotiation, and hence a means must be provided to create resources which always performs content negotiation.