Home Page -> PerX -> The PerX Toolkit

The PerX toolkit is a software package produced by the PerX Project. Basically it provides federated searching functionality and it is able to simultaneously cross-search OAI, Z39.50 and SRU/SRW repositories as well as databases with custom APIs such as the Java SDK Google API interface. The PerX Toolkit makes use of algorithms developed by the SPP Project [1].

The toolkit software uses IndexData YAZ technology [2] to search remote Z39.50 databases, and the Lucene search engine [3] for searching local databases obtained by harvesting OAI metadata repositories. It uses in-house software for remotely searching SRU/SRW targets. It also includes custom APIs for searching proprietary databases such as the Google search engine, and potentially Amazon and Wikipedia searchable data.

PerX Toolkit Architecture

The PerX Toolkit technical architecture includes a set of Open Source software applications and loosely coupled software modules and libraries implemented using protocols for searching and harvesting distributed digital repositories as well as open standards that support the discovery and the cross searching of searchable databases. The PerX Architecture makes extensive use of message-oriented interfaces to harmoniously integrate the functionality provided by the different open source packages working together within the toolkit. This middleware (the "PerX MetaSearch Engine") is the core component of the software developed by the PerX Project.

PerX Toolkit Architecture

  • System Benchmark: PerX Toolkit and its predecessor the SPP xSearch Portlet

    Factor SPP xSearch PerX Toolkit
    Functionality Acceptable Good
    Usability Acceptable Good
    Software Maintenance Difficult (it is embed in a portal no longer maintained) Easy. It is modular and most of the coding is in PHP. OOP is only used in the sessions API
    Performance Acceptable. But it is prone to system failure (e.g. requires tomcat server be restarted nightly, periodic cleaning of memory garbage, etc.) Good. The first searches tend to be relatively slow (due to Java and Z39.50 runtime features) but subsequent searches are faster than SPP.
    Scalability Good. Tested with 20 targets Good. Tested with 42 targets
    Technology Java and Jetspeed-based portal technology PHP, MySQL and Java
    Code Status Beta 0.3   29/06/04 Beta 1.5   27/03/07
    SOA compliance No Acceptable
    Overall Pro Can cross-search Z39.50 databases simultaneously. Software easy to maintain, replicate (clone) and embed in external systems such as a VLE
    Overall Con Uses deprecated portal technology, its development team has been disbanded and its software is now unmaintained and out-of-date It has only one developer. Needs full documentation.

  • Service Features Comparison

    Feature SPP xSearch PerX Toolkit
    In production? No Yes [4,5]
    Webpage creation Velocity templates Uses CSS and HTML and XML templates. CMS features pending to be implemented via PAIN [6]
    Targets Maintenance Difficult. Adding/Updating of targets requires a lot of manual configuration and knowledge of XML/XSLT. Acceptable. It uses an admin interface for adding/updating targets, but requires human intervention for harvesting and normalising OAI targets.
    Accessibility Poor Acceptable
    Federated Searching Capability Can cross-search large number of OAI and Z39.50 databases simultaneously Can cross-search large number of OAI, Z39.50, SRU/SRW and proprietary databases simultaneously.
    OAI-PMH support Yes, via Arc & Lucene Yes, via PHP/MySQL & Lucene
    Z39.50 layer JZkit Yaz (C)
    Web Services support No Yes, via SRU/SRW

  • References

    1. SPP Project http://www.portal.ac.uk/spp
    2. IndexData YAZ http://www.indexdata.dk/yaz/
    3. Lucene search engine http://lucene.apache.org/java/docs/
    4. TechXtra http://www.techXtra.ac.uk
    5. Civil Engineering Cross Search Demonstrator http://www.engineering.ac.uk/civil
    6. PAIN http://www.techXtra.ac.uk/pain