WSO2 Governance Center — Advanced Asset Classification Using Multiple Taxonomy and Categorization Feature (Part 1)

Madawa Soysa
4 min readJul 24, 2016

--

WSO2 Governance Center is a opensource tool which provides end-to-end SOA governance for enterprises. WSO2 Governance Center comes up with a enterprise store and publisher with a rich and enhanced user experience [1].

This article series is about the latest feature introduced with the Governance Center 5.3.0 which is asset classification by multiple taxonomy and further refine the filtering using asset categorization. This part of the article is focused on what is “Taxonomy” and the steps to configure taxonomies and refine options in Governance Center. The feature can be tested from the Governance Center 5.3.0 which can be found here.

What is Taxonomy

Taxonomy is simply a scheme of classification. Taxonomy enables and supports both internal processes such as content management and externally-facing features like navigation, search, and personalization.

Consider a real world scenario for further clarification. Assume an online retail store that sells almost anything. It is natural to classify each item in the retail store to be classified to different categories/departments based on the item type for the ease of management and to provide a better user experience. For example Amazon has department structure that each item is classified based on the item type and similarly ebay has a category structure. This hierarchical structure is a taxonomy. This structure can be visualized as a tree. Diagram 1 shows a sample taxonomy tree structure.

Diagram 1 — Sample taxonomy tree structure

Multiple taxonomy concept is a combination of several taxonomy structures which are independent of each other. Considering a real world scenario, assume that the retail store has different branches in different cities in different countries. So the items can be classified based on the location as well. classification is totally independent from the classification by type. In this kind of a scenario, multiple taxonomy comes in handy when managing and navigating items across locations.

Taxonomy in Governance Center

Taxonomy in Governance Center has the similar concept which is a hierarchical structure. In Governance Center, taxonomies can be defined as a simple XML structure. These defined taxonomies can be configured as global taxonomies which will be available for all the asset types or as an asset type specific taxonomy which will not inherit implicitly unless specified in the asset type configuration(RXT).

Defining Taxonomy in Governance Center

This sections explains how to define taxonomies and how to add them to specific asset types.

Diagram 2 — Add New Taxonomy page

Once the product is running and logged in to the management console, there will be an icon to add new taxonomy as showed in the Diagram 2.

Clicking this icon will redirect to an embedded editor with a sample taxonomy. Same format can be followed when adding a new taxonomy. Rules to define taxonomies are discussed below.

All taxonomy documents should start with a taxonomy element which has attributes id which is a unique id to identify the taxonomy, name which is used as the display name and global which is an optional attribute which specifies whether the taxonomy is global. Then there will be a root element which acts as the root of the taxonomy tree. This element also has a unique id attribute and a displayName attribute.

<taxonomy id="categoryByType" name="Item Type" global="true">
<root id="itemTypes" displayName="Item Type">
.......
.......
</root>
</taxonomy>

Then inside the root element, taxonomy hierarchy can be designed as node elements which again has a unique id attribute and a displayName attribute. Children of a node can be defined inside the node element as following code segment shows.

Sample taxonomy document
Diagram 3 — Artifact Types list

Once the taxonomy is defined and successfully added to the system, an entry as shown in the following code block should be included in the RXT to bind the taxonomy with the asset type unless the taxonomy is global. Available RXTs are listed in Extensions > Artifact Types tab. An RXT can be edited in the embedded editor by clicking View/Edit as shown in the Diagram 3.

<taxonomies>
<taxonomy name="Item Type"/>
........
</taxonomies>

This taxonomies element has an optional attribute excludeGlobal and when this is true the asset type does not inherit global taxonomies.

<taxonomies excludeGlobal="true">
<taxonomy name="Item Type"/>
........
</taxonomies>

Categorization in Governance Center

Considering the same retail store scenario, once a user navigates to a specific section using the taxonomy and searches for an item, the user may still wants to refine the search results by the item specific attributes such as color, brand etc. This is supported in the Governance Center through the categorization feature. In Governance Center, it is possible to define such attributes in the RXT itself as follows.

Categorization Sample — Vehicle asset type

Above sample is generated considering a vehicle asset type. Similar categorizations can be defined based on the specific attributes of an asset type.

Conclusion

This part of the article discussed on defining taxonomies and refine options for specific asset types in WSO2 Governance Center. The next part will be focusing on creating assets of different types and classifying them using taxonomies and searching/filtering and navigation capabilities of the Governance Center.

--

--