The Identity Manager User Application relies on a number of independent components acting together. The core components are shown in Figure 1-1.
Figure 1-1 User Application Core Components
The Identity Manager User Application is a browser-based Java* application. It is comprised of a collection of JSR168-compliant portlets, JavaServer* Pages, and JavaServer Faces that run within a Java Web application on a J2EE*-compliant application server. The User Application framework provides container services, such as managing window state, portlet preferences, persistence, caching, theming, logging, and acts as a security gatekeeper. The application server, on which the User Application runs, provides various services to the application as a whole, such as scalability through clustering, database access via JDBC*, and support for certificate-based security.
The directory abstraction layer provides a logical view of the Identity Vault data. You define a set of entities and their related attributes based on the Identity Vault objects that you want users to view, modify, or delete in the User Application. The Directory Abstraction layer:
Performs all of the User Application’s LDAP queries against the Identity Vault. This isolates presentation-layer logic from the Identity Vault, so that all requests for identity data go through the directory abstraction layer.
Checks constraints and access control on data requests made via the User Application.
Caches runtime configuration and entity-definition data obtained from the Identity Vault. See Section 5.1.1, Caching Management
You use the directory abstraction layer editor plug-in (available in Designer for Identity Manager) to define the structure of the directory abstraction layer data definitions. To learn more, see the section on the directory abstraction layer editor in the Identity Manager User Application: Design Guide.
The Workflow Engine is a set of Java executables responsible for managing and executing steps in an administrator-defined workflow and keeping track of state information (which is persisted in a database). When the necessary approvals have been given, the Provisioning System provisions the resource as requested.
During the course of workflow execution, the Workflow Engine can send one or more e-mail messages to notify users of changes in the state of the workflow. In addition, it can send e-mail messages to notify users when updates have been made to proxy, delegate, and availability settings.
You can edit an e-mail template in the Designer for Identity Manager or in iManager and then use this template for e-mail notifications. At runtime, the Workflow Engine retrieves the template from the directory and replaces tags with dynamic text suitable for the notification.
Additional details about the Workflow Engine, including how to configure and manage provisioning workflows, are in Section V, Configuring and Managing Provisioning Workflows.
The User Application provides the following SOAP endpoints to allow third-party software applications to take advantage of User Application services:
Table 1-1 SOAP Endpoints
The application server provides the runtime framework in which the User Application, directory abstraction layer and Workflow Engine execute. The User Application is packaged as a Java Web Application Archive, or WAR file. The WAR is deployed to the application server.
The User Application runs on JBOSS and WebSphere. For a complete list of supported platforms, see the Roles Based Provisioning Module Installation Guide.
The User Application relies on a database (MySQL* by default; see the Roles Based Provisioning Module Installation Guide for a list of supported databases) to store several kinds of information:
User application configuration data: for example, Web page definitions, portlet instance registrations, and preference values.
Workflow state information is persisted in the database. (The actual workflow definitions are stored in the User Application driver in the Identity Vault.)
Novell Audit logs
The User Application driver is an important enabling piece of the User Application. It is responsible for:
Storing application-specific environment configuration data.
Notifying the directory abstraction layer when important data values change in the Identity Vault. This causes the directory abstraction layer to update its cache.
The User Application driver can be configured to:
Allow events in the Identity Vault to trigger workflows.
Communicate the success or failure of a workflow's provisioning activity back to the User Application database, which allows users to view the final status of their requests.
Start workflows automatically in response to changes of attribute values in the Identity Vault.
The User Application driver is not only a runtime component but a storage wrapper for directory objects (comprising the User Application’s runtime artifacts).
Table 1-2 Artifacts Stored in the User Application Driver
The Roles subsystem uses the Role Service driver to manage backend processing of roles. For example, it manages all role assignments, starts workflows for role assignment requests and SoD conflicts that require approvals, and maintains indirect role assignments according to group and container membership, as well as membership in related roles. The Driver also grants and revokes entitlements for users based on their role memberships, and performs cleanup procedures for requests that have been completed.
The Role Service driver performs the following functions:
Starts an SoD workflow and waits for approvals in situations where a role request requires an SoD workflow
Starts a role assignment workflow and waits for approvals in situations where a role request requires a workflow
Adds users to and remove users from roles. To do this, the Role Service driver:
Waits for a start date before making assignments
Terminates a role assignment when the end date is reached
Adds and removes higher-level and lower-level role relationships
Adds and removes role assignments for groups
Adds and removes role assignments for containers
Maintains all role membership information for indirect role assignments, including:
Role assignments acquired through role relationships
Role assignments that result from membership in groups
Role assignments that result from membership in containers
Grants and revokes entitlements to and from users according to their role memberships
Maintains additional reporting information that is associated with each role assignment
Maintains additional reporting information on objects in eDirectory, such as:
Approval information
Where indirect assignments come from
Where entitlements come from
Logs events to Novell Audit
Cleans up processed requests after a user-specified amount of time
Recalculates role assignments based on dynamic and nested groups on a polled basis
Designer for Identity Manager provides a set of plug-ins you can use to define the directory abstraction layer objects and provisioning requests and their associated workflows. For more information, see Section 1.4, Design and Configuration Tools
iManager provides a set of plug-ins you can use to configure and manage provisioning requests and their associated workflows. These tools also let you define provisioning teams and team rights. For more information, see Section 1.4, Design and Configuration Tools.
The Identity Manager engine provides the runtime framework that monitors events in the Identity Vault and connected systems. It enforces policies and routes data to and from the Identity Vault. The Identity Manager User Application is a connected system. Communication between the Identity Vault, the User Application’s directory abstraction layer, and the Workflow Engine occurs through the User Application driver.
The Identity Vault is the repository for user data (and other identity data) plus the Identity Manager driver set and the User Application driver. Because the User Application relies on various Identity Vault objects, it’s necessary to extend the eDirectory schema to accommodate the custom LDAP objects and attributes required by the User Application. The schema extension occurs automatically as part of the User Application install. The custom objects and attributes are populated with default values after the User Application driver is installed and activated.
Novell Audit is an independent logging server that can persist a variety of kinds of data (such as data generated by steps of a workflow). For more information, see Section 3.0, Setting Up Logging.