Where can I find the details about architecture of HP UCMDB? What I am looking for is the parts of HP UCMDB and how do they interact with each other.
I've been looking around a bit and I agree there's very little information on this subject.
There is something on scribd to be found regarding the Unicredit uCMDB implementation containing a partial architecture diagram, but this does not go into detail regarding the architecture underlying the uCMDB solution itself. So permit me to attempt describing in short the components of uCMDB and DDMa in particular.
uCMDB as a software solution consists of a backend database, one or two servers (standalone or HA solution), one or more probe gateways, one or more probe managers. The most basic setup is 1 DB, 1 server and 1 probe machine. The server relies on the DB for CI data and communicates with the probe gateway for discovery purposes. The server can also be fitted with federation/replication integration points to get/push data from/to 3rd party apps. One of these apps is NNM, another is SM.
The uCMDB server runs a JVM with numerous execution threads, which handle things like discovery probe management, user management, modeling, data collection and reconciliation and a reporting engine. Alongside uCMDB, it is possible to run Amber/Configuration Manager for policy control and compliance reporting. This is a separate process on the same server, however not high available to date.
The probe gateway communicates with the server and receives discovery job requests/details, parcels these out to various managers. After execution of the jobs the gateway pushes result data back to the server.
The probe manager takes its work requests from the probe gateway, executes discovery jobs, pushes results back to the gateway. We currently have five probe servers, each of which have a gateway as well as a manager on board. One can distribute these functions over two or more servers however in order to do loadbalancing.
Hope this helps. If you'd like to go deeper into this subject matter, please do so here. It interests me as well. When opening the server status screen one observes many different components, for each of which I assume 1 or more execution threads are in place:
authorization - handles user authentication and permissions
classModel - upon connection to the DB loads the classmodel into memory, supplies CIT details to requesting components
reconciliation - handles reconciliation of discovered CI data with existing discovered items
scheduler - job scheduling (enrichments, reports, etc)
Added some quick and dirty remarks to the above. Open to suggestions.
I wouldn't know how to draw relationships between these components however.
Perhaps we can make it a combination effort :)