Population Request Input

A population request is defined by a QueryDefinition object that describes the UCMDB population query. The population connector is responsible for reading this query object and translating it into the external system’s query language.

In addition to the QueryDefinition object, there are:

  • getResultTreeNodeStructure – Indicates the required structure that the population result must return.
  • getFlowType – Used to determine if the request to the connector is of type POPULATION or FEDERATION.

getFromDate – Indicates the date from the last synchronization. If the date is null, then the FULL POPULATION runs otherwise the Diff POPULATION runs (if the flow type is FEDERATION the getFromDate method will always return null).

A sample population request is shown in the following figure:

In this example, the request contains the Nodes Population query. We can see that the query contains only one TQL element of type Node.

ResultTreeNodeStructure

To implement your PopulationAdapterConnector, you must read the UCMDB Population TQL, understand what UCMDB is asking for, and provide the results using external system entities. For example, UCMDB may be asking for all Nodes related to Business Service instances in your external system, and it might be that the external system equivalent for a computer is PC, which is related to a Service entity. Thus, your population connector must return instances of PC connected to instances of Service. In this case, the mapping will look something like this:

In this case, to return the PC instances related to Service instances, we are returning a PC RTN that contains Service as a child node. However, we could have chosen to create the mapping in the format of a Service RTN with a PC child like this (rendering the mapping invalid):

Thus, to aid the development of the population connector, the population request sent by the Generic Adapter also includes the RTN structure of the data used in the mapping file. This indicates to the implementing connector the needed format of the returned RTN.

In the first case the ResultTreeNodeStructure is:

PC

  • name

    Service

    • name
    • description

And in the second case the ResultTreeNodeStructure is:

Service

  • name
  • description

    PC

    • name