Developer's Guide - JChem Web Services

Version 6.2.3

Introduction

JChem Web Services provides a web interface that extends access to ChemAxon tools over the Internet or an internal network. This interface makes it easy to integrate chemistry tools into your own web applications. JChem Web Services can be setup on any server environment that runs Java.
Download the JChem Web Services Server.

Architecture

High Level Overview

JChem Web Services runs on an Axis2 Web Application Engine served from a Tomcat web container. This server can be configured to run along side any other web services.

Web Services

Atom-by-Atom Search Web Service

The Atom-by-Atom Web Service provides an interface for searching a query molecule in a particular target structure.

Chemical Terms Web Service

The Chemical Terms Web Service provides an interface for applying chemistry and mathematical functions to molecules using the ChemAxon Chemical Terms language. Reference documentation: Chemical Terms Reference Tables
For a web service example, see the Python example and C# or C++ examples.
Further Chemical Terms Expression examples can be found at Chemical Terms Evaluator Examples.

Connection Web Service

The Connection Web Service provides an interface for connecting to a JChem Database and managing the connections. For a web service example, see the AJAX example.

Data Definition Web Service

The Data Definition Web Service provides an interface for manipulating (e.g. through create and drop functions) structure tables and fields in a JChem Database. For a web service example, see the AJAX example.

Data Manipulation Web Service

The Data Manipulation Web Service provides an interface for manipulating (e.g. through add, edit, recalculate, and delete functions) data in a JChem Database. For a web service example, see the AJAX example.

JChemSearch Web Service

The JChemSearch Web Service provides an interface to the JChem database search engine using JChem Base technology. Reference documentation: JChem Query Guide
For a web service example, see the AJAX example.

Markush Web Service

The Markush Web Service provides an interface for markush operations, e.g. sequential and random enumeration, library size etc. For a web service example, see the AJAX example.

Molecular Conversion Web Service

The Molecular Conversion Web Service provides an interface for converting molecules from one format to another. For a web service example, see the MolConvert Python example, or the image generation PHP or JavaScript example.
Further molecular conversion examples can be found at the MolConverter guide.

Reactor Web Service

The Reactor Web Service provides an interface for transforming starting compounds to products using a given chemical reaction. Reference documentation: Reactor guide.
For a web service example, see the Python example.
Further Reactor examples can be found at the Reactor Examples page.

Relational Data Management Web Service

The RelAdmin Web Service creates and removes logical relations between tables through foreign keys. Reference documentation: Relational Data Handling
For a web service example, see the relational tables JavaScript example.

Relational Data Search Web Service

The RelSearch Web Service makes possible the search in relation trees that can contain any number of tables connected to each other by RelAdmin Web service. Reference documentation: Relational Data Handling
For a web service example, see the relational tables JavaScript example.

Standardizer Web Service

The Standardizer Web Service provides an interface for applying standardization actions to molecules. Further standardization examples can be found on the Standardizer Simple Examples page.

Examples and Language-Dependent Developer's Guides

AJAX example

An AJAX example for searching, exporting, and printing compounds using the JChemSearch Web Service can be found in the JChem Web Services Server distribution under "tomcat/webapps/ROOT/ajax".
Click here to try the application or follow the setup guide to run your own local version.
The AJAX developer's guide contains information about the functioning and the design principles of the AJAX client.

Simple JavaScript examples

There are simple JavaScript examples that are embedded in plain html pages. They are for:
  • generating molecule images using the Molecular Conversion Web Service.
  • the administration and querying of data in relational database tables.
All JavaScript examples can be found in the JChem Web Services Server distribution under "/tomcat/webapps/ROOT/js_examples". See the Readme.txt at this location for further setup information.
The AJAX developer's guide contains information about the JavaScript SOAP layer.

PHP examples

A PHP example generates molecular images using the Molecular Conversion Web Service.
All PHP examples can be found in the JChem Web Services Server distribution under "/examples/php". The PHP Example developer's guide contains information about the SOAP handling in PHP using SoapClient.

Python examples

There are a number of Python scripting examples using different web services. They are for:
  • evaluating chemical and mathematical functions on chemical compounds using the Chemical Terms Web Service.
  • converting formats of molecules using the Molecular Conversion Web Service.
  • running virtual reactions using the Reactor Web Service.
All python examples can be found in the JChem Web Services Server distribution under "/examples/python".
The Python Example developer's guide contains information about Python and the ZSI web services module. It also describes the setup of the environment and explains how the Python script works with JChem Web Services. Lastly, there are usage examples.

CSharp and Unmanaged C++ example

The C# and C++ examples show how to convert the format of chemical structures using the Chemical Terms Web Service. The CSharp and C++ developer's guides can be found in the JChem Web Services Server distribution under "/examples/Cpp" and "/examples/CSharp". It describes how to add a web reference to the solutions to speed up development time by auto-generating classes covering the typed WSDL interface of the web service.

Error SOAP message format

Click here to see an example for the case a WS method returned an exception.

Do you have a question? Would you like to learn more?

Please browse among the related topics on our support forum or search the website. If you want to suggest modifications or improvements to our documentation email our support directly!