Some large software development projects need more than one versioning
system to accommodate not only a diversity of document formats and data
types, but also the geographic diversity of its programmers. However,
having more than one versioning system is generally very expensive. A
major factor in this expense is the requirement for a separate
application program interface (API) for each separate versioning system.
Accordingly, the inventors devised an exemplary API architecture that can
be extended with "plug-in"protocol providers to include virtually any
number of separate version stores or versioning systems. The exemplary
architecture includes a generic command parser and a command dispatcher.
The command dispatcher operatively couples to one or more protocol
providers, each coupled to at least one version store. Inclusion of the
OLE DB-compliant interface and the command parser in the exemplary
embodiment saves the protocol providers the effort and expense of
replicating these features, thereby reducing the cost of adding version
stores.