OIM 11g vs OIM 9.1

 

Introduction

Août 2010. Oracle annonce la mise à disposition de la nouvelle version de son logiciel de gestion d’identité et de provisioning : Oracle Identity Manager (OIM) 11g. Il apporte son lot de modifications par rapport à l’ancienne version OIM 9.1. Ces modifications s’inscrivent dans la volonté d’Oracle d’homogénéiser sa suite de produit 11g tant du point de vue de l’interface utilisateur qu’au niveau de l’interconnexion avec ses produits existants.

L’objectif de cet article est d’en lister les principales modifications parmi les plus visibles. D’autres articles du blog détaillant plus en profondeur certaines fonctionnalités suivront ensuite.

Nouvelle interface Web

La modification la plus visible est certainement l’interface Web en grande partie réécrite avec le framework Oracle Application Development Framework (ADF). Ce framework s’inscrit dans la volonté d’Oracle d’uniformiser les interfaces web de l’ensemble de ses produits. Nous retrouvons ainsi la même apparence pour OIM 11g, OIA 11g et Weblogic.

Console OIM

Nouvelle gestion des workflows d’approbation et connexion au moteur BPEL

Les “approval workflow” de la version 9.1 ont laissé la place aux workflows intégrés au moteur BPEL. Ces workflow se configurent via jDevelopper, l’environnement de développement d’Oracle. Cette intégration permet une souplesse plus importante et introduit des fonctionnalités avancées à OIM (mise en parallèle des approbations, branchements conditionnels…).

BPEL Web OIM

Gestion des événements de réconciliation

La version 9 imposait aux utilisateurs finaux de passer par le client java lourd de OIM pour gérer les événements de réconciliation. La version 11g permet maintenant de passer directement par l’interface Web. Parmi les fonctionnalités accessibles depuis l’interface web, on retrouve :

  • Lecture de l’évènement de réconciliation ;
  • Lien manuel avec un utilisateur ;
  • Résolution des conflits si plusieurs utilisateurs ont été détectés pour un même événement de réconciliation.

MDS

La configuration d’une partie des éléments de OIM se trouve maintenant dans une base de données stockée au format XML. En pratique, son utilisation se limite à y importer des fichiers lors de certaines opérations de configuration:

  • création de tâches planifiées ;
  • création de plugin et d’event handler.

Plusieurs outils existent pour gérer cette base:

  • des outils en ligne de commande ;
  • un navigateur intégré à jDevelopper, l’environnement de développement d’Oracle.

ICF

Les connecteurs GTC (Generic Technologie connectors) ont laissé la place à ICF (Identity Connector Framework). Il s’agit d’un framework opensource hérité du rachat de Sun qui permettra de profiter de la technologie utilisée par l’outil de provisioning de Sun IDM. A terme, tous les connecteurs migreront vers cette nouvelle architecture.

Nouvelle gestion des tâches planifiées

Les tâches planifiées doivent maintenant être instanciées sous forme de scheduled jobs. L’intérêt est de pouvoir définir des tâches utilisant la même méthode d’une classe java tout en utilisant d’autres valeurs paramètres. Il n’est plus nécessaire de recréer un à un les paramètres des tâches lors de chaque création de tâche.

Nouveaux champs utilisateurs

Les deux principales modifications du profil utilisateur sont l’ajout de nouveaux champs et la catégorisation des champs. La copie d’écran ci-dessous présente un exemple de fiche identité utilisateur obtenue sans aucune configuration :

OIM User Page

Nouvelles APIs

Cette nouvelle version a été l’occasion pour Oracle de repackager une partie de ses méthodes. Celles-ci sont listées dans le guide de développement OIM 11g.
Les anciennes méthodes ont toutefois été gardées afin de maintenir une compatibilité ascendante.

Au vue de ces éléments et suite à une première expérience, nous avons établi la liste des principaux éléments à prendre en considération lors d’une migration de OIM 9 vers OIM 11g:

  • migration des workflows d’approbation vers le moteur BPEL ;
  • migration des entity adapters vers des events handlers ;
  • instanciation des tâches planifiées en scheduled job ;
  • remplacement des champs utilisateurs personnalisés de la version OIM 9 avec ceux existants en standard dans la version 11g ;

conversion des méthodes java utilisées dans les développements annexes: connecteurs, tâches planifiées, outils annexes.

Introduction

August 2010, Oracle announced the release of Oracle Identity Manager 11g, the latest version of its identity and access management software. The newly released version comes up with a bunch of modifications and additions to the older OIM 9.1, bringing more homogeneity in the product suit of OIM 11g on the user interface as well as in the side of interconnections with its existing products.

The goal of this article is to have quicker look at the newly introduced as well as the revised features of the product.

The new web interface

The most notable revision of this product is the web interface, recoded and developed using Application Development Framework, a framework from Oracle itself. The main objective of this framework is to provide a uniformity in the user interfaces in all of its products. For example, the interfaces of the OIA 11g, OIM 11g and WebLogic have similar appearance.

Console OIM

New management of approbation workflows and connection to the BPEL engine

The “approval workflows” of version 9.1 is replaced by the workflows integrated in the BPEL engine in 11g. These workflows can now be configured in JDeveloper, i.e. IDE from Oracle. This integration with BPEL engine permits more flexibility and introduces advanced functionalities to OIM (Parallel Approvals, Conditional Branching, etc.

BPEL Web OIM

Reconciliation events

The improvement of reconciliation utility in OIM 11g over OIM 9i is that the events after or during reconciliations can now be viewed directly in OIM GUI, rather than viewing it in the XClient in OIM 9i. The features available now via the GUI are :

  • Reading reconciliation events;
  • Manual linking of the user in case of orphan accounts , if necessary;
  • Resolving conflict in case of multiple occurrence of the same user in the reconciliation event.

MDS

The configuration in OIM can now be stored in a database in the XML format.

In fact, its usage is limited to importing file for some configuration operations:

  • creating scheduled tasks ;
  • creating plugins and event handler.

Different tools exist to manage this database:

  • command line tools ;
  • abrowser integrated to jDevelopper (Oracles development environment).

Identity Connector Framework

The GTC connectors (for Generic Technology Connectors) have been replaced by ICF connectors (Identity Connector Framework). It is an open source framework, inherited from Sun after it was bought by Oracle, that will allow to take advantage of technology used by Sun IdM. All the connectors will be adapted to this new architecture.

Scheduled Tasks

Scheduled tasks must not be instantiated as scheduled jobs. The advantage is to be able to create tasks using the same method than a Java Class with its own parameters. It is not anymore necessary to create each and every parameter of a task when creating one.

New User Fields

The two main changes in the user profile are the new fields, and the categorization of fields. The screenshot below shows an example of a user’s identity obtained with no modification:

OIM User Page

New APIs

This new version has given the opportunity to repackage some of their methods. Those are listed in OIM 11g development guide. The old methods are still available to ensure a backward compatibility.

Conclusion

After mentioning all those changes and a recent, fresh experience with OIM 11g, we listed the following important elements to consider when migrating from OIM 9i to OIM 11g:

  • migrating approbation workflows to BPEL ;
  • migrating entity adapters to event handlers ;
  • instantiating scheduled tasks as scheduled jobs ;
  • replace custom fields in OIM 9i by those provided by OIM 11g ;
  • converting Java methods used in subsidiary developments: connectors, scheduled tasks, tools, etc.