$CEAROOT/config $CEAROOT/temp $CEAROOT/recordsnote $CEAROOT should not be within the $CATALINA_HOME tree. inside the config directory you must create two files
<Context path="/cea"> <Environment name="cea.base.dir" override="false" type="java.lang.String" value="/Users/pharriso/Work/ag/src/applications/commandline/ceabasesafe" /> <!-- registry endpoints - these are essential for the proper working of CEA - it needs to be able to query the registry to do myspace operations and can update the registry with its own configuration t--> <Environment name="org.astrogrid.registry.query.endpoint" description="registry query service endpoint URL" type="java.lang.String" value="http://registry.astrogrid.org/astrogrid-registry/services/RegistryQuery" /> <Environment name="org.astrogrid.registry.query.altendpoint" description="fallback registry query service endpoint URL" type="java.lang.String" value="http://msslxv.mssl.ucl.ac.uk:8080/mssl-registry/services/RegistryQuery" /> <!-- service endpoint as seen by the outside world - here because of possible NAT firewall issues--> <Environment name="cea.webapp.url" type="java.lang.String" override="false" value="http://localhost:8080/cea/" description="service end point as seen by outside world"/> </Context>
WEB-INF/cec-spring.xml
file - you might want to do this to alter the default cpu and storage limits for the server.
The Commmand line Execution Controller is a component that can be used to wrap legacy command line applications in a specialized CEA web service so that it can become part of the VO.
For the CEA Command Line Execution Controller to be able to run an application, it must fit into the model of a command line application that the CEA server understands. Amongst other characteristics, it must be possible to run the application to completion with arguments supplied on the command line.
Characteristics of the application that cannot be supported include
The command line application parameters should be specified by one of the "standard" unix methods
It is possible that an application that does not quite meet these requirements in a small fashion could be accommodated by writing an adapter class that extends the standard org.astrogrid.applications.commandline.CommandLineApplication model.
The CEA Application model is also described in an IVOA document <commandLineExecutionControllerConfig> that contains <CmdLineApplication> elements (you will have one for each of your scripts) - In addition to the standard registry metadata elements each of the <CmdLineApplication>s has a < applicationDefinition> with a set of <parameters> and one or more <interfaces>.
The UML model for an application is shown in the diagram below
For this type of CEC we need to define a series of <parameterDefinition xsi:type="impl:CommandLineParameterDefinition"> elements corresponding to each of the command line parameters that there are. For command line applications parameters are typically specified in one of 3 ways under unix and the CEC can cope with any of these (theoretically in any combination, but I have not exhaustively tested this, and I doubt that I have covered everything)
Each <parameterDefinition xsi:type="impl:CommandLineParameterDefinition"> has a set of attributes that specify which of the above categories the parameter falls under, as well as some subelements that further specify the parameter.
this specifies what type the parameter. This value should be set to be as close as possible to what the application expects the type of the parameter to be to allow for possible type checking. Note that amongst the values there are several types that can effectively be used as "catchall" types, which can be used if the application does not have any strong typing. You should look in the schema for the up to date list, but a description of the meaning of the types is given below.
"---"then it means that the parameter will not be added to the command line at all - this is useful sometimes in allowing a value to be passed to the java wrapper class.
OptionVal
elementAn <Interface> is simply a collection of parameters - you might have a simple interface that consists of only one of the possible parameters and a complex one that consists of all the possible parameters. Each interface consists of a number of <input> and <output> parameters (designated by the pref element that points to the <parameterDefinition> above) - This classification is particularly important in the case of parameters that specify VOSpace/!MySpace file references, as this is how CEC knows whether to fetch the values of put them.
It might be that it is necessary to modify the output of the commandline application in some fashion to make the application more "VO friendly", this can be done in two general ways
ExecutionPath
element. A description of this method of customization is outside the scope of this documentation, but it is a valuable, and often quick-to-implement way to slightly alter the behaviour of an appliction.instanceClass
attribute on an Application
element.
WEB-INF/lib/astrogrid-contracts.jar
from the cea.war file and then extracting the schema/
directory (and subdirectories) from the astrogrid-contracts.jar. You can use these schema to validate the app-description.xml file if the CEA server seems to be having trouble reading it.
I | Attachment![]() |
History | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|---|
![]() |
app-description.xml | r1 | manage | 78.8 K | 25 Jun 2008 - 14:51 | PaulHarrison | application description file |
![]() |
astrogrid-cea-commandline-2008.2a2.war | r1 | manage | 28218.7 K | 25 Jun 2008 - 14:48 | PaulHarrison | CEA Server war file |
![]() |
registration-template.xml | r1 | manage | 5.3 K | 25 Jun 2008 - 14:52 | PaulHarrison | example registration template - change before use |
![]() |
sextractor.py.txt | r1 | manage | 4.9 K | 25 Jun 2008 - 14:41 | PaulHarrison | run sextractor remotely as a CEA appliction |