20 rows of Implementation IDs.
[irspy-moved-to-github.git] / web / htdocs / details / software.mc
1 %# $Id: software.mc,v 1.3 2007-04-18 12:13:01 mike Exp $
2      <div class="essay">
3      <p>
4       Index Data uses
5       <b>IRSpy</b> to maintain a registry of information retrieval
6       targets supporting the standard IR protocol
7       <a href="http://lcweb.loc.gov/z3950/agency/"
8         >ANSI/NISO Z39.50 (ISO 23950)</a>
9       and
10       <a href="http://www.loc.gov/sru"
11         >the SRU/SRW web services</a>.
12       Each registry entry consists of both database level information,
13       such as the indexes supported for searching and the record
14       syntax and schemas supported for retrieval, and record level
15       metadata such as titles, authors and descriptions.
16      </p>
17      <p>
18       IRSpy supports editing of record level metadata, and
19       automatically discovers database level information by probing
20       the registered targets using a set of feature-tests.  Tests are
21       implemented by
22 %# Link to /doc.html?module=ZOOM/IRSpy/Test.pm is not ready yet
23       individual plugins,
24       so new tests can be added without changing the core code.
25      </p>
26      <p>
27       For efficiency, probing of targets is done in parallel, using a
28       pool of a few hundred concurrent connections which is refilled
29       from a queue whenever a target in the pool completes its tests.
30       Testing the entire current registry of 1908 targets takes about
31       three elapsed hours on commodity hardware (Intel CPU, 2.8 GHz,
32       256 Kb cache, 4 Mbit/s network connection).
33      </p>
34      <p>
35       IRSpy's Web user interface allows users to
36       <a href="/find.html">search</a>
37       and
38       <a href="/find.html?dc.title=^a*&amp;_sort=dc.title&amp;_count=9999&amp;_search=Search">browse</a>
39       the registry, and to view
40       <a href="/stats.html">statistics</a>.
41       Authenticated users may also edit target data, run tests and add
42       new targets from the Web UI.  A set of command-line tools is
43       also provided, together with facilities for re-running the tests
44       periodically.
45      </p>
46      <p>
47       IRSpy is implemented in Perl, using the
48       <a href="http://search.cpan.org/~mirk/Net-Z3950-ZOOM/"
49         >ZOOM-Perl</a>
50       module to access Z39.50 and SRU/SRW databases.  The registry
51       database is implemented using
52       <a href="http://indexdata.com/zebra/"
53         >Zebra</a>,
54       also accessed using ZOOM-Perl.  The database
55       <a href="/doc.html?module=ZOOM/IRSpy/WebService.pod"
56         >can be interrogated using SRU/SRW<a/>:
57       it conforms to the
58       <a href="http://srw.cheshire3.org/profiles/ZeeRex/"
59         >ZeeRex application profile</a>,
60       and can supply registry records both in extended
61       <a href="http://explain.z3950.org/dtd/"
62         >ZeeRex format</a>
63       (now ratified as
64       <a href="http://www.niso.org/standards/standard_detail.cfm?std_id=816"
65         >ANSI/NISO Z39.92</a>
66       and in
67       <a href="http://www.loc.gov/standards/sru/record-schemas.html"
68         >Dublin Core</a>
69       summary format.
70      </p>
71      </div>