Skip Headers
Oracle® Waveset 8.1.1 Connector Reference
Release 8.1.1

E25959-06
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

1 Identity Connectors Overview

An identity connector is a component, similar to a resource adapter, that provisions and reconciles users to a target resource, such as IBM Domino or AS400. The scope of identity connectors has expanded to support both Oracle Identity Manager (OIM) and Oracle Waveset. That is, a connector can be installed on either system, although the connectors perform provisioning and reconciliations in different ways.

This document describes connectors from the Oracle Waveset perspective. Oracle Identity Manager provides a separate publication for each connector. Refer to the OIM publications for detailed information about each connector from the Oracle Identity Manager perspective.

The following sections describe connectors and the connector architecture:

1.1 Connector Architecture Overview

Sun Identity Manager first supported connectors in version 8.1. Connectors were introduced because they provided the following advantages over resource adapters:

Oracle Waveset connectors are designed to appear nearly identical to resource adapters in the administrator interface. However, the underlying architecture is very different.

The following figure shows the identity connector architecture.

Figure 1-1 Identity Connector Architecture

Description of Figure 1-1 follows
Description of "Figure 1-1 Identity Connector Architecture"

Each of these components are described in the following sections:

1.1.1 Identity Connector Framework

The Identity Connector Framework (ICF) is a component that provides basic provisioning, reconciliation, and other functions that all Oracle Identity Manager and Oracle Waveset connectors require.

Oracle Waveset includes the ICF in the WEB-INF directory. You do not need to configure or modify the ICF.

The ICF is packaged in the following JAR files.

  • ICF Application Programming Interface (API): connector-framework.jar

  • ICF implementation: connector-framework-internal.jar

  • Embedded Groovy script interpreter: groovy-all.jar

The ICF provides a Service Provider Interface (SPI) for creating a custom connector or extending an existing connector. The use of this SPI is not described in this document.

1.1.2 Connector Bundles

A connector bundle is simply a specialized JAR file that contains the connector implementation. The connector bundle can also include any auxiliary libraries such as third-party libraries that are required by a connector.

If Oracle has a license to distribute a resource's corresponding JAR file, it is also included in the bundle. However, in most cases, you will need to add the JAR to the bundle or put the JAR into the WEB-INF/lib directory of Oracle Waveset server. The documentation for each connector indicates whether this is necessary and provides information about where to place external JAR files. The directory for third-party JAR files is the /lib subdirectory of the connector bundle.

A bundle includes a manifest file, META-INF/MANIFEST.MF, which defines the following properties:

  • ConnectorBundle-FrameworkVersion — The minimum version of the ICF required by the connector. This requirement is checked against version of deployed ICF inside Oracle Waveset.

  • ConnectorBundle-Name — The qualified name for the connector bundle, such as org.identityconnectors.as400.

  • ConnectorBundle-Version — The version of the bundle. Within a given deployment, the combination of ConnectorBundle-Name and ConnectorBundle-Version must be unique.

You can implement multiple connectors that each support a different version of a resource by using different versions of the connector bundle. In this case, it is highly recommended that you place the resource's JAR file inside the connector bundle.

The Oracle Waveset 8.1.1 bundle patch automatically installs the bundle files. If you need to deploy the bundle in a WAR file, place the bundle in the WEB-INF/bundles directory at the root of the web application.

1.1.3 Oracle Waveset Connector Integration Files

The Oracle Waveset connector integration files are XML files that provide the configuration information necessary to transform data from a resource to Oracle Waveset. These integration files are sometimes called the connector "glue" code. If you are upgrading from a resource adapter to the current version of the connector, consider reviewing the respective XML files before you do the upgrade.

Each Oracle Waveset connector has specific integration files that are distributed as part of the connector bundle. These files are in a directory that includes the name glue.

Although the specific contents of the connector integration files vary with each connector, these files typically contain the following information:

  • Version of the code

  • Schema map

  • Resource attributes

  • Migration instructions, including adding and deleting account and resource attributes

  • Definitions of resource-specific objects

  • Custom user forms

1.1.4 Connector Servers

A connector server is required when a connector bundle is not directly executed within an application. By using one or more connector servers, the connector architecture allows an application to communicate with externally deployed bundles. The following connector servers are available, depending on the platform:

  • Java Connector Server

    The Java Connector Server is available on Windows, Linux, and UNIX systems. The Java Connector Server is useful when you do not want to execute a Java connector bundle in the same virtual machine (VM) as your application. It can 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, you can use the Java Connector Server in order to eliminate the possibility of an application VM crash due to a fault in a JNI-based connector.

    Some connectors such as the Domino connector require the Java Connector Server, but for other connectors, the Java Connector Server is optional.

  • .NET Connector Server

    The .NET connector server is available for the Microsoft .NET Framework on Windows systems.

1.2 Installing Components

The ICF and connector bundles are installed automatically when you install the appropriate Oracle Waveset 8.1.1 bundle patch. The connectors might require additional installation steps and configuration. Refer to the connector-specific documentation for information about installing and configuring a connector.

Because connector servers reside on a machine other than the application server, they must be installed manually. Refer to the connector-specific documentation for information about installing and configuring a connector server.

1.3 Additional Management Topics

The following sections describe the following connector-related management tasks in an Oracle Waveset deployment:

1.3.1 Changing the Connector Server or Version Used by a Resource

When you create a resource, Oracle Waveset writes information about the selected connector server to the resource object. You can change the connector server of an existing resource, or change the version of the connector.

To change connector server information in the resource object:

  1. From the Resource page, select the resource you want to edit.

  2. Select the Resource Actions> Change Connector Parameters menu option. Note that Oracle Waveset permits you to select only a connector server that has at least one version of the connector available. The only versions displayed are those provided by the selected connector server.

1.3.2 Setting a Time-Out for a Connector-Based Resource

When you are editing or creating a connector-based resource, Oracle Waveset displays a set of fields known as operation time-outs. By default, Oracle Waveset sets operation time-outs to a value of -1, which represents no time-out. When you set this field to a non-zero value, the operation times out with an error if the connector does not complete the operation sooner than the specified time-out interval. Oracle Waveset stores time out values in the Resource XML object under the <OperationTimeouts> tag. Time-outs with a value of -1 are not stored in the XML.

1.3.3 Editing Connection Pooling Parameters

When editing a connector-based resource, you will see the Connector Pooling configuration fields on the last page of the resource wizard. On that page, you can set values for these attributes:

  • Maximum Objects is the maximum number of connector instances that can exist simultaneously. The number of pooled idle instances and active instances cannot exceed this number.

  • Maximum Idle Objects is the minimum number of idle connector instances that will be held in the pool.

  • Minimum Idle Evict Time is the minimum time (milliseconds) to wait before evicting an idle object from the pool when more than the Minimum Idle Objects are already pooled. Zero (0) means to evict the object immediately.

  • Maximum Wait is the maximum time (milliseconds) to wait for a connector instance to become available when Maximum Objects already exists.

1.3.4 Using Resource Actions with Connector-Based Resources

Connector-based resources follow the same rules as adapter-based resources in terms of defining resources actions to use as before and after actions. Oracle Waveset supports the use of before and after actions, including create, update, delete, disable, and enable operations.

1.3.5 Removing a Connector from a Deployment

You remove a connector from deployment by removing its corresponding JAR or DLL file. Once the connector is removed, Oracle Waveset can no longer access it. If you remove a connector from deployment while Oracle Waveset resources still reference it for their implementation, any further use of that resource within Oracle Waveset will result in run-time errors. To help prevent this problem, run the Connectors-In-Use report before removing connectors from deployment.

1.4 Debugging and Troubleshooting

Oracle Waveset provides the following types of tracing for connector performance:

Tracing of local Java connectors can be limited on a class level only. This differs from the method-level tracing supported for other classes. Oracle Waveset does not support the ability to manage tracing on remote connectors.

1.4.1 API-Layer Tracing

Use this level of tracing to determine whether the problem is within Oracle Waveset or the connector itself. This trace method works for both remote and local connectors. To enable connector API-level tracing, enable level 4 Oracle Waveset tracing for class org.identityconnectors.framework.impl.api.LoggingProxy. This type of tracing focuses on the arguments and return values of every connector API method call.

1.4.2 Java Connector Framework Tracing

To implement, enable Oracle Waveset tracing for the connector Java classes (for example, org.identityconnectors.framework.*). This trace method works with all log calls made internally by the framework implementation classes.

1.4.3 Java Connector-Specific Tracing

Use this level of tracing to troubleshoot problems within a connector. This trace method works only for local Java connectors. To implement, enable Oracle Waveset tracing for the connector Java classes. It traces all log calls made by the connector code into the Oracle Waveset trace file.

1.4.4 .NET Tracing

.NET connectors call the standard .NET trace API. Oracle Waveset does not provide centralized tracing control. You cannot view .NET trace files from within Oracle Waveset. You must edit the local connector server configuration file to configure .NET tracing.