Configuring Jaxcent connector for Internet Information Services (IIS)

Jaxcent can be configured to work directly with Internet Information Services (IIS) via the Jaxcent ISAPI extension DLL. The DLL is provided in the "Connectors" folder, as JaxcentConnector21.DLL.

To use this DLL, check via the IIS manager if there is a scripts "Virtual Directory" configured. The properties for this must specify execute permissions for scripts and executables. If there is no appropriate virtual directory configured, configure a folder for scripts as follows.

  1. Select the web site in the IIS Manager, then select the action "New Virtual Directory".
  2. Specify the alias "scripts". You can also specify any other alias. The "scripts" alias is conventional.
  3. Provide a directory for the contents of the folder. The "Scripts" directory is common.
  4. Provide execute permission. Read and write permission are not required.
  5. Finish the wizard, then select the new item's properties and make sure Scripts and Executables have execute permission. Also make sure the "Cache ISAI applications" checkbox is checked.
Copy the DLL JaxcentConnector21.DLL to the scripts folder.

Create a text file with the name JaxcentConnector21.ini in the same folder where you have placed the DLL.

The .ini file provides configuration information. Each configuration item occurs on one line. The format is, key name followed by a colon and a space followed by the key value.

The following are the parameter names.

JVM Full path to the Java JVM.DLL on your system. This should be somewhere under your Java installation "bin" directory. This parameter is required.
Classpath Classpath to use when starting up Java via the JVM DLL. The path must contain the following two files:
  • Jaxcent21.jar
  • JaxcentFramework21.jar
In addition, it can contain other directories or jar files that you need. You can include your Jaxcent classes that are stable, here. Note that any classes you include here, will not be reloaded if it changes. The classes will be only reloaded when the virtual directory is unloaded, and the next time the connector DLL is accessed again.

This parameter is required.

LogFile Full path to a log file where output from your Java classes will go. Any output you send to "System.out" as well as any exception stack traces will appear here. Note that IIS extension DLLs have very limited access rights, and cannot write outside their own restricted area. Therefore you should include the log file in the Inetpub (or the IIS server root) hierarchy.

This parameter is required.

JaxcentConfigXML Path to a config XML file, which will contain the path mappings for Jaxcent. Similar to the servlet mappings, Jaxcent maps URLs to Java classes that it then loads, to process those URLs. This parameter is required.
ReloadableClasses Classpath for Jaxcent. The classes you write for Jaxcent, will be loaded from this classpath. You can also provide these classes to the application server, but during development it is recommended that you give the classes to Jaxcent directly. Jaxcent will reload these classes whenever they change. If you reload them using the application server, the context may get reloaded, which will break any existing Jaxcent connections. If Jaxcent does the reloading, existing web pages will continue using the old code, but when the page gets loaded again or refreshed, the new code will be used. This paramter is not required, but is recommended.
Other Parameters You can provide other parameters for use by your own application, using the same format. These will simply be passed on to your application.

A sample JaxcentConnector21.ini file is shown below.

When the servlet is correctly configured, visit the URL http://localhost/scripts/JaxcentConnector21.dll (changing the domain and/or path name as appropriate) in a browser, to make sure the servlet is working as expected.

You will also need to copy the file jaxcent21.js to the IIS root path (e.g. C:\Inetpub\wwwroot.) After you have copied it, edit the file, changing the servlet path from

  /servlet/JaxcentServlet21
to
  /scripts/JaxcentConnector21.dll