Attribute-Based Decomposition

This functionality provides the ability to define decomposition rules along the relationship path for products. The decomposition rule is defined as XPATH logic, which grants the ability to apply the defined logic anyway along with the order. E.g. We can define that Copper Access or Fiber Access process component must only be in the plan if the Access Type in the order is Copper or Fiber.

For attribute-based decomposition can be applied the following conditions have to be satisfied:

  1. DECOMPOSITION attribute needs exist in the product where the XPATH logic can be defined.

  2. The XPATH logic must contain an exists (this is due to the XPATH logic is evaluated to either true or false). The logic can either be for a check of the User Defined Fields or an existence of a particular product within the order.

A simple scenario for Attribute based decomposition is described below:

Attribute based decomposition product


A bundled offering (“A” in the above figure) contains a characteristic for the type of access that the subscriber can specify during order entry. In our figure above this is the fulfillment of Product “E” or Product “F”. The bundled offering has an associated characteristic named “AccessType” where the value can either be “E” or “F”. For the fulfillment of access type E or F a unique execution plan is generated. The “DECOMPOSITION” characteristic for “F” and “E” contain a relationship value with “AccessType” set to either “F” or “E”.

The Decomposition characteristic can contain complex XPATH logic, which can be used to determine, which branch of the tree must be included in the final execution plan for the offering.

Our design takes into account the new product catalog characteristic called “DECOMPOSITION”. The decomposition engine processes this characteristic and determine, which branch in the product hierarchy is required for the final execution plan. If in our order access type “E” is specified then branch “F” is not included in the execution plan and “E” is included. If access type “F” is specified then “E” is not included in the execution plan.

XPath for attribute-based decomposition can be used against the User Defined Fields. The User Defined Fields can come from order line or from product model characteristics. Automated Order Plan Development configuration flag "includeproductmodelcharacteristics" is used to include product model characteristics for xpath execution. By default, product model characteristics are not considered.

By default, all the order lines from the order are considered to check against whom the Xpath must be executed. Conditionally it can also be made to execute only against the order line from which product is being decomposed. Automated Order Plan Development configuration "includeonlyproductorderline" needs to be set to true in this case. By default, it is false.

The xpath expression is relative to the element "Product". A sample xpath is exists($var//Product[udf[name='AccessType' and value='copper']])