OWL-S/UDDI Matchmaker



OWL-S/UDDI matchmaker combines UDDI's proliferation into the web service infrastructure and  OWL-S's explicit semantic description of the web service. The paper "Adding OWL-S to UDDI, implementation and throughput" provides insights of the matching algorithm and implementation of the OWL-S/UDDI matchmaker.

Matchmaker is implemented as an extension of the jUDDI which is an open source Java implementation of the Universal Description, Discovery, and Integration (UDDI) specification for Web Services. You do not need to install jUDDI since it is included in the default installation package of the matchmaker starting from version 1.3.


To download OWL-S/UDDI matchmaker visit download page at SemwebCentral.


Below is the list of dependencies of OWL-S/UDDI Matchmaker. They are required before installing the OWL-S/UDDI matchmaker.
Java 1.5 or higher
Apache Ant (version 1.6.5 or higher is recommended)
To run tests you also need Apache Ant with JUnit extension installed

For details on Ant installation please visit http://ant.apache.org/manual/install.html
Apache Tomcat 5.5

UDDI matchmaker is running in the Apache Tomcat Container which must be installed prior to matchmaker installation. The matchmaker was tested with the Tomcat 5.5.17. You can get Tomcat at http://tomcat.apache.org/
MySQL database server

Some matchmaker data are stored in the database. Particularly, jUDDI data need to be stored in the DB system. Current version of matchmaker uses MySQL server and is tested with its version 5.0.22. MySQL server can be downloaded at http://www.mysql.com.

Optional dependences:

Starting from version 1.3 the matchmaker comes with support for different desription logic reasoners. Installation includes Jena resoner and Pellet reasoner. We also support Racer reasoner, which is not included in the package and must be downloaded and installed separately if needed. For more details see the installation section.
Racer  - http://www.racer-systems.com/

RACER is a Description Logic reasoning system. You can download either linux or windows version of the Racer and host it. By default Racer uses 8080 for its http port and 8088 for its TCP port which conflicts with the default Tomcat Port. So please run the Racer System in a different port using the following command : racer -t <tcp-port> -http <http-port>
Note: The matchmaker is compatible with racer version 1.7.12. The 1.7.12version of racer can be downloaded from the following location
linux version - http://www.daml.ri.cmu.edu/matchmaker/download/racer-1-7-12-linux.tar.gz
windows version - http://www.daml.ri.cmu.edu/matchmaker/download/racer-1-7-12-windows.zip

Contents of the Download:

  • test/ - unit tests source code
  • docs/ - documentation
  • docs/api - javadocs for OVM
  • juddi-config/ - installation files of the jUDDI software
  • lib/ - third party libraries
  • matchmaker.jar - matchmaker jar file
  • build.xml - build file for compiling the matchmaker.jar file and running tests
  • license.txt

Matchmaker Installation:

Install prerequisites

Make sure that you installed all prerequisites and that the MySQL server is running.
Modify the the config.properties file

In the installation directory you can find the config.properties file that allows you to specify all installation options.
Edit this file to ensure that the tomcat-home-directory property points to the location where the Apache Tomcat server is installed.
Modify the mysql-root-password property to the actuall value of you mysql root password. This password is needed to be able to create and populate the jUDDI database. Leave this property unchanged if your root password is an empty string.
Install the matchmaker

In the installation directory type the following command on the command line:

ant install-juddi-matchmaker

(Re)start Tomcat

Please follow the instruction of the Apache Tomcat to start or restart the server.

Now matchmaker should be ready to use. The following section explains how you can test the matchmaker.

Matchmaker Tests:

Before testing the matchmaker please make sure that Tomcat is running and that jUDDI is "happy".

To test if jUDDI is happy, you can use the following address in the web browser: http://localhost:8080/juddi/happyjuddi.jsp . This assumes that your Tomcat server is running on your localhost on the standard 8080 port.
After loading this URL you should see a page with the message "Happy jUDDI!" on its top. When you scroll down the page there should be no error messages or messages in red color.
Basic tests of matchmaker algorithm and reasoner

To test a basic functionality of the matchmaker algorithm and its communication with the reasoner go to the matchmaker installation directory and on the command line type the following command:

ant run-tests

First, this command compiles jUnit tests and then runs standard test set. Please note that these tests do not test the matchmaker within the jUDDI and Tomcat container. Only the standalone algorithm is tested.
jUDDI matchmaker tests via the matchmaker client

In order to test the jUDDI matchmaker that you installed into your tomcat container the matchmaker client must be used. Matchmaker client provides a convenient API that can be used from within other applications to communicate with the jUDDI matchmaker. You can download matchmaker client from the SemwebCentral download page.

Modifying matchmaker configuration:

Please note that each time you change the matchmaker configuration Tomcat server has to be restarted

Modifying the matchmaker.properties file

It is possible to modify some matchmaker settings by editing its configuration files.
The matchmaker configuration file is called matchmaker.properties and you can find it in the <tomcat_home_dir>/webapps/juddi/WEB-INF/classes directory. <tomcat_home_dir> stands for the directory where your Apache Tomcat server is installed.

You can modify following properties in the matchmaker.properties file:
The reasoner can be selected by specifying the value of the reasoner property.
Currently following values are supported: jena, pellet, racer.
Each value stands for the corresponding reasoner.
By default, pellet reasoner is used.
Start the matchmaker GUI, good for debugging.  To start the matchmaker's gui set it to "yes" else set it to "no". Avoid using matchmaker gui for final installation.
matchmakerGUI = yes 
TCP Port where the Racer is hosted (has effect only when racer is used as a reasoner)
RacerPort =<port no>
IP address where Racer is hosted (has effect only when racer is used as a reasoner)
RacerIP = <ip address>

Controlling the Log

jUDDI by default prints its log statements to juddi.log, which may be generated in the tomcat/bin directory. Inorder to see the log statements generated by the matchmaker, add the following statement "log4j.logger.EDU.cmu.Atlas.matchmaker= INFO, LOGFILE" to the webapps/<juddi-dir>/WEB-INF/classes /log4j.properties. For a much detailed log statements change the log level from INFO to DEBUG. Make changes to the log file before your start the tomcat server.

Copyright 2007 © The Intelligent Software Agents Group The Robotics Institute Carnegie Mellon University