back to API     back to index     prev     next  

Adding a Deployment Protocol

Objectives

ProActive support several deployment protocols. This protocols can be configured through an XML Descriptor file in the process section. From time to time, new protocols are added. This documentation describes how to add a new deployment protocol (process) to ProActive.

Overview

Adding a new process can be divided into two related tasks:

Both of this tasks are closely related because the Java Process Class is used when parsing the Descriptor XML.

Java Process Class

The Java Process Classes are defined in the org.objectweb.proactive.core.process package.

Process Package Arquitecture

Most implementations extend the class AbstractExternalProcessDecorator.


In this figure, OARSubProcess and SSHProcess both extend from AbstractExternalProcessDecorator. Notice, that in the case of SSH, more than one class maybe required to succesfully implement the protocol. This is why, every protocol is implemented within it's on directory in the process package:

ProActive/src/org/objectweb/proactive/core/process/newprocessdir/

Sometimes, implementeing a specific process requiers external libraries, possibly from the original protocol client. The correct place to put this external .jar libraries is in:

ProActive/lib/newprocessdir/*.jar

Before executing a deployment using this new process, don't forget to add this libraries to the $CLASSPATH envirorment variable.

The New Process Class

Usualy the new java process class will have a name such as: ProtocolNameProcess.java. The ProtocolNameProcess class will extend from AbstractExternalProcessDecorator. Therefore, at least the following inherited methods must be implemented:

The StartRuntime.sh script

On certain clusters, a starting script might be required. Sometimes, this script will be static and receive parameteres at deployment time (globus, pbs, ...), and in other cases it will have to be generated at deployment time (oar, oargrid). In either case, the proper place to put these scipts is:

ProActive/scripts/unix/cluster/

XML Descriptor Process

Schema Modifications

The schema file is located at: ProActive/descriptors/DescriptorSchema.sxd. This file contains the valid tags allowed in an XML descriptor file.

XML Parsing Handler

ProActiveDescriptorConstants.java:

This file is located in org.objectweb.proactive.core.descriptor.xml package. It contains the tag names used within XML descriptor files. When adding a new process, new tags should be registered in this file.

ProcessDefinitinonHandler.java:

Located in: org.objectweb.proactive.core.descriptor.xml, this file is the XML handler for the process descriptor section.



Copyright © 2001-2005 INRIA All Rights Reserved.