One of the main advantages of Sun Identity Manager over any similar product of any other vendor is its transparency: it is possible to know what is Identity Manager doing at every moment, debug it, keep different versions, etc. In the past this was done with a Java product included in the Identity Manager distribution, the BPE (Business Process Editor), but now what we propose from Sun is to use a standard IDE (Integrated Development Environment), and this will allow us to use additional features included in such kind of products, as CVS, debuggers, seting break points in the software to be debugged, and so on.
The first IDE integrated in Identity Manager, for obvious reasons, has been NetBeans. Now you can also use Eclipse, so not only we can leverage the advantages of using an IDE, but we can also choose which one we can use and there is no need for our development team to learn a new tool.
As Eclipse is the new kid on the block, we are going to comment how easy it is to configure it to be used in our projects with Identity Manager. As I said, this is quite easy.
First of all we have to download the Identity Manager plugin for Eclipse. We can find it in the following link. In this link there is additional information just in case you want to learn about the plugin deep configuration and other options related to it. I'm just going to use the easy way and not going to apply the recommended setings as this is just a first approach of the plugin configuration, so you may need to read further in those links to properly set up a production project with Eclipse.
Once we have the plugin, we just need to leave it in the Eclipse plugins directory, is that easy. Now we can just start our Eclipse.
Next thing we want to do is to set up an Identity Manager project. Once we have Eclipse started we go to the following menu:
'New' → 'Proyect' → 'Java' → 'Identity Manager
There we will see two options, 'Identity Manager' and 'Identity Manager (remote)'. The first option is to install an Identity Manager locally in our own machine just for development purposes, using the application server installed in the Eclipse framework. The second option is the one we are going to follow in this little example, and it is the one used to gain access to remote installations of Identity Manager (previous installations of Identity Manager, even installed in the same machine you are working with Eclipse). In any case we will have the same control possibilities over the Identity Manager we want to manage.

As you already know, we can configure several projects accesing different Identity Manager installations from the same Eclipse.
Once
the 'Next' button is clicked, we will be asked the file
'ide-bundle.zip'. This file is different for each version of Identity
Manager, so we have to search for it in the folders of the Identity
Manager we want to manage. It is located in the 'sample' directory in
the staging directory of Identity Manager from the 7.1 version on. In
any case, Eclipse support is added from the 8.0 version on as IDE, so
there is no possible mistake here.

We just need to put the file in a location where Eclipse can read it, in our local machine. Next step after loading this file as instructed by Eclipse is to configure the access to the Identity Manager we want to manage: the deployment url, port, user and password we will use to access the configuration. They are the same we use when we access Identity Manager as an administrator:
Once finished this step we have full access to our Identity Manager. We can download the XML objects that compound Identity Manager and customize then as needed:
As I said before, no other identity vendor can offer such features (to my knowledge so far), as we can download any Identity Manager object and trace whatever happens inside it: we can attach a debugger and set up a breakpoint in any place of the code; test a rule or a form before uploading them to Identity Manager; team working and CVS, etc.
As a sample, we can verify a rule or a form before uploading it to Identity Manager as you can see in the next picture:

CVS
is another feature quite interesting in Identity Manager. Using that
features we can upload objects to the Identity Manager going live
instantly. If we don't like the results or if the business needs change
and thus we have to go back to a previous version of the object
deployed, we can do it smoothly and quickly, without stoping the
service in any moment. With Identity Manager you do not need to
stop the server (and the service), get an older backup and restore it
to go to a previous version of your site as it happens with other
vendors. You just do it when you need it, even downloading and
uploading an individual object if this is what you need. As you can
see, the versatiliy and ease of use of Identity Manager is unmatched.
In the next picture you can see a small sample of how easy it is to atach a debugger and the set up breakpoints to an Identity Manager project: you just do it in the very same way you do it with any Eclipse project.
Again, you can see what happens inside Identity Manager at every moment. Identity Manager is not a 'black box'. Identity Manager is transparent, you can do whatever you want to customize it and keep control over the customizations and the rest of the Identity Manager environment.
I think there is nothing else that could be asked to Sun Identity Manager.