Sync_Domino_Realtime

Sample workflow to synchronize HCL Domino with a DirX Identity target system.

Sync_Domino_Realtime synchronizes a connected system of type Domino with the target system subtree in the Identity Store. You use it when accounts, groups, memberships and password changes must reach the connected directory through one Java-based real-time workflow.

The workflow uses DominoConnector on TS, keeps dxminitialload at FALSE and includes the extra setPassword channel next to the ordinary provisioning channels. The event port also carries the workflow events with jmsprovidertype set to MQSERIES.

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

Sync_Domino_Realtime

Category

Target Realtime / Domino

Technology

Java-based real-time workflow

LDAP object class

dxmIDMWorkflowDefinition

Workflow type

ProvisionTS

Connected system / controller type

Domino

Configuration wizard

wf-Provisioning-Synchronize.xml

Active in the factory data

FALSE

Factory data version

8.4

Factory data path

Workflows/Default/Target Realtime/Domino/Sync_Domino_Realtime

Prerequisites

  • You configure a connected directory of type Domino that uses DominoConnector and the bind profile Client Authentication.

  • You make the Identity Store available through the bind profile Domain_Admin and the Domino connected directory available through the TS port of the Java-based Server.

  • You already have the relevant target system subtree in the Identity Store, so the workflow can read the current source state over accounts, groups and members.

  • If you use the event port, you provide the JMS environment that matches jmsprovidertype = MQSERIES.

Workflow and Activities

Activity Type Component description Description Ports

error

error

provisioningActivity

Error Activity

Message

join

ProvisionTS

provisioningActivity

Join activity for the provision-to-TS workflow

event, IdentityDomain, notify, ts

Ports

Activity Port Component description Connector Connected directory Bind profile SSL

error

Message

errorPort

ErrorNotifyMailConnector

-

-

not set

join

event

notificationPort

JmsConnector

-

-

not set

join

IdentityDomain

provisioningPort

LdapConnector

Identity Store

Domain_Admin

not set

join

notify

notificationPort

NotifyMailConnector

-

-

not set

join

TS

provisioningPort

DominoConnector

Domino

Client Authentication

not set

Channels

Table 1. Channels of port IdentityDomain (activity join)
Channel Description Reference type Delta type

accounts

Channel for accounts

OneToOne

SearchAttributes

groups

Channel for groups

OneToOne

SearchAttributes

members

Channel for members

OneToOne

SearchAttributes

Table 2. Channels of port TS (activity join)
Channel Description Reference type Delta type

accounts

Channel for accounts

OneToOne

SearchAttributes

groups

Channel for groups

OneToOne

SearchAttributes

members

Channel for members

OneToOne

SearchAttributes

setPassword

Channel for setting a password

OneToOne

SearchAttributes

Filters

Port Filter Description Sequence

TS

CryptFilter

decryption

1

Configuration Parameters

Table 3. Workflow parameters of Sync_Domino_Realtime
Parameter Default value

dxminitialload

FALSE

timeout

P0Y0M0DT0H30M0S

Table 4. Parameters of activity error
Parameter Default value

resourcefamily

Mail

retrylimit

3

timeout

P0Y0M1DT0H0M0S

waitbeforeretry

P0Y0M0DT2H0M0S

Table 5. Parameters of port Message (activity error)
Parameter Default value

decrypt.attribute

dxmPassword

Table 6. Parameters of activity join
Parameter Default value

resourcefamily

SPMLv1

retrylimit

3

timeout

P0Y0M1DT0H0M0S

waitbeforeretry

P0Y0M0DT0H30M0S

Table 7. Parameters of port event (activity join)
Parameter Default value

appid

event

decrypt.attribute

userPassword

jmsprovidertype

MQSERIES

tgtisjmsclient

false

Table 8. Parameters of port IdentityDomain (activity join)
Parameter Default value

decrypt.attribute

dxmPassword

Table 9. Parameters of port notify (activity join)
Parameter Default value

decrypt.attribute

userPassword

Table 10. Parameters of port TS (activity join)
Parameter Default value

clientbindprofile-dn

cn=uid-c0a88580-3213a6f6-17491112398—​7e57,dxmC=Bind Profiles,cn=uid-ac1ef574-29f10ee8-173bd2d32a3—​7ff9,dxmC=uid-7f001-11ed166-1015233918c—​7925,dxmC=uid-7f001-54824-101de9c3b73—​7fc0,dxmC=Connected Directories,dxmC=DirXmetahub

decrypt.attribute

password

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 reads the requested state from IdentityDomain and writes the corresponding state to TS. It uses the accounts, groups and members channels on both ports and setPassword on TS when the request includes password data. The CryptFilter decrypts password before DominoConnector receives the request.

If processing fails, join retries the request three times and waits 30 minutes between attempts. If the request still fails, the workflow passes it to error, which sends the notification through Message. The workflow-level timeout keeps the overall request for 30 minutes.

Operation

  1. You trigger a synchronization request for an account, group or member object in the Domino target system subtree of the Identity Store.

  2. You let the Java-based Server pass the request to join.

  3. You let IdentityDomain read the affected state over accounts, groups or members.

  4. You let TS apply the change in the connected directory and use setPassword if the request contains password data.

  5. You let the workflow write the result back to the Identity Store, publish the provisioning event through event and send the configured notification through notify.

  6. If the request still fails after the configured retries, you let error report the failure through Message.

The workflow is delivered inactive (dxmActive is FALSE). Copy it into your own scenario, connect the copy to your connected directory and activate the copy.