MasterKey is a growing and evolving family of tools for building sophisticated information discovery solutions. They can be used individually, or they can be combined together using a shared service-based architecture. Some of the tools have been released by Index Data under OSS (open source software) licenses, whereas others, at this time, are made available exclusively to our customers.

To complement the software, Index Data offers a full range of support, consulting, and development services. For businesses, our components are flexible and modular enough to fit into practically any existing software platform. For consortia and larger libraries, we offer an opportunity to create a solution which is uniquely adapted to local needs, while also based on open software components and open standards.

In either case, what we offer is not just the tools, but the skills and experience of the people who create them. We have a 15-year history of creating information discovery solutions using open standards and modular software architectures. This is our focus and our passion.

These are the current members of the family:

Pazpar2

Pazpar2 is a high-performance, user interface-independent, data model-independent metasearching middleware webservice featuring merging, relevance ranking, record sorting, and faceted results. It will search Z39.50/SRU/SRW targets in parallel, create an internal, merged result set, and make this available to webservice clients. It can be configured independently and used without the other components in this list. However, when used in conjunction with the MasterKey platform, it is dynamically configured by the Service Proxy, so that multiple users with different target configurations can use it concurrently. Access to services that do not provide a standard interface can be provided through the Connector Framework, described below. Learn more about Pazpar2 here.

Connector Framework

This is a technology for providing access to remote systems that do not offer standard APIs or protocols.    Specifically, it can automate the kinds of interactions that end-users might have with a web-based interface, and construct structured output from presentation-formatted displays. Applications of the technology include metasearching, semi-automated data ingest or harvesting, or any other type of application that requires machine access to an interface designed for humans. In a metasearch application, it is used to provide access to search targets that do not support standards- based interfaces.

The framework uses a fully browser-embedded, visual development environment to reduce the skill and time required to create 'connectors' for different interfaces.    The net effect is to dramatically lower the cost of creation and operation of services that integrate access to different kinds of back-end systems.

Zebra

Zebra is a metadata indexing system. It will ingest MARC or XML and index records according to arbitrarily complex rules. It is designed for scalability and will efficiently index and search tens of millions of records on commodity hardware. In conjunction with Pazpar2, it can be used to support hundreds of millions of records across multiple servers. It supports fuzzy matching, facets, relevance ranking, and remote updating. Access to Zebra is based on standard protocols (Z39.50/SRU/SRW). Our next-generation search engine, 'Z3', will feature an even tighter integration of the indexing/search logic into our metasearch engine. Read more about Zebra here.

Service Proxy

This is a service that sits in front of Pazpar2 and augments the Pazpar2 webservice API. It is designed to be a general-purpose service platform into which we can add modules to support an increasing array of higher-order functions while keeping the core Pazpar2 code lean. It provides dynamic target configuration based on user identity (using the Torus), and it emulates a form of session persistence that simplifies client code by obviating the need for tracking session IDs in the user interface logic. The proxy will restart sessions if necessary. In addition to the core functionality, we are looking at adding features such as tagging and reviews of records, broadcast searching based on OpenURLs, circulation status lookup, etc.

User Interface Framework

This is a simple JavaScript-based framework for developing interfaces for Pazpar2. Use of it is not mandatory – there are many ways to program interfaces against the MasterKey platform. The framework instantiates each of the main components in a typical interface (result list, facets, record view, etc.) as a 'widget' that can be placed anywhere on a page and configured with respect to how things are presented (like records, lines in facet views, etc.) It is an attempt to make managing Pazpar2-style interfaces more intuitive for non-programmers.    As we continue to move towards ways to make the construction and maintenance of the user interface easier, we are experimenting with the integration of Pazpar2-based user interfaces into popular Open Source CMS packages.

Torus

The Torus is both a software component and architecture for maintaining complex knowledge bases in a distributed, cross-institutional fashion. Its primary use is to manage lists of search targets, either as global resources that are made available to customers, or as smaller lists that represents the selection of an individual customer. The architecture is hierarchical; so customers can themselves make target lists available to their own customers (e.g. in consortial models), down to the individual user level if required.

MKAdmin

This is an administrative shell designed to work with the Torus. It's both a practical example of an interface to the Torus platform, and a useful tool in its own right. It allows for the management of global search targets, local 'library' accounts with their own subsets of targets, as well as access control for local administrators to the admin interface.

Harvester

The harvester is a general-purpose scheduler for ingesting remote data sources. It is designed to support multiple job-types or protocols. At present it supports OAI-PMH, MARC bulk download, and simple harvesting of WWW jump-pages (e.g. A-Z lists). Other possibilities we're interested in are generic web harvesting and XML bulk file download. The Harvester has a native WWW interface, but it can be fully managed and controlled using a RESTful webservice, to enable it to fit into a local administration framework. It uses Zebra for indexing content, and it works with the Torus to allow any harvested resource to automatically appear as a potential search target in the administration system.

Metaproxy

The Metaproxy is a general-purpose information retrieval switchboard, diagnostic tool, load balancer, traffic regulator, performance enhancement tool, etc. We sometimes deploy it as part of our metasearch solutions, but it is also frequently used on its own, to control and enhance access to existing information sources. Read more about Metaproxy here.

AttachmentSize
masterkey.jpg31.06 KB