Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue
stylenone
A connector
Table of Contents
outlinetrue
stylenone
A connector server is required when a connector bundle is not directly executed within your application. By using one or more connector servers, the connector architecture thus permits your application to communicate with externally deployed bundles.

Connector servers are available for both Java and .NET.

A Java connector server is useful when you do not wish to execute a Java connector bundle in the same VM as your application. It may be beneficial to run a Java connector on a different host for performance improvements if the bundle works faster when deployed on the same host as the native managed resource. Additionally, one may wish to use a Java connector server under a Java remote connector server in order to eliminate the possibility of an application VM crash due to a fault in a JNI-based connector.

The use of .NET connector servers server is especially useful when an application is written in Java, but a connector bundle is written using C#. Since a Java application (e.g. J2EE application) cannot load C# classes, it is necessary to instead deploy the C# bundles under a .NET connector server. The Java application can communicate with the C# connector server over the network, and the C# connector server serves as a proxy to provide to any authenticated application access to the C# bundles deployed within the C# connector server.

...

Minimum Requirements:

  • Java 1.5 or later
  • Refer to your Java connectors to determine if there are any additional requirements

 

Create your execution environment

  • Create an empty directory (e.g. /usr/jconnserv) on the host where you wish to run the Java connector server.
  • Copy the jars framework-XX.jar and framework-internal-XX.jar (where XX is the version you want to use) and groovy-all.jar from the local maven repository into the directory
  • Create a new directory called bundles in the directory.
  • Using jar or unzip or similar tool, extract the connectorserver.properties from the framework-internal-XX.jar into the directory. The connectoserver.properties file is located in the jar as the pathorg/identityconnectors/framework/server/connectorserver.properties.

Test your execution environment

    Run
  • 6 or later for 1.4.X.Y / Java 1.8 for 1.5.X.Y
  • Refer to your Java connectors to determine if there are any additional requirements 

Create your execution environment

  • Download the Connector Server package
  • Unzip it in a directory of your choice (e.g. /usr/jconnserv) on the host where you wish to run the Java connector server

Test your execution environment

From the directory created above, run the Java connector server with no arguments to see the list of command-line options

...

:

...

  • Linux / MacOS: ./bin/ConnectorServer.sh
  • Windows: \bin\ConnectorServer.bat

You should see the following output:

    Usage: 
           
Main -run -properties
           
Main -setKey -key  -properties
           
Main -setDefaults -properties

Configure your Java connector server

  • Run the connector server with the -setKey option setKey option as described above to set your desired key into your properties file
  • For all other properties (e.g. port), edit the connectorserver.properties manuallythe conf/connectorserver.properties manually. The available properties are described in the connectorserver.properties fileproperties file.

Running your Java connector server

Run the server by launching with the -run option:

...

  • Linux / MacOS: ./bin/ConnectorServer.sh -run -properties conf/connectorserver.properties
  • Windows: \bin\ConnectorServer.bat -run conf\connectorserver.properties

Installing Connectors on a Java Connector Server

...

  • Copy the Java connector bundle jar file change directory to the bundles directory into the bundles directory in your Java connector server directory
  • If necessary, add to the classpath any 3rd party jars required by any Java connector.
  • Restart the Java connector server

...

  • javax.net.ssl.trustStorePassword
    For example, -Djavax.net.ssl.trustStorePassword=changeit
  • javax.net.ssl.trustStore
    For example, -Djavax.net.ssl.trustStore=/usr/myApp_cacerts

Or, instead, the non-standard certificate authorities may be imported to the standard ${JAVA_HOME}/lib/security/cacerts.

...

Start the Microsoft Services Console. Check to see if the Connector Server is currently running. If so, stop it. From a command prompt, set the key for the connector Server. This is done by changing to the directory where the connector server was installed (by default: \Program Files\Identity Connectors\Connector Server) and executing the following command:

ConnectorServer /setkey <newkey>

where <newkey> is the value for the new key. This key is required by any client that connects to this Connector Server.

...

The port, address, and SSL settings are in the tag called AppSettings?, and look like this:

<add key="connectorserver.port" value="8759" />
<add key="connectorserver.usessl" value="false" />

<add key="connectorserver.certificatestorename" value="ConnectorServerSSLCertificate" />
<add key="connectorserver.ifaddress" value="0.0.0.0" />

The port can be set by changing the value of connectorserver.port. The listening socket can be bound to a particular address, or can be left as 0.0.0.0. To setup to use SSL, you must set the value of connectorserver.usessl to true, and then set the value ofconnectorserver.certifacatestorename to your the certificate store name.

...

Trace settings are in the configuration file. The settings look like this:

<system.diagnostics>
 
<trace autoflush="true" indentsize="4">
     
<listeners>
       
<remove name="Default" />
       
<add name="myListener" type="System.Diagnostics.TextWriterTraceListener"
 initializeData="c:\connectorserver2.log" traceOutputOptions="DateTime">        
         
<filter type="System.Diagnostics.EventTypeFilter" initializeData="Information" />
       
</add>
   
</listeners>
 
</trace>
</system.diagnostics>

The Connector Server uses the the standard .NET trace mechanism. For more information about the tracing options, see Microsoft's .NET documentation for System.Diagnostics.

The default settings are a good starting point, but for less tracing, you can change the EventTypeFilter?'s initializeData to "Warning" or "Error". For very verbose logging you can set the value to "Verbose" or "All". The amount of logging performed has a direct effect on the performance of the Connector Servers, so be careful of the setting.

...

If for some reason, this is not adequate, the connector server may be installed or uninstalled as a Windows service by using the /install or /uninstall arguments on the command line. To run the Connector Server interactively, issue the command:

ConnectorServer /run

Installing Connectors on a .NET Connector Server

...