Installation Guide

Chapter 12   Installing SilverJunction

Beginning with Version 3.5 of the SilverStream Application Server, the Web Server Integration modules for IIS and iPlanet supersede SilverStream’s SilverJunction and address limitations found in SilverJunction. You should use the WSI modules instead of SilverJunction to integrate a SilverStream server with your Web server. For more information, see Using the Web Server Integration Modules.

This chapter describes how to install SilverStream's SilverJunction DLL.

It includes the following topics:

    For information about using SilverJunction, see the chapter on maintaining the server in the Administrator's Guide.

About SilverJunction   Top of page

SilverJunction is a simple way to allow HTTP 1.1 browsers to mask the HTTP redirects between Web servers and the SilverStream Server. It is an IISAPI NSAPI DLL that can be installed on Microsoft Internet Information Server or Netscape Enterprise/Fast Track Web servers. It is associated with a particular directory on the server. When a user accesses the directory where SilverJunction is installed, the browser is redirected to the SilverStream Server. These linking parameters are stored in a properties file on the Web server.

Once redirected, the client's browser then makes a physical connection to the SilverStream Server. On browsers that support HTTP 1.1, the URL address does not change even though the browser is now hitting a new HTTP server (the SilverStream Server). This is an advanced type of redirect which makes the moving from one server to another transparent to the user. On older browser that do not support HTTP 1.1, the actual URL in the browser's address field will change to the SilverStream's server URL.

However, SilverJunction is not a daemon which passes all requests through/from a Web server to SilverStream. Instead it serves as a simple HTTP re-director (much like the SilverStream Dispatcher). Given this, SilverJunction cannot be used as a traffic cop to manage HTTP connections through a firewall to a SilverStream Server. This functionality is what proxy servers do. However, you can use SilverJunction on Internet Web servers to redirect application traffic to SilverStream Servers inside or outside the firewall provided that the browser can resolve the host name of the SilverStream Server (that is, it must be DNS-registered). If the SilverStream Server is inside the firewall, the firewall allows the traffic to get through.

Using SilverJunction in a cluster   Top of page

It is somewhat more complicated when using SilverJunction in a cluster of servers. SilverJunction would re-direct to a SilverStream Dispatcher, which would in turn re-direct to a SilverStream Server in a cluster. If you had five clustered servers inside the firewall, the firewall would need to be configured to allow traffic to get through to all five servers in the cluster and the Dispatcher. One alternative to this is to use a DNS-masking router (like the one from RND Networks) and only allow incoming traffic to the router's IP address/port number instead. Another alternative would be to place the servers outside the firewall and allow incoming traffic to the database server.

    For more information, see the chapter on clusters in the Administrator's Guide.

IIS running on NT   Top of page

For IIS 4.0 users, SilverJunction currently cannot be added as an ISAPI Filter through the Microsoft Management Console. You must add the DLL to the Filter DLLs registry key as described below.

  1. Assume that SilverStream is installed in a SilverStream directory. In this case the SilverJunction filter is located in SilverStream/bin/sj4isapi.dll.

  2. Start REGEDIT and go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters.

  3. IIS 4.0 Users only (Filter DLL value should exist on IIS2.0,3.0 already). Select Parameters, then right mouse button, and select New String Value. In place of the New Value #1 type Filter DLLs and then press Enter.

  4. Double click on Filter DLLs and in the Value data: field and add the path to your SilverStream SilverJunction DLL, for example, c:\SilverStream\bin\sj4isapi.dll.

  5. Stop and restart the World Wide Web Publishing Service from the Control Panel or the IIS Administration UI.

  6. Verify that SilverJunction has come up successfully by hitting one of the mapped directories in SilverJunction.jdl.

The configuration file for SilverJunction running under IIS on NT always resides in SilverStream\Resources\SilverJunction.jdl.

Netscape Server running NT and UNIX    Top of page

Netscape Enterprise Server 3.5.1 does not ship with the Netscape 3.0 NSAPI DLL required by SilverJunction. Netscape has posted a patch release to fix this problem. You can obtain this patch from Netscape's Web site (

  1. Assume SilverStream is installed in a SilverStream directory. In this case the SilverJunction filter is located in SilverStream/bin/sj4nsapi.(dll/so) and the configuration file for it is located in SilverStream/Resources/SilverJunction.jdl.

  2. In order to install SilverJunction on a Netscape server, edit its obj.conf file.

        For more information on Netscape Server configuration, refer to the Netscape documentation.

  3. At the end of the Init section, add the following two lines, replacing SilverStreamDir with the actual directory path.

    Both of the following Init fn commands should be on a single line in your file.

      Init fn=load-modules shlib="C:/SilverStreamDir/bin/sj4nsapi.dll" funcs="init_redirect,dispatch_redirect"  

    Init fn=init_redirect conf_file="C:/SilverStreamDir/Resources/SilverJunction.jdl"

    This ensures that SilverJunction is loaded, that its functionality is made available to the server, and that it reads its configuration file.

  4. At the beginning of the Service section, add the following line:

      Service fn=dispatch_redirect  

    NOTE   Netscape 2. 0 Users should reference sj4nsapi20.dll (Windows NT) or (Solaris).

    This ensures that SilverJunction is actually used to process the incoming requests.

        See below for a sample obj.conf. file.

  5. Stop and restart the Netscape Server to verify that SilverJunction was loaded correctly.

    If SilverJunction is running within a Netscape Server, its configuration file can reside anywhere, as long as the files location is reflected in the Init section of the obj.conf file under Init fn=load-modules.

Sample obj.conf file   Top of page

Here is an example of an obj.conf file that specifies SilverJunction.

  Init fn=flex-init access="C:/Netscape/SuiteSpot/https-myserver/logs/access" format.access="%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \"%Req->reqpb.clf-request%\" %Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%" 
Init fn=load-types mime-types=mime.types
Init fn=load-modules shlib="C:/SilverStream30/bin/sj4nsapi.dll" funcs="init_redirect,dispatch_redirect"
Init fn=init_redirect conf_file="C:/SilverStream30/Resources/SilverJunction.jdl"

<Object name=default>
NameTrans fn=pfx2dir from=/ns-icons dir="C:/Netscape/SuiteSpot/ns-icons"
NameTrans fn=pfx2dir from=/mc-icons dir="C:/Netscape/SuiteSpot/ns-icons"
NameTrans fn="pfx2dir" from="/help" dir="C:/Netscape/SuiteSpot/manual/https/ug"
NameTrans fn=document-root root="C:/Netscape/SuiteSpot/docs"
PathCheck fn=nt-uri-clean
PathCheck fn="check-acl" acl="default"
PathCheck fn=find-pathinfo
PathCheck fn=find-index index-names="index.html,home.html"
ObjectType fn=type-by-extension
ObjectType fn=force-type type=text/plain
Service fn=dispatch_redirect
Service method=(GET|HEAD) type=magnus-internal/imagemap fn=imagemap
Service method=(GET|HEAD) type=magnus-internal/directory fn=index-common
Service method=(GET|HEAD) type=*~magnus-internal/* fn=send-file
AddLog fn=flex-log name="access"

<Object name=cgi>
ObjectType fn=force-type type=magnus-internal/cgi
Service fn=send-cgi

Copyright © 2000, SilverStream Software, Inc. All rights reserved.