Ravenbrook / Projects / Perforce Defect Tracking Integration / Version 0.4 Product Sources / Design

Perforce Defect Tracking Integration Project


Perforce Defect Tracking Integration Architecture

Richard Brooksby, Ravenbrook Limited, 2000-08-10

1. Introduction

This document describes the architecture of the Perforce Defect Tracking Integration.

This document is incomplete. It is intended as a brief introduction to the architecture for version 0.1 of the P4DTI product.

This document will be modified as the product is developed.

The intended readership of this document is product developers.

This document is not confidential.

2. Overview

The architecture of the integration divides into two parts: the replicator and the tracker-client.

The replicator is a process which copies (replicates) data between a defect tracker and a Perforce server in order to keep each one up to date with changes made in the other. This allows developers to do their routine defect resolution work entirely from their Perforce client, without needing to use the defect tracker's interface. It also allows developers to relate their changes to defect tracking issues.

The tracker-client is an extension to the defect tracker's interface which allows it to act as a Perforce client. This allows developers to do their routine defect resultion work entirely from the defect tracker's interface, without needing to use an ordinary Perforce client.

The replication and tracker-client combination was chosen as the architecture for the P4DTI project after a careful analysis of several alternatives [RB 2000-06-22].

3. The Replicator

Data needed to meet the integration requirements is stored in both the defect tracker's database and Perforce's database. In practice, this is:

A process establishes and maintains consistency between the two databases, copying data back and forth as needed. See figure 1.

Figure 1. The replication architecture
Diagram of the replication architecture

Queries from the defect tracker's interface can be resolved using only the defect tracker's database. Queries from Perforce's interface can be resolved using only Perforce's database.

4. The Tracker-client

The defect tracking client is also a Perforce client. The defect tracking client connects to the Perforce server using the Perforce API. It provides an interface through which the user can carry out routine software configuration management tasks from the defect tracker's interface. See figure 2.

Figure 2. The Tracker-client architecture

A. References

[GDR 2000-05-08] "Architecture Proposals for Defect Tracking Integration"; Gareth Rees; Ravenbrook Limited; 2000-05-08.
[GDR 2000-05-30] "Analysis of architectures for defect tracking integration"; Gareth Rees; Ravenbrook Limited; 2000-05-30.
[RB 2000-06-08] "Platform Analysis of Proposed Architectures"; Richard Brooksby; Ravenbrook Limited; 2000-06-08.
[RB 2000-06-22] "Architecture Recommendation for Defect Tracking Integration"; Richard Brooksby; Ravenbrook Limited; 2000-06-22.

B. Document History

2000-08-10 RB Created based on "Architecture Proposals for Defect Tracking Integration" [GDR 2000-05-08].

Copyright © 2000 Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may make and distribute copies and derivative works of this document provided that (1) you do not charge a fee for this document or for its distribution, and (2) you retain as they appear all copyright and licence notices and document history entries, and (3) you append descriptions of your modifications to the document history.

$Id: //info.ravenbrook.com/project/p4dti/version/0.4/design/architecture/index.html#2 $

Ravenbrook / Projects / Perforce Defect Tracking Integration / Version 0.4 Product Sources / Design