A Link to the Java Web Services Grid Sourceforge page...



Project Info

This project is a Web Service based computational grid infrastructure
written in Java. Once setup, it allows a user to submit job(s) to the
grid to be scheduled for execution on the grid nodes

If there is enough interest in this project, I will continue its development
Things to do:
  1. fix CVS repositories
  2. fix 1:1 service to database mapping
  3. support databases other than mysql
  4. create a "real" webpage
  5. create documentation
  6. etc, etc, etc...
Technologies / packages used
    1. Java
    2. Java Web Services
    3. JAX-RPC
    4. JAXB
    5. SAAJ
    6. Hyperic Sigar
Components
    1. Job Host - runs submitted executables
    2. Resource Manager - registry of job hosts
    3. Job Scheduler - schedules jobs on registered job hosts
    4. Job Client - command-line interface to grid services


Release Notes (v0.0.1)

Software needed to run:
-----------------------
- J2SE 5.0
http://java.sun.com/j2se/1.5.0/download.jsp

Needed for: JobHost, JobScheduler, ResourceManager, UserAgent

- JWSDP 1.5
http://java.sun.com/webservices/jwsdp/index.jsp

Needed for: JobHost, JobScheduler, ResourceManager, UserAgent

- SUN application server 8.1 2005Q2
http://www.sun.com/software/products/appsrvr/index.xml

Needed for: JobHost, JobScheduler, ResourceManager, UserAgent

- SUN directory server 5.2
http://www.sun.com/software/products/directory_srvr/home_directory.xml

For Linux, download the latest patch (I was able to find 2 patches)

Needed for: ResourceManager

- MySQL Database server
http://www.mysql.com/

Needed for: JobHost, JobScheduler, ResourceManager, UserAgent

- MySQL Connector/J
http://www.mysql.com/products/connector/

Needed for: JobHost, JobScheduler, ResourceManager, UserAgent

Notes / Problems:
-----------------

- Most services are configurable using a config file or through the command
line. The first time a service is installed, it should be configured through
the command-line, which will generate a configuration file for you.

- Java network security settings might need to be tweaked. I don't remember
the process required in order to do this, but I remember having to edit a
configuration file in the J2SE "\lib\security" directory. Only necessary if
strange error messages are being seen when attempting to use the Web services.

- The database design was poorly done. All of the services should be able to
point to a single database, but can't in the current version. I didn't include
columns to uniquely identify what data each service owns, so there is a 1 to 1
relationship between a database and a service. This could easily be fixed, and
wouldn't require large changes to the code. This would be localized to the
Sql.java files associated with each service, and updating the database schema.

- The files needed to distribute the packages are located in the 'jwsgrid' directory.
Everything but the 'src' subdirectory should be included on machines that will
run a service.


Install Info

  1. Download jwsgrid-0.01.zip
  2. Put all of the JARs in your classpath
  3. Deploy service WARs in an application server
  4. Run JAR for base services
  5. Services are configured via command-line interface
  6. SQL / LDAP schemas are generated by service configurators
  7. Submit jobs via command-line client