Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devel:documentation:systems:dev:supported-connectors [2019/02/07 11:09]
kucerar jip connector version increment
devel:documentation:systems:dev:supported-connectors [2022/08/23 13:49] (current)
apeterova deleted old info about memory leak - no longer valid when using pooling
Line 1: Line 1:
-======Supported connectors======+====== Connectors: adding new ones ====== 
 {{tag>connector}} {{tag>connector}}
- 
  
 ===== ConnId connectors ===== ===== ConnId connectors =====
  
- System **CzechIdM** supports all ConnId connectors. This page contains connectors that are really tested in CzechIdM. The description always includes the version and basic features of the connector. If more information (restrictions, instructions) are available, they are also given here (at least in the form of links).   
-<note tip> 
 [[http://connid.tirasa.net/|ConnId framework]] was chosen as the basic implementation. It is a direct successor of the OpenICF framework. [[http://connid.tirasa.net/|ConnId framework]] was chosen as the basic implementation. It is a direct successor of the OpenICF framework.
-</note> 
  
 +===== Adding more connectors =====
  
-^ Name                      ^ Framework  ^ Bundle name                               ^ Version  ^ Connector name                                                 ^ Embedded in CzechIdM  ^ Sync  ^ Provisioning  ^ Notes                                                                                                                                                                                                              |   | +If needed, another ConnId connector can be added into the system by:
-| Active Directory          | ConnId     | net.tirasa.connid.bundles.ad              | 1.3.3    | net.tirasa.connid.bundles.ad.AdConnector                       | No                    | Yes   | Yes           | [[https://connid.atlassian.net/wiki/pages/viewpage.action?pageId=360482|wiki]]                                                                                                                                       | +
-| CMD                       | ConnId     | net.tirasa.connid.bundles.cmd             | 0.2      | net.tirasa.connid.bundles.csvdir.Cmd   Connector               | No                    | Yes   | Yes           | [[https://connid.atlassian.net/browse/CMD|wiki]]                                                                                                                                                                     | +
-| CSV Directory             | ConnId     | net.tirasa.connid.bundles.csvdir          | 0.8.5    | net.tirasa.connid.bundles.csvdir.CSVDirConnector               | Yes                   | Yes   | Yes           | [[https://connid.atlassian.net/wiki/display/BASE/CSV+Directory|wiki]]                                                                                                                                              |   | +
-| Database Table Connector  | ConnId     | net.tirasa.connid.bundles.db.table        | 2.2.4    | net.tirasa.connid.bundles.db.table.DatabaseTableConnector      | Yes                   | Yes   | Yes           | [[https://connid.atlassian.net/wiki/display/BASE/Database+Table|wiki]]                                                                                                                                               | +
-| Flat File                 | ConnId     | org.connid.bundles.flatfile               | 1.2      | net.tirasa.connid.bundles.csvdir.FlatFileConnector             | No                    | Yes   | Yes           | [[https://connid.atlassian.net/wiki/display/BASE/Flat+File|wiki]]                                                                                                                                                  |   | +
-| FreeIPA                   | ConnId     | eu.bcvsolutions.freeIpa.connector         | 1.0      | eu.bcvsolutions.freeIpa.connector.FreeIpaConnector             | No                    | Yes   | Yes           | TBA                                                                                                                                                                                                                |   | +
-| Google Apps               | ConnId     | org.connid.bundles.googleapps             | 1.4.0    | net.tirasa.connid.bundles.googleapps.GoogleAppsConnector       | No                    | Yes   | Yes           | [[https://connid.atlassian.net/wiki/display/BASE/Google+Apps|wiki]]                                                                                                                                                |   | +
-| OpenAM                    | ConnId     | org.connid.bundles.openam                 | 0.4.1    | net.tirasa.connid.bundles.openam.OpenAMConnector               | No                    | Yes   | Yes           | [[https://connid.atlassian.net/wiki/display/BASE/OpenAM|wiki]]                                                                                                                                                       | +
-| REST                      | ConnId     | net.tirasa.connid.bundles.rest            | 1.0.1    | net.tirasa.connid.bundles.rest.RESTConector                    | No                    | Yes   | Yes           | [[https://connid.atlassian.net/wiki/display/BASE/REST|wiki]]                                                                                                                                                         | +
-| SOAP                      | ConnId     | net.tirasa.connid.bundles.soap            | 1.4.1    | net.tirasa.connid.bundles.soap.SOAPConnector                   | No                    | Yes   | Yes           | [[https://connid.atlassian.net/wiki/display/BASE/SOAP|wiki]]                                                                                                                                                         | +
-| Scripted SQL Connector    | ConnId     | net.tirasa.connid.bundles.db.scriptedsql  | 2.2.4    | net.tirasa.connid.bundles.db.scriptedsql.ScriptedSQLConnector  | Yes                   | Yes   | Yes           | [[.:scripted-jdbc-connector|Using]], [[https://connid.atlassian.net/wiki/display/BASE/Scripted+SQL|wiki]], :-( [[devel:dev:system:supported-connectors#probable_memory_leak_in_scripted_sql_connector|leak info]]  |   | +
-| LDAP Connector            | ConnId     | net.tirasa.connid.bundles.ldap            | 1.5.1    | net.tirasa.connid.bundles.ldap.LdapConnector                   | Yes                   | Yes   | Yes           | [[https://connid.atlassian.net/wiki/display/BASE/LDAP|wiki]]                                                                                                                                                         | +
-| Powershell Connector      | ConnId     | eu.bcvsolutions.connector.powershell      | 1.2.7    | eu.bcvsolutions.connector.powershell.PowershellConnector       | No                    | Yes   | Yes           | [[.powershell-connector|]]                                                                                                                                                                                           | +
-| JIP/KAAS Connector        | ConnId     | eu.bcvsolutions.idm.connector.jip         | 1.0.1    | eu.bcvsolutions.idm.connector.jip.jip-kaas-connector           | No                    | Yes   | Yes           | [[https://github.com/bcvsolutions/jip-connector|github]], [[.jip_kaas_connector|wiki]]                                                                                                                               | +
-| IceWarp Connector        | ConnId     | eu.bcvsolutions.idm.connector         | 1.0.0    | eu.bcvsolutions.idm.connector.IceWarpConnector           | No                    | Yes   | Yes           | [[https://github.com/bcvsolutions/icewarp-connector|github]], [[.icewarp_connector|wiki]]                                                                                                                               |+
  
-===== OpenICF connectors ===== +  * Maven dependency in the **IdM-parent**  module (the above mentioned 3 basic connectors are connected in this way).
- +
-^ Name                      ^ Framework   ^ Connector name                ^ Sync  ^ Provisioning  |   | +
-| Alfresco                  | OpenICF     | AlfrescoConnector             | Yes   | Yes             | +
-| Beplan                    | OpenICF     | BeplanConnector               | Yes   | Yes             | +
-| CommuniGate               | OpenICF     | CGateConnector                | Yes   | Yes             | +
-| Conclusion                | OpenICF     | ConclusionConnector            | Yes   | Yes             | +
-| eSpis                     | OpenICF     | ESPISConnector                 | Yes   | Yes             | +
-| MS Exchange             | OpenICF     | ExchangeConnector              | Yes   | Yes             | +
-| Ginis                     | OpenICF     | GinisConnector                 | Yes   | Yes             | +
-| ISEA                      | OpenICF     | ISEAConnector                 | Yes   | Yes             | +
-| Helios                    | OpenICF     | HeliosConnector                 | Yes   | Yes             | +
-| Kerio                     | OpenICF     | KerioConnector                | Yes   | Yes             | +
-| Matrix                    | OpenICF     | MatrixConnector               | Yes   | Yes             | +
-| Siebel                    | OpenICF     | SiebelConnector             | Yes   | Yes             | +
-| Plone                     | OpenICF     | PloneConnector             | Yes   | Yes             | +
-| Windows                   | OpenICF     | PowerShellConnector          | Yes   | Yes             | +
-| SAP                       | OpenICF     | SapConnector                  | Yes   | Yes             | +
-| SAP CUA                   | OpenICF     | SAPCUAConnector              | Yes   | Yes             | +
-| Linux                     | OpenICF     | SSHConnector                   | Yes   | Yes             | +
-| Vera                      | OpenICF     | VeraConnector                 | Yes   | Yes             | +
-|                                                                                           | +
- +
- +
-===== BCV supported connectors ===== +
- +
-Public Administration and Local Government - Agendas and Services: +
-  - Gordic Ginis +
-  - ICZ eSpis +
-  - ICTBrains Matrix +
-  - BBM iFIS – finanční řízení +
-  - Vera +
- +
-ERP: +
-  - SAP CUA +
-  - Siebel +
- +
-Domain controllers a Directory services: +
-  - Microsoft Active Directory +
-  - Kerberos +
-  - LDAP/OpenLDAP +
-  - Free IPA JSON API +
-  - Novell eDirectory +
- +
-Mail services: +
-  - MS Exchange +
-  - Office 365 +
-  - Linux postfix +
-  - CommuniGate +
-  - Zimbra +
-  - Obecné konektory +
- +
-Database and scripting connectors: +
-  - JDBC scripted connector +
-  - SSH scripted connector (linux servers) +
-  - SCIM connectors +
- +
-Databases: +
-  - Microsoft SQL Server +
-  - MySQL +
-  - Oracle +
-  - PostgreSQL +
-  - Progres +
- +
-Operating systems: +
-  - HP-UX +
-  - Linux distributions without restrictions – Red Hat, Debian, SuSE,… +
-  - Microsoft Windows all versions +
-  - Solaris +
-  - S/400 +
- +
-HR systems: +
-  - VEMA +
-  - OKbase +
-  - HRIS +
-  - Mysys HRMS +
-  - Target +
-  - Navision +
-  - SAP +
-  - Helios Green +
- +
- +
-Service Desk +
-  - HPSM REST +
-  - Siebel WS +
-  - Conclusion +
-  - Request Tracker +
- +
- +
-Health-care: +
-  - StaproMEDEA NIS +
-  - StaproPANAKEA +
-  - OpenLIMS +
-  - LEKIS +
-  - AMIS – H +
- +
-Others: +
-  - Drupal 7 +
-  - Liferay +
-  - eDirectory connector +
-  - Gitlab rest +
-  - Google Apps +
-  - OpenAM +
- +
- +
-<note important> In case of the **CSV** connector, there is a problem during the scheme generation. The attributes of the generated scheme are written in **lower case**, the object returned by the connector, however, has its attributes names in **upper case**. The solution is to change the names of the attributes manually from lower to upper case in the generated scheme. See more in the CSV section.</note> +
- +
-=== Adding more connectors === +
-If needed, another ConnId connector can be added into the system by: +
-  * Maven dependency in the **IdM-parent** module (the above mentioned 3 basic connectors are connected in this way).+
   * Maven dependency in any other module (searching for available modules takes place in all the system modules).   * Maven dependency in any other module (searching for available modules takes place in all the system modules).
-  * adding a **jar** distribution of the connector directly into the libraries of the resulting **war**. +  * adding a **jar**  distribution of the connector directly into the libraries of the resulting **war**.
- +
-Searching for available ConnId connectors is based on the presence of the **@ConnectorClass** annotation. Due to optimization reasons the class path isn't searched completely and the search is performed only on the packages defined in  [[https://github.com/bcvsolutions/CzechIdMng/blob/develop/Realization/backend/ic/src/main/resources/module-ic.properties|module-ic.properties]] (in '**ic.localconnector.packages**' property). Only a part of the path can be defined. +
-As default value is set '**net.tirasa.connid**', which should ensure accessibility of all ConnId connectors (the setting supports more values). +
- +
-===== Probable memory leak in Scripted SQL Connector ===== +
-After some implementation scripted SQL connector on our projects, we are meet with probable memory leak in Scripted SQL Connector, (read some discussion about this problem [[https://redmine.czechidm.com/issues/563|#563]] or similar problem on [[https://stackoverflow.com/questions/36407119/groovyshell-in-java8-memory-leak-duplicated-classes-src-code-load-test-pr|stackoverflow.com]]). +
- +
-<note tip>Try don't use Scripted SQL Connector, but if you don't have any another choice use this connector rather on remote connector server than direct on IdM</note>+
  
-Solution of this problem is fork connector-framework-internal-1.4.2.0.jar and update execute method on [[https://github.com/Evolveum/openicf/blob/release1.4.2.0/framework/java/connector-framework-internal/src/main/java/org/identityconnectors/common/script/groovy/GroovyScriptExecutorFactory.java#L67-L71|GroovyScriptExecutorFactory]] with cache. Similar cache we use in [[https://github.com/bcvsolutions/CzechIdMng/blob/develop/Realization/backend/core/core-impl/src/main/java/eu/bcvsolutions/idm/core/model/service/impl/DefaultGroovyScriptService.java#L71-L77|DefaultGroovyScriptService]]+Searching for available ConnId connectors is based on the presence of the **@ConnectorClass**  annotationDue to optimization reasons the class path isn't searched completely and the search is performed only on the packages defined in [[https://github.com/bcvsolutions/CzechIdMng/blob/develop/Realization/backend/ic/src/main/resources/module-ic.properties|module-ic.properties]] (in '**ic.localconnector.packages**' property). Only a part of the path can be defined. As default value is set '**net.tirasa.connid**', which should ensure accessibility of all ConnId connectors (the setting supports more values).
  
  
  • by kucerar