Java 2 OWL-S Converter

Java2OWL-S Converter provides a partial translation between Java and OWL-S 1.1. The results of this translation are a complete specification of the Grounding, partial specification of the Process Model and Profile and a OWL Class file, when at least one of arguments in the java class's  method is a user defined class. This tool extends our WSDL2OWL-S converter, instead of taking a WSDL file as input, it takes a java class file as input and converts it into a WSDL file, using apache axis's Java2WSDL converter, and then feeds the generated WSDL file as an input to the WSDL2OWL-S converter.

Note : Before converting a java file to OWL-S file make sure that its class (and the classes which it depends on) are in the classpath.


Contents of the Downloaded file


Installation and running the test file

Ant Version:

  1. Prerequisite: ant 1.5.3 or above should be installed.
  2. Download and unzip wsdl2owls.zip from the website
  3. Execute "ant"
  4. You should see some messages on the console ending with "Closing All Files"
  5.  The generated OWL-S files should be present in the tmpFiles directory.

Non-Ant Version:

  1. Download and unzip wsdl2owls.zip from the website
  2. Compile TestJava2OWLS.java (Add wsdl2owls.jar and the jar files in the lib/ directory to your class path).
    javac -classpath "java2owls.jar;lib/saaj.jar;lib/jaxrpc.jar;lib/axis.jar;lib/commons-discovery.jar;lib/commons-logging.jar;lib/wsdl2owls.jar;lib/common.jar;lib/ecore.jar;lib/log4j-1.2.7.jar;lib/wsdl4j.jar;lib/xmlParserAPIs.jar;lib/xercesImpl.jar;lib/xsd.jar;lib/xsd.resources.jar"  TestJava2OWLS.java
  3. Run TestJava2OWLS(Add the current directory, wsdl2owls.jar and the jars in the lib directory to your class path).
    java -classpath ".;java2owls.jar;lib/saaj.jar;lib/jaxrpc.jar;lib/axis.jar;lib/commons-discovery.jar;lib/commons-logging.jar;lib/wsdl2owls.jar;lib/common.jar;lib/ecore.jar;lib/log4j-1.2.7.jar;lib/wsdl4j.jar;lib/xmlParserAPIs.jar;lib/xercesImpl.jar;lib/xsd.jar;lib/xsd.resources.jar"  TestJava2OWLS
  4. You should see some messages on the console ending with "Closing All Files"
  5.  The generated OWL-S files should be present in the tmpFiles directory.


WSDL2OWL-S Configuration


Using the configuration file the user can provide information to the converter to make the generated OWL-S file more complete. Using the configuration file, the user can provide information like the location where the OWL-S files will be hosted, the list of wsdl operations that need not be converted to corresponding atomic processes and aliases for the wsdl operations. An example configuration file config.xml can be found in the downloaded zip file. Following are the configuration parameter and their usage.

1) OutputDir: Location where the OWL-S files should be generated. By default the OWL-S files are generated in the current directory
     eg: <outputdir>tmpFiles</outputdir>

2) Service URL: URL where the service file will be hosted. By default the service url in the generated files will be "AddServiceURL"
eg: <serviceurl>http://www.cs.cmu.edu/naveen/service.owl</serviceurl>

3) Profile URL: URL where the Profile file will be hosted. By default the profile url in the generated files will be "AddProfileURL"
eg: <profileurl>http://www.cs.cmu.edu/naveen/profile.owl</profileurl>

4) Process URL: URL where the Process file will be hosted. By default the  process url in the generated files will be "AddProcessURL"
eg: <processurl>http://www.cs.cmu.edu/naveen/process.owl</processurl>

5) Grounding URL: URL where the Grounding file will be hosted. By default the grounding url in the generated files will be "AddGroundingURL"
eg: <groundingurl>http://www.cs.cmu.edu/naveen/grounding</groundingurl>

6) Mapping: By default the atomic processes are named as "portTypeName_operationName" where "portTypeName and operationName are the name of the portType and the operation of the corresponding WSDL Operation. The alias mapping allows users to provide more readable names to the generated atomic processes. The usage of the mapping element is shown below.
eg:
<mapping>
<atomic>
    <name>GetISBNProcess</name>
    <wsdlport>ISBNSoap</wsdlport>
    <wsdloperation>GetISBNInformation</wsdloperation>
</atomic>
<atomic>......</atomic>
.....
 </mapping>

The above configuration code instructs the converter to name the atomic process generated from  wsdl operation GetISBNInformation and portType ISBNSoap as "GetISBNProcess".

7) Omit: Using omit construct we can instruct the WSDL2OWL-S converter to omit specific portTypes or specific operations in a portType during the conversion. The  usage of  both type of omission is shown below.
<omit>
  <wsdlport>ISBNHttpPost</wsdlport>
  <wsdloperation>
  <port>ISBNHttpGet </port>
  <operation>GetISBNInformation </operation>
  </wsdloperation>
</omit>