The Java™ Specification JSR-147 defines the Workspace Versioning and Configuration Management (WVCM) API, which provides client support for creating and manipulating sets of version-controlled files and Web resources.
The Java Specification JSR-147 defines the Workspace Versioning and Configuration Management (WVCM) API. This API minimizes the complexity of clients that are capable of interoperating with a variety of repositories. The WVCM API includes workspace management, version history management, baseline management, activity management, and namespace versioning. The WVCM API is available for download from the JCP Web site. The WVCM Reference Implementation (RI) and Technology Compatibility Kit (TCK) are available for download from developerWorks.
There are two key concepts in the WVCM API: workspaces and versioning. The purpose of a workspace is to provide an environment within which a user can make persistent modifications to one or more resources without interfering or disrupting the work of other users of those resources. This requires that the user be able to persist changes to resources (both content changes and naming changes) without those changes being immediately visible to other users. To provide this functionality, the changes made in one workspace (also known as a sandbox or a view) are visible in other workspaces only after the user of that workspace explicitly exposes those changes for use by other workspaces, and after a user of another workspace explicitly requests to see the changes that have been exposed.
The purpose of versioning is to provide an environment within which previous states of resource (both content and naming) are easily available. The term configuration management is used to emphasize that it is not just isolated resource states that must be easily available, but also consistent configurations of related resources. The benefits of versioning and configuration management include the following:
- A resource has an explicit history and a persistent identity across the various states it has had during the course of that history. It allows browsing through past and alternative versions of a resource. Frequently the modification and authorship history of a resource is critical information in itself.
- Resource states (versions) are given stable names that can support externally stored references for annotation and linking. By providing stable states of resources, version-control systems allow not only stable pointers into those resources, but also well defined methods to determine the relationships of those states of a resource.
- Sets of resources can be developed in parallel, and consistent groups of changes can then be exposed for use by other clients.
|JSR-147 Reference Implementation (RI)||wvcm-1_0-frd-ri.zip||536KB|
|JSR-147 Technology Compatibility Kit (TCK)||wvcm-1_0-frd-tck.zip||432KB|