GIR Logo

Arctic Region Supercomputing Center

Home > Backends > Customize Backends

Customize Backends

Introduction
To create your own backend, you must first know what kind of data you're working with, how you plan on indexing it, and how you plan on searching it. You must establish what kind of information you'll need from the client-side to run a search. For instance, Multisearch currently sends a query string, a string of the index, an int of minimum required results, and an int of maximum results to be returned to the client.

Your searcher might not require an index, as there is only one, or it might require a password. You should establish your needs, and then look at OGSA-DAI. All services must be OGSA-DAI sevices.

It is recommended that you write a searcher that you can run on the server-side to test before going ahead with making it into an OGSA-DAI service. You should also consider making files available online if you are providing a service for Multisearch.

OGSA-DAI Requirements
While OGSA-DAI provides great documentation for making activities, I suggest going in this order to make your creation a bit more smooth.

  1. Read the Architecture Data for OGSA-DAI, and ensure OGSA-DAI is successfully installed on your server. You can play with the various Client Toolkit examples to do this.
     
  2. Read up on, and create, a Data Resource Accessor.
    This will give you a solid understanding of some of the functions you might call in the Activity, as well as knowledge of how to deal with files. Most of the Resource Accessor can probably be taken from examples provided in OGSA-DAI. Downloading the source code and looking over it can be helpful. You can also Download the DRA used for Lucene in Multisearch, and see how it works.
     
  3. Put together an Activity (or, if your needs are more advanced, a Configurable Activitiy).
     
  4. Write a Client-Side Toolkit to work with Multisearch.

Client-Side Toolkits
In order to make Multisearch work with your backend server, you must provide your own Client Toolkit. The toolkit's primary responsibility is to generate the XML of the perform document to send the request over the wire. Your toolkit must extend edu.arsc.multiseach.SearchToolkit. This way it can be instantiated.

Right now, any SearchToolkit must be able to set a string of an index to be searched, set a query string, set a minimum, and set a maximum. It also must have a function called getInstance() which returns an instance of itself. This is because Multisearch uses Reflection. If your perform document needs more information of any kind that you get from the Client-Side, you must modify edu.arsc.multisearch.SearchToolkit.java to include a set function for it as well as a variable.

Again, this all must work with OGSA-DAI, so you must also have a schema for your perform document. You must have a Data Resource Accessor and an Activity. While OGSA-DAI itself does not require you to create a client toolkit, Multisearch does.

To add your new service, please read more at the Multisearch information pages.

ARSC UAF

Arctic Region Supercomputing Center
PO Box 756020, Fairbanks, AK 99775

© Arctic Region Supercomputing Center 2006-2007. This page was last updated on 1 August 2007.
These files are part of a portfolio for Kylie McCormick's online resume. See the disclaimer for more information.