Installation Guide
Prerequisite
- JDK 1.4 or 1.5
- Ant
- GT4.
The minimum requirement is to download and install the GT4 Java WS Core, which
is available from GT4 web site. Assume it is installed at $GLOBUS_LOCATION. Need
to set up an environment variable "GLOBUS_LOCATION" that reflects the GT4
installation directory. Also may put $GLOBUS_LOCATION/bin into the "PATH"
environment variable.
- Download four packages: Grimoires, Grimoires-WSRF,
Grimoires-GT4Authorization, Grimoires-GT4SecureClient. Unzip them.
Grimoires-GT4Authorization is not used in this guide, but it will be used in
the security guide.
Grimoires
This section explains how to install the Grimoires component.
- Under the root directory of the Grimoires package, there is a file
called "init.properties". In it, make sure "container = axis". The reason to
use "axis" instead of "gt4" is that Grimoires can not be compiled against
the Axis jars provided by GT4. So we use axis jars provided in Grimoires,
which is Axis 1.2RC3.
- In "src/", there is a file called "grimoires.properties", which
determines Grimoires' runtime behaviour. It is pre-configured to use a
file-backed in-memory Sesame RDF triple store as Grimoires' backend. We need
to specify where to put that file, for instance, "sesame.file = c:\\sesame.rdf".
Also set "authfile = _globus_location_/etc/grimoires/authlist.xml". Replace
"_globus_location_" with the actual absolute path for $GLOBUS_LOCATION. It
will be used by the access controller.
- Under the root directory of the Grimoires package, run "ant jar", which
will do the compilation and generate the jar. Note, Grimoires can be
compiled under either Java 1.4 or Java 1.5. But if you compile Grimoires
using 1.5, you can not run it under GT4 running under 1.4.
- run "ant gt4.makeGar", this will generate a GT4 gar file "grimoires.gar"
under "dist/server/".
- cd dist/server; globus-deploy-gar grimoires.gar.
Now you should have successfully deployed Grimoires.
Grimoires-WSRF
This section explains how to install the Grimoires-WSRF component.
- In "$GLOBUS_LOCATION\share\globus_wsrf_tools\build-stubs.xml",
append the following content "-x http://www.grimoires.org/metadata.xsd
-x http://www.grimoires.org/wsdl/type -x urn:uddi-org:api_v2"
to ${ns.excludes}. The modified ${ns.excludes} should look like:
<property name="ns.excludes" value="-x http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd
-x http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.wsdl ...... ......
-x http://www.w3.org/2000/09/xmldsig# -x http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
-x http://www.grimoires.org/metadata.xsd -x http://www.grimoires.org/wsdl/type -x urn:uddi-org:api_v2"/>
The reason is that we do not want Grimoires data models to be regenerated
when build
Grimoires-WSRF. They are already available in Grimoires jars.
- Under the root directory of the Grimoires-WSRF package, run "ant jarAllStubs".
It generates and compiles stubs. This only needs to be
called once if WSDLs are not modified in future.
- run "ant deploy". It deploys Grimoires-WSRF to GT4.
- run "ant buildFactoryClient". It deploys a command-line client for the
factory interface in Grimoires-WSRF into GT4.
Now you should have successfully deployed Grimoires-WSRF.
Grimoires-GT4SecureClient
This section explains how to install the Grimoires-GT4SecureClient component.
- Under the root directory of the Grimoires-GT4SecureClient package, run
"ant compile".
Test
Start the GT4 container by "globus-start-container -nosec". You will see a
list of services currently deployed. Among them, there should be
"http://hostname:8080/wsrf/services/grimoires/publish" (one of the services in
Grimoires), and "http://hostname:8080/wsrf/services/grimoires/wsrf/query" (one
of the services in Grimoires-WSRF).
Test Grimoires
Under the root directory of the Grimoires-GT4SecureClient package, run "run.bat
_grimoires_location_ < input.txt". Assume it is on Windows.
If GT4 WS
container is deployed at "http://hostname:8080/wsrf/services", where you can see
a list of services, then "_grimoires_location_" should be
"http://hostname:8080/wsrf/services/grimoires".
"input.txt" contains
commands to drive the client (GShell). You will see output on the screen. There
should not be any exception.
Test Grimoires-WSRF
wsrf-query -s http://hostname:8080/wsrf/services/grimoires/wsrf/query "/"
You will see output on the screen. There should not be any exception.
What if something goes wrong