Workspace Versioning and Configuration
Management API
The WVCM API is being defined under the Java Community Process. The JSR-147 effort is described below. The original JCP submission for JSR-147 can be found here, but some clarifications of the goals of JSR-147 have been made since the original submission. In particular, although the semantics of the WVCM API are designed to be compatible with use of the DeltaV/WebDAV protocol, a WVCM implementation is free to use any protocol it wishes to communicate with the server (i.e. it is not constrained to use the DeltaV/WebDAV protocol). In addition, the WVCM API has been designed so that a subset of the API can be used to interoperate with a non-versioning server.
API |
WVCM: The Workspace Versioning
and Configuration Management API |
[API] |
03 Sep 2003 |
Workspace Versioning and Configuration
Management provides client support for creating and manipulating sets of
version-controlled files and web resources.
Specification Lead
Geoffrey
Clemm
IBM
Expert Group
Broadvision Inc. |
|
IBM |
Merant |
|
Oracle |
Software AG |
|
Sun Microsystems, Inc. |
Telelogic |
|
|
Status
|
02 Dec, 2003 |
|
|
11 Nov, 2002 |
|
|
11 Nov, 2002 |
|
Expert Group Formation |
|
11 Sep, 2001 |
|
10 Sep, 2001 |
Java
Community Process version in use: 2.1
Please
direct your comments on this JSR to jsr-147-comments@jcp.org
Java Specification Request (JSR)
Section 1. Identification
Submitting
Member: IBM
Name
of Contact Person: Geoffrey Clemm
E-Mail
Address: geoffrey.clemm@us.ibm.com
Telephone
Number: +1 781 676 2684
Fax
Number: +1 781 676 2400
Section 2: Request
Collaborative
authoring tools, including tools targeted for software development, document
management, and web content management, need access to a variety of services
for versioning and configuration management of the files and web resources
being created and modified. The DeltaV protocol (which is an extension to the
WebDAV protocol, which itself is an extension of the HTTP/1.1 protocol)
provides a standard protocol for versioning and configuration management of web
resources. The DeltaV protocol is the result of a three-year collaborative
effort by a wide range of participants from the open source community,
academics, and industry (e.g. IBM, Oracle, Merant, Microsoft, Rational). But
this protocol has the following problems when used by a client:
- The client often needs to maintain copies of the web resources in the client
file system (e.g. for disconnected use and performance improvement). Unless
clients agree on how that local file system state is maintained, it is
impossible for multiple clients to maintain correct local file system state.
- There is a large amount of boilerplate coding required to generate and
receive HTTP messages. It is far simpler and less error prone for a client
application to simply invoke Java routines.
- There are two significantly different variants of the DeltaV protocol: the
client-workspace package and the server-workspace package.
From a client's perspective, these two packages provide the same functionality,
and only differ by whether or not persistent state is maintained on the client.
This
specification will address these problems by defining a client side library
that will expose the full DeltaV functionality, but will:
-
automatically provide client-side file maintenance required by any operation
- hide whether or not DeltaV or some other protocol is being used to
communicate with the server
- hide the distinction between a client workspace and a server workspace in the
client side library implementation, so that a user of the
library is presented with a single uniform workspace interface.
J2EE/J2SE
A
common API to versioning and configuration management services will
significantly increase the ability for software development, document
management, and web content management tools to interoperate with a variety of
versioning and configuration management service providers.
No
existing specification deals with versioning or configuration management of
files and web resources.
It
will be possible for all communication between the client library and the
server that provides the versioning and configuration management services to be
done over the DeltaV protocol, which is an application of the HTTP/1.1
protocol.
javax.wvcm
None
None
Various
routine arguments will take strings that will need to be internationalized,
such as version descriptions.
None
Public
draft submitted by September 2003
Public review closed December 2003
Proposed Final draft submitted May 2004
Final release July 2004.
The
primary mechanism will be email. In addition, a weekly conference call will be
scheduled, to be used when needed. If higher-bandwidth communication is
required, a 2 day mid-week meeting (Tue/Wed or Wed/Thu) will be held at most
once a month, where the location will rotate among the contributing experts.
Section 3: Contributions
http://www.ietf.org/rfc/rfc2518.txt
(WebDAV)
http://www.ietf.org/rfc/rfc2616.txt
(HTTP/1.1)
http://www.ietf.org/rfc/rfc3253.txt
(DeltaV)
An
implementation of the Workspace Versioning and Configuration Management library
can use the DeltaV/WebDAV/HTTP protocol to communicate with the server. The
DeltaV protocol is defined in rfc3253, the WebDAV protocol is defined in
rfc2518, and the HTTP protocol is defined in rfc2616. If the DeltaV protocol is
used, the XML Parsing Specification can be the mechanism for manipulating the
XML content of the DeltaV protocol.