Frequently Asked Questions
Connectors provide applications with a way to decouple from the resources that they connect to. The Identity Connectors Framework is aimed at user provisioning and identity management, but is generalized enough to support several different kinds of applications. For example, in addition to basic CRUD operations, the API supports Search, Sync, Authenticate, and Scripting operations, as well as others.
Connectors themselves are self-contained connectors that ride on top of the Connectors Framework. Applications are completely separated from the bundles, so that different implementations can be swapped in and out without affecting the app or its dependencies.
At a high level: Provide a generic layer between applications and target resources.
At a lower level:
See the design overview for more information on the framework architecture.
To use Connectors in your application, start by downloading the Connectors Framework and placing the following jars on your classpath:
Then, download the Connector Bundle(s) you'd like to use and add them to the classpath as well. Now you are ready to set up the ConnectorFacade and start programming to the API. See the API Info section for more details on this.
We have developed a Connector Archetype to help users develop their own connector bundles quickly and easily. To get started, you'll want to familiarize yourself with the structure of the SPI, and the best way to do that is to read the javadoc for the Framework. Another great thing to do is study the source code of other connectors.
You'll also want to review the basic coding conventions and eventually, the contract tests section. The contract tests are an automated suite of tests that make sure a connector generally looks, feels, and behaves like a connector should.
Finally, throughout the whole process, we encourage you to contribute to the IdentityConnectors project. Asking questions on the mailing list, reporting bugs, and submitting patches are great ways to get involved, and we appreciate them. If you would like to contribute a new connector, just send an email to the community.
See the Contribute section of this site.
A Connector Server is roughly analogous to the Java RMI paradigm; it lets your application run provisioning operations on a connector bundle that is deployed on a remote machine. This feature has several uses, but the most important one is the ability to run connector bundles written in C#. The Java Connectors Framework cannot load C# classes, but it can communicate with a .NET Connector Server over the network. Thus, the two platforms are compatible. For more information, see the Connector Server section.