MDR Query Service depends upon a number of libraries and software components. Make sure you download the software prerequisites and configure your environment properly to use MDR Query Service.
- Java 1.5 JDK and JAVA_HOME env defined
- Ant 1.7.0 and ANT_HOME env defined
- caGrid-customized Globus WS Core 4.0.3 unzipped and GLOBUS_LOCATION env defined
- (optional) Tomcat 5.5.27 Core installed and "CATALINA_HOME" env defined with Globus deployed to it
- (optional) JBoss 4.0.5GA installed and "JBOSS_HOME" env defined with Globus deployed to it
|Skip this step if you have already checked out the code and built openMDR at the root level as per mdrCore installation instructions|
Download the source release: Source Code zip
- Build Instructions: openMDR1.0
You can connect to the openMDR repository and download the source code. This option is similar to downloading the source release, but has the benefit of getting you all the latest updates to the code since it was released. That is, the source code checkout always has the latest patches applied to fix bugs found since the openMDR release.
On Linux systems, use the commands shown below to check out from the SVN repository.
On Windows systems, we recommend the following 3rd party tool as a GUI front-end to subversion to check out a caGrid release: http://tortoisesvn.tigris.org The command line version of subversion can be obtained from http://subversion.tigris.org
You might have to setup proxy variables in your svn profile if you are behind a firewall.
* Setup environment variable "OPENMDR_HOME" for your source code checkout:
Once you have mdr project checked out on your host system with Java, Ant and Globus prerequisites in place you can Build MDR Query Service. If you have built the project from root, you do not need to rebuild it.
a) Goto the the mdr project directory:
b) Run the target
Make sure EXIST_HOME is set in the environment before running the above task.
You will need to configure the Tomcat or JBoss container that you installed in Step 1.
Tomcat will run by default on TCP/IP port number 8080. You will need to configure the port to something else like 9090 since you might already have ExistDb running on 8080 by default. In order to change port for tomcat make the following changes in the $CATALINA_HOME/conf/server.xml
Identify the line:
Modify it to:
If you changed your default port 8080 to any other port, follow Step 8 at the bottom of this page, before you continue further.
- Download the appropriate version of tomcat, as detailed in the version of caGrid you are using.
- Create/Set the environment variable CATALINA_HOME to where you unzipped Tomcat
- Execute the following commands:
|Make sure JBoss 4.0.4 is installed and the JBOSS_HOME environment variable is set.|
Make sure you have installed, configured and built caGrid 1.3. Please refer to caGrid 1.3 installation documentation and Manual configuration of JBOSS container
JBoss 4.0.4/4.0.5 installation guide: http://docs.jboss.org/jbossas/guides/installguide/r1/en/html/install.html.
Be sure to install the Tomcat container into JBoss.
- Changes to Globus for JBOSS
In order to deploy Globus to the Tomcat in JBOSS Globus WSRF-Core needs two specific modifications.
- The AxisServlet needs to be able to support setting the root context based on the "webContext" variable set in the web.xml in the deployed wsrf.war/WEB-INF directory. Code exists in globus SVN head.
- The JNDIUtils needs to be modified to be able to suport adding the required context to the existing JNDI that JBOSS starts up. Code already exists in globus SVN head.
These required modifications all come in a modified and rebuilt wsrf-core.jar file which will be placed into
post deploying globus into JBOSS.
- Deploy Globus to JBOSS Tomcat
To deploy Globus to the Tomcat container within JBoss, execute the following commands:
Goto the mdrQuery project directory
* Deploy the MDR Query Service in an appropriate container according to your local installation. Following are the options available to deploy to respective containers. Use the one according to your local installation.
|Activity||Run Ant Task|
|Deploy to "GLOBUS_LOCATION"|
|undeploy from "GLOBUS_LOCATION"|
|deploy to "CATALINA_HOME"|
|undeploy from "CATALINA_HOME"|
|deploy to "JBOSS_HOME"|
|undeploy from "JBOSS_HOME"|
- start the container where you deployed the service
- Access the URL where the service is deployed and verify.
- run the Client to test the Query service
|Check and modify the Query Service configuration against which you are running your client in run-tools.xml file. Change the value attribute in the tag <property name="service.url" ...> value|
Ideally you should have made modifications to the configuration file($OPENMDR_HOME/projects/mdrCore/db/mdr/connector/stylesheets/config.xml) when building the openMDR project at root level. However, if you are installing just the Query service, you can modify file $OPENMDR_HOME/projects/mdrQuery/etc/config.xml for changes in mdrCore(OPENMDR) service url.
- Copy the following content and paste it in the config file under <resource> element.
- Edit the copied code in the config file to resemble something that you want to configure locally.
- Provide an appropriate name to the <query_service... "name" attribute. Make sure there are no duplicate names in the services.
- Enter the name provided above as the value for "cache_collection_id"
- Provide identifier_prefix: This value should be unique and should be something specific to the organization as Identifiers in mdrCore will be created using this as prefix, and the same will be used to resolve them.
- Provide appropriate url for the <query_service... "serviceURL" attribute.
- Make sure "category" attribute has a value of "CDE" for Common Data Element(CDE's) Query Services.
- Make appropriate changes in the "<title>" and "<description>" tag values
Please do not make any other changes to the configuration.