Java Connectors

If none of the existing ICF connectors are suitable for your deployment, you can write your own connector. This chapter describes the steps to develop an OpenICF-compatible Java connector. Similar chapters exist to help you with writing scripted Groovy, and PowerShell connectors.

Types of Connectors

In general, it takes longer to write a new Java connector than it does to use one of the scripted connector toolkits to write a scripted connector. Before you can write a Java connector, you must have a good understanding of the ICF SPI (see OpenICF SPI).

Scripted connectors do not require a complete understanding of the SPI, so connector development should be faster. The scripted connector implementations provided with Identity Cloud follow a general pattern and you can assess which implementation to use based on what the connector must be able to do.

For example, if you need to connect to a database, use the scriptedSQL implementation. To execute a remote command over SSH, use the scriptedSSH implementation. The details of these different scripted connector types are described in Selecting a Scripted Connector Implementation.

If the main purpose of your connector is to call a number of stored procedures or perform some SQL inserts, you can avoid learning the OpenICF SPI and focus on the required "actions" (create, delete, update, and so on). You can then implement these actions in a scripted connector. When you have stable scripts that do what they need to do, package them in a JAR, version them and your connector development is complete.

If you need to connect to new system with a client/server API in written in Java, you must write a new Java connector. This chapter helps you get started with that process.

Before You Begin

Before you start developing your own connector, familiarize yourself with the structure of the SPI, by reading OpenICF SPI and the corresponding Javadoc for the ICF framework and its supported operations.