Home Sign Guestbook View Guestbook
Information
What is Grid Searcher?
Architecture
Tutorial
Download
Online Version
Documentation
History
Links
People
Exits
Java
XML
GNU Regexp
Cog
MDS

Grid Searcher Project

The architecture of Grid Searcher includes several components and employs several techniques. First, it initiates the queries to one or multiple MDS servers, and get the resource information from those MDS servers in LDIF data format; next, it translates the LDIF-formatted resource information into XML format; finally, it takes the user's resource requirement specification as input, and returns the qualified resources to user for selection.

The following figure depicts the architecture described above.

To make the above architecture a realization, several techinique are employed in the implementation. They are:

  • Java. The whole project is built based on Java technology, for specific, upon JDK 2 platform. Using Java as the development tool has many advantages: it provides a cross-platform solution; it supports the XML processing very well; and it constructs the decent GUI. It is preferred to run under Java 1.4.0, but Java 1.3.1 also works.

  • XML. XML provides a more flexible way to manage the data which is originally in LDIF format.

  • Java Naming and Directory Interface (JNDI). The JNDI is a standard extension to the Java platform, providing Java technology-enabled applications with a unified interface to multiple naming and directory services including LDAP. Since the Grid information service is built upon LDAP technology, we use JNDI as the accessing medium to LDAP.

  • The JavaTM API for XML Processing (JAXP). JXP supports processing of XML documents using DOM, SAX, and XSLT, which acts as a very important role of processing XML formatted data in Grid Searcher.

  • Java Swing. The Swing components, which are parts of the Java Foundation Class(JFC), is a powerful tool to create graphical user interfaces (GUIs) for Grid Searcher application.

  • GNU Regexp package. The gnu.regexp package is a pure-Java implementation of a traditional (non-POSIX) NFA regular expression engine, which is used as part of the data filtering tool in Grid Searcher.

The following is the detailed description of processing procedures with regard to the techniques mentioned above.

  • MDS Query. The first step is to enable a backend query to one or several MDS servers set by the user. JNDI is used to connect, query, and retrieve the information from those servers, and it will return an enumeration of SearchResult java objects.

  • MDS SearchResult To XML. Since it is relative difficult to deal with the data stored in SearchResult format, the next step is using JAXP module to convert the SearchResult formatted data into XML format, either an XML file or a XML DOM object in Java.

  • Filter Data and Output. Now the Grid Searcher will instruct the user to input the specification of the application's resource requirement, which is described by MDS Resource Specification Language (MRSL) and processed by GNU Regexp package, search and filter the data, return the qualified resources back to user.

  • Pluggable GUI Modules. All the above procedures involves with the pluggable GUI modules developed by Java Swing components.

Feedback and questions concerning this site should be directed to hai@cs.uchicago.edu or sign my guestbook
Last updated: Fri Mar 15 2002