Previous Topic: Synchronous PhaseNext Topic: Asynchronous Phase


Synchronous Phase Operations

In the synchronous phase, the following operations are performed:

  1. The user selects a task to perform.

    After the user selects a task for processing, but before the user is presented with a list of possible subjects for the task, the following processing can occur:

    Business processing through a business logic task handler’s handleStart() method.

    API: Business Logic Task Handler API

  2. The task subject is selected but not yet displayed.

    The subject of a task is the object that is being directly affected by the task, for example, a User object in a Create User task.

    After the user selects the subject of the task, but before the subject’s data is displayed on the task screen, the following processing can occur:

  3. CA IdentityMinder displays and populates the task screen

    After the user has selected the task to perform and the task’s subject, CA IdentityMinder displays the appropriate task screen containing the subject’s data.

    A task screen may contain fields associated with physical attributes or logical attributes.

    Fields associated with logical attributes are populated with data provided by logical attribute handlers. For example, a department number may be converted from a numeric code (physical attribute) to its corresponding user-friendly name (logical attribute) before being displayed on the task screen.

    API: Logical Attribute API

  4. CA IdentityMinder invokes validation rules during data entry.

    CA IdentityMinder can execute validation rules during data entry. Validation rules are specified in the directory.xml file for an entire environment, or in a task screen for a particular task. Validation rules are not performed by logical attribute handlers.

    During data entry, validation rules can be invoked in any of the following ways:

  5. User submits the task screen

    After the user finishes supplying data on the task screen and clicks Submit, CA IdentityMinder performs the following operations in order:

    1. Invokes validation rules.

      Validation rules can be implemented as regular expressions, JavaScript, or Java classes.

    2. Calls validate() in each logical attribute handler. This method performs field-level validation.

      Field-level validation takes place within the scope of the user-supplied attribute value only. For example, if you are validating a date, you can validate the date itself, but you cannot compare the date against other information in the task. Validating data against other data in the task is called task-level validation.

      API: Logical Attribute API

    3. Calls toPhysical() in each logical attribute handler. This method converts logical attributes back to their corresponding physical attributes.

      API: Logical Attribute API.

    4. Calls the handleValidation() method in business logic task handlers to perform task-level validation.

      Task-level validation lets you validate field data against any information in the task session or in the data store. For example, during a Create User task, CA IdentityMinder calls a predefined business logic task handler that verifies whether the user ID for the new user is unique.

      Business logic task handlers can be called at the following times during the synchronous phase of task processing:

      • When a task session is created (to initialize or process task data)
      • After selecting a subject from the search result, but before presenting data to a user
      • After a user submits a task, but before any security checks
      • After security checks are done, but before the asynchronous phase

      API: Business Logic Task Handler API

  6. CA IdentityMinder displays validation results.

    If validation errors occur, the errors are reported to the user immediately. The user is allowed to correct the errors and resubmit the task.

  7. CA IdentityMinder instantiates events for the task.

    After all validation is performed successfully, CA IdentityMinder breaks down the task into the individual transactions that occur during the execution of the task. Each transaction is represented by an event. For example, a Create User task may consist of the following events:

    After events are instantiated for the task, the following processing can occur to allow a finer degree of control over the execution of a task:

    Business processing through a business logic task handler’s handleSubmission() method.

    For example, workflow approvals can be required for individual events, so that the rejection of one event may not impact the execution of other events or the overall task.

    API: Business Logic Task Handler API

    After CA IdentityMinder calls this method for all associated business logic task handlers, the synchronous phase is complete.

  8. The task enters the asynchronous phase for processing.

Note: Validation rules can be implemented as regular expressions, JavaScript, or Java classes. For more information, see the Configuration Guide.