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 |
<![if !supportEmptyParas]>�<![endif]>
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
<![if !supportEmptyParas]>�<![endif]>
Expert Group
Broadvision Inc. |
<![if !supportEmptyParas]>�<![endif]> |
IBM |
Merant |
<![if !vml]><![endif]> |
Oracle |
Software AG |
<![if !vml]><![endif]> |
Sun Microsystems, Inc. |
Telelogic |
<![if !vml]><![endif]> |
<![if !supportEmptyParas]>�<![endif]> |
<![if !supportEmptyParas]>�<![endif]>
Status
<![if !vml]><![endif]> |
02 Dec, 2003 |
|
<![if !vml]><![endif]> |
11 Nov, 2002 |
|
<![if !vml]><![endif]> |
11 Nov, 2002 |
|
Expert Group Formation |
<![if !vml]><![endif]> |
11 Sep, 2001 |
<![if !vml]><![endif]> |
10 Sep, 2001 |
<![if !supportEmptyParas]>�<![endif]>
Java Community Process version in use: 2.1
Please direct your comments on this JSR to [email protected]
<![if !supportEmptyParas]>�<![endif]>
Java Specification Request (JSR)
<![if !supportEmptyParas]>�<![endif]>
Section 1. Identification
Submitting Member: IBM
Name of Contact Person: Geoffrey Clemm
E-Mail Address: [email protected]
Telephone Number: +1 781 676 2684
Fax Number: +1 781 676 2400
<![if !supportEmptyParas]>�<![endif]>
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.
<![if !supportEmptyParas]>�<![endif]>
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)
<![if !supportLineBreakNewLine]>
<![endif]>
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.
<![if !supportEmptyParas]>�<![endif]>
<![if !supportEmptyParas]>�<![endif]>