Import Users from Database
Sample workflow to import users from a database via the Service Layer Connector
Import Users from Database is a source workflow that reads users and user-role assignments from the connected directory UserDB and writes them into the Identity Store. On this page, the TS port is the JDBC source, while the IdentityDomain port is the DirX Identity destination that is accessed through the Service Layer Connector.
The workflow uses the User, user-roles and setPassword channels to import account data, manual role assignments and password changes into DirX Identity. The Role Assignment Filter on the TS port prepares source-side assignment data for the workflow.
The workflows in this reference are delivered as factory data and are loaded into the Connectivity configuration database during the initial configuration. They are samples: use the Identity Manager to copy a workflow into your own scenario and adapt the copy. Do not change the delivered objects, because a product update can replace them.
At a Glance
Name |
|
Category |
Source Realtime / JDBC |
Technology |
Java-based real-time workflow |
LDAP object class |
|
Workflow type |
|
Connected system / controller type |
|
Configuration wizard |
|
Active in the factory data |
TRUE |
Factory data version |
8.7 |
Factory data path |
|
Prerequisites
-
You need a connected directory
UserDBthat is configured for theJDBCConnectorand uses the bind profileJDBC Database Admin. -
You need the connected directory
Identity Storefor theIdentityDomainport, accessed through the Service Layer Connector with the bind profileDomain_Admin. -
The Java-based Server that runs the workflow must be able to reach the database, the Identity Store service layer, and the JMS and mail infrastructure that the
event,notifyanderrorports use. -
Configure the source and destination mappings so that the
User,user-rolesandsetPasswordchannels can process the intended data.
Workflow and Activities
| Activity | Type | Component description | Description | Ports |
|---|---|---|---|---|
|
|
|
Error Activity |
|
|
|
|
Join activity for the provision-to-TS workflow |
|
Ports
| Activity | Port | Component description | Connector | Connected directory | Bind profile | SSL |
|---|---|---|---|---|---|---|
|
|
|
|
- |
- |
not set |
|
|
|
|
- |
- |
not set |
|
|
|
|
|
|
not set |
|
|
|
|
- |
- |
not set |
|
|
|
|
|
|
not set |
Channels
| Channel | Description | Reference type | Delta type |
|---|---|---|---|
|
Channel for setting a password in DirX identity |
OneToOne |
SearchAttributes |
|
Channel for users in DirX Identity |
OneToOne |
SearchAttributes |
|
Channel for user-role manual assignments |
OneToOne |
SearchAttributes |
| Channel | Description | Reference type | Delta type |
|---|---|---|---|
|
Channel for users in UserDB |
OneToOne |
SearchAttributes |
|
Channel for user-role assignments |
OneToOne |
SearchAttributes |
Filters
| Port | Filter | Description | Sequence |
|---|---|---|---|
|
|
handles user-role assignments with a role parameter |
1 |
Configuration Parameters
| Parameter | Default value |
|---|---|
|
P0Y0M4DT0H0M0S |
| Parameter | Default value |
|---|---|
|
|
|
3 |
|
P0Y0M1DT0H0M0S |
|
P0Y0M0DT2H0M0S |
| Parameter | Default value |
|---|---|
|
dxmPassword |
| Parameter | Default value |
|---|---|
|
JDBC |
|
3 |
|
P0Y0M1DT0H0M0S |
|
P0Y0M0DT0H30M0S |
| Parameter | Default value |
|---|---|
|
event |
|
userPassword |
|
MQSERIES |
|
false |
| Parameter | Default value |
|---|---|
|
userPassword |
|
FALSE |
| Parameter | Default value |
|---|---|
|
userPassword |
A Java-based real-time workflow runs as a permanently loaded configuration in the Java-based Server (IdS-J). It is triggered by a request or an event rather than by a schedule. Each workflow consists of activities; an activity opens one port per system it talks to, and each port uses a connector to reach that system.
Most provisioning workflows contain a join activity that performs the actual work and an error
activity that receives requests which still fail after all retries and sends a notification about
them. The retrylimit, waitbeforeretry and timeout parameters of an activity control how often
and how long a failed request is retried before it is handed to the error activity.
The event port publishes change events over JMS, and the notify port sends e-mail notifications.
Neither port is bound to a connected directory.
The join activity performs the import. Its TS port reads User and user-roles data from UserDB, and its IdentityDomain port writes the corresponding users, assignments and password changes into the Identity Store over the User, user-roles and setPassword channels. The Role Assignment Filter on the TS port handles assignment records that carry a role parameter, and the event port is configured to use MQSERIES as its JMS provider type.
A request that fails is retried up to three times (retrylimit) with 30 minutes between attempts (waitbeforeretry). If it still fails, the error activity takes it over and reports it through the Message port; the workflow parameter timeout gives a request four days before it is discarded.
Operation
-
A change for the
Useroruser-roleschannels reaches the workflow through theeventport. -
The Java-based Server passes the resulting request to the
joinactivity. -
The
TSport reads the affected user and any related assignment data fromUserDB. -
The
IdentityDomainport creates or updates the user in the Identity Store overUser, applies assignments overuser-roles, and usessetPasswordwhen the request contains password data. -
The
notifyport sends the configured notifications, and theeventport publishes the resulting workflow event. -
Requests that fail permanently are handed to the
erroractivity, which reports them by e-mail.
The workflow is delivered active (dxmActive is TRUE). After you configure the connected directory and the related infrastructure, you can use it directly.