Professional Documents
Culture Documents
Creation of New Bundle On Infosphere Information Governance Catalog - IBM Developer Recipes
Creation of New Bundle On Infosphere Information Governance Catalog - IBM Developer Recipes
Creation of New Bundle On Infosphere Information Governance Catalog - IBM Developer Recipes
2021 Creation of new bundle on Infosphere Information Governance Catalog - IBM Developer Recipes
Recipes are community-created content. They are neither monitored nor endorsed by IBM. If you find inappropriate content, please use Report Abuse to let us know. For more
Overview
Skill Level: Beginner
Beginner
A brief introductionIn the last version of InfoSphere Information Server (11.5) and in the last rollups of the previous one, the Open IGC
functionality was introduced in order to create and describe in Information Governance Catalog custom assets and view a data lineage between
them. This new functionality is useful if the user wants to […]
Ingredients
Basic knowledge of XML
Step-by-step
A brief introduction
In the last version of InfoSphere Information Server (11.5) and in the last rollups of the previous one, the Open IGC functionality was
introduced in order to create and describe in Information Governance Catalog custom assets and view a data lineage between them. This
new functionality is useful if the user wants to expand the data government to abstract concepts or relationships (such as Ownership
configuration) or to proprietary applications and process such as 3rd party ETL tools: that is the case of this article.
In a customer environment it is often necessary to integrate 3rd party ETL tool with the Data Management one and Information Governance
Catalog offers 2 ways to do that: the creation of extension mappings that map sources to targets and the Open Catalog in which you can
describe the complete flow of the data.
The advantage of the first choice is the rapidity of mapping and the possibility to use a simple GUI or a csv, but if there is the necessity to
follow the flow of the data in all its stages, the best choice is the second one, even if a little more complex.
the definition of a bundle with the inner structure, the properties, the custom attributes and the icons of your object
the drawing of the lineage that practically means the drawing of the arrows that connect the pieces of the asset
https://developer.ibm.com/recipes/tutorials/creation-of-new-bundle-on-infosphere-information-governance-catalog/ 1/6
27.01.2021 Creation of new bundle on Infosphere Information Governance Catalog - IBM Developer Recipes
I defined a virtual Superclass named Container: classes sons of this Super Class would be Project, Package and Interface. I referred to the
Super Class Container as virtual because it never appears in navigation bar that shows assets and hasnt any other role except to be the
Super Class to which refer the assets I wrote.
The class Project, being the first in my logic tree, was created only with reference to Super Class:
where in [] there is the custom definition of some attributes to show in header section.
Packages and Interfaces, having necessarily a parent, were defined with both the reference to the parent Container and as class of Super
Class Container:
where, again, [] is for a missing part with the definition of custom attributes (and will be used with this meaning in all the document).
Referring directly to Interface as parent there is another Super Class: the one that represents stages, named Stage. The choice to define it as
Super Class is due to the fact that there is a large number of stages of different type in an ETL tool, such as Table, Filter, Join, Lookup,
Transformer and so on…
https://developer.ibm.com/recipes/tutorials/creation-of-new-bundle-on-infosphere-information-governance-catalog/ 2/6
27.01.2021 Creation of new bundle on Infosphere Information Governance Catalog - IBM Developer Recipes
<class localId="Stage" containerClassRefs="Interface" canHaveImage="false">
<label key="class.Stage" inDefaultLocale="ODI Stage" />
<pluralLabel key="class-plural.Stage" inDefaultLocale="ODI Stages" />
[]</class>
Of course, the choice of the type of stages to describe is related to customer demand, but the bundle is fully customizable for its inner nature
so new ones can be added. Contrarily to Container one, this Super Class is thought to be present in search and navigation bar to collect in a
unique container all types of stages, different in their behavior, but not for inner nature.
As stage children we have the datafields, intended as the basic unit to work with; they represent the columns that flow from a stage to
another.
The bundle is completed with custom icons (that in the specific case are, for commodity, DataStage ones).
Structure created in Information Governance Catalog after the import of the bundle
Suppose to describe a project with a package inside that have one or more Interfaces and with at least one of these Interfaces calling another
Interface. The file should be constructed in this way: first of all there should be the tags for the definition of the project with its local ID, after
the representation of the package with a tag <reference> with the field name filled with $Container and the field assetIDs with the project local
ID; of course, the package itself will have an its own local ID, to which the Interfaces will refer, so in tag reference for Interfaces $Container
should appear in field name and the reference to the package local ID in assetIDs, and so on for sub Interfaces that refer to the Interfaces.
The example provided shows a Project, a principal Interface and 2 Sub Interfaces, without the presence of package class; the asset can be
defined anyway, exactly because package is not a direct parent of Interface, but Interface has as parent a Container (so all Classes that are
defined as type Container can be parent of Interface, in this case Project).
In a case where Interface is direct child of Package, this type of structure would give error during import.
https://developer.ibm.com/recipes/tutorials/creation-of-new-bundle-on-infosphere-information-governance-catalog/ 3/6
27.01.2021 Creation of new bundle on Infosphere Information Governance Catalog - IBM Developer Recipes
<asset class="$GenODIInherit-Project" repr="Prova ODI" ID="a1">
<attribute name="name" value="Prova ODI"/>
<attribute name="$phase" value="DEV"/>
</asset>
Here is an example of stage: the natural reference name is $Interface and the assetIDs field must be filled with local ID of the Interface to
which the stages refer.
(Of course, the choice of local ID is free, I choose the crescent alphanumeric one only for convenience).
DataFields refer generically to $Stage with assetIDs filled with the local ID of the correspondent stage.
Here below a pair of images showing the result of the asset import on Catalog
https://developer.ibm.com/recipes/tutorials/creation-of-new-bundle-on-infosphere-information-governance-catalog/ 4/6
27.01.2021 Creation of new bundle on Infosphere Information Governance Catalog - IBM Developer Recipes
The second part is the one that establishes relationships between assets: inside the tag subFlows local IDs of the source and the target must
be specified. Lineage can be conducted also between assets of different type: for example, when analyzed arrows were conducted from a
sub Interface (type Interface) to a Union Stage (type Stage) to show the direct involvement of the sub Interfaces in principal one (a lineage
column to column was conducted also from target of the sub Interfaces to column of the Union stage).
Here is an example:
https://developer.ibm.com/recipes/tutorials/creation-of-new-bundle-on-infosphere-information-governance-catalog/ 5/6
27.01.2021 Creation of new bundle on Infosphere Information Governance Catalog - IBM Developer Recipes
https://developer.ibm.com/recipes/tutorials/creation-of-new-bundle-on-infosphere-information-governance-catalog/ 6/6