Dynamic Resource Linking via Business Service Composer (BSC) Project Policies - BSM Solution Development Series and Demo Development
dmcclure 0600011K8N Visits (3180)
In the previous blog post we walked through the use of the new Business Service Composer (BSC) to create a basic structure model in TBSM to underpin our “BSM Dashboard” content and the navigation model. We took advantage of the BSC’s ability to easily define a static model of resources related to the company, the line of business and how key attributes of a global application such as online order performance and application infrastructure might be rendered in TBSM. Static resources provide nearly the entire needed context to enable the goals and objectives of BSM for a typical end user.
Now that the static resource structure model is in place we need to bring it to life with the actual things blinking green in the datacenter, discovered via an application or network discovery tool, described in a CMDB, etc. and brought into TBSM’s SCR database. Our goal here is to establish a policy based approach to create the relationship between those resources and the unique touchpoint(s) they have with one or more static resources within our structure model(s). No manual point click, point click in the GUI. No stitching together multiple branches and levels using AutoPop rules. No complex SQL queries to group resources using an ESDA rule and multiple repositories.
The power of the policy is that once it’s in place, it’s in place. When 1000 new virtual machines are spun up overnight to support application growth across multiple datacenters and all of their associated application, middleware, system, network, storage or other attributes flood various tools and repositories if you’ve created your policies correctly you’re all set. The web servers go to the right spot. The application servers go to the right spot. The database servers go to the right spot. The links between components are in the right spots. You’re all set, in production, with an accurate structure model underpinning your behavior models, navigation models, content and dashboards. No more waiting for manual change or release process. No more manipulating templates or rules to account for new resources in the datacenter.
Policies are based on patterns which specify and describe the attributes of interest for a given resource or type of resource and how they’ll be linked to one or more static resources within the structure model. The following section from the TBSM 6.1 FP1 manual describes the out of the box BSC policy patterns available. These cover commonly seen customer structure model designs over the past 10 years. For more information, please see the manuals here.
Policy pattern descriptions
This section briefly describes each policy pattern provided with the Business Service Composer. The general structure of the input that you must provide for each policy pattern is outlined as well as additional information that aims to outline the appropriate use of each policy pattern.
Note: Each of the policy patterns are named to indicate the action that the Business Service Composer initiates within the Service Component Repository (SCR). When a resource meets the criteria of the policy pattern, it is placed under the static resource to create a relationship between the static resource which is the source of the relationship, and the matching resource which is the target resource. By default, this relationship is interpreted as a dependency from the source resource to the target and is managed with the static resource as a parent of the target resource.
In the previous blog post, we connected to the TBSM SCR
database using the CR Viewer tool and were able to see all of the unique
attributes of the six systems we loaded via the demo DLA. The picture below
shows one of the six systems loaded of the Tivoli CDM class
Our first task is to open our existing BSC project and
navigate to the Project View panel which contains the Static Definitions we
previously created as well as the Policy Patterns section. To add a new BSC
policy pattern, right click on Policy Patterns and select ‘Add’. In the Policy
Pattern panel we need to select the desired out of the box pattern type to use.
In our demo, we’ll be using the Plac
This out of the box pattern ‘Pla
In the Placement Attribute section, enter the attribute we’ll
use for matching in our policy rule. In our demo we’ll use the cdm:Label
attribute for pattern matching. We could have easily chosen the ‘PlaceByLabel_1.0’
pattern and not had to enter this but using the Plac
Our next task is to identify the specific CDM Class we will
use to identify the specific resources within the SCR database. It’s important
here to choose the best class and attribute pair. Recall from our CR Viewer
use, an attribute such as cdm:Label is so generic that it may appear in many of
the classes used to describe resources in the SCR. We’re interested in using
Now that we know the class of resources we’re targeting, we
need to specify the actual pattern we want to use in evaluating the cdm:Label
attribute. In our demo we’ll enter in ‘web%’ as the placement pattern which
means that any resources found in the SCR database of class cdm:
The last configuration step is to select the previously defined static resource that will become the target for all resources matching the placement pattern. For our demo, we’ll be mapping ‘websvr1’ and ‘websvr2’ to the USADC-Web static resource.
We’ve now defined one unique pattern for our policy that will act upon the two web servers in our SCR database. After clicking the ‘Add’ button the policy pattern is added to our BSC project and can be seen in the Project View panel.
To complete our BSC project we need to add patterns to match the application servers and the database servers. Right click on the policy rule ‘Input – cdm:
Once you’ve completed all of your work building the BSC
project – HIT SAVE! Saving the BSC project creates a project file within the
projects directory which then needs to be loaded into the SCR via the XML
Toolkit by running a specific command called ‘loa
Upon successful BSC project load and processing, the services panel should display a structure model resembling the one shown below.
If things don’t look right or didn’t show up at all you may need to try these things:
· If things still don’t show up after the BSC project has been successfully loaded and processed you’ll have to troubleshoot the policy and pattern logic you’ve used to ensure it matches what’s in the SCR and for those resources.
I hope this simple example of how we can create pattern based policies that will act upon the attributes of resources in the SCR makes sense and demonstrates the simple yet powerful approach for building and maintaining structure models within TBSM. If you’ve worked with TBSM in the past and experienced the headaches of trying to do this manually or via complex template and rule structures required of AutoPop and ESDAs you should begin to think about how you might exploit this in your environment.
While the example we used to demonstrate the BSC was very Tivoli Common Data Model (CDM) centric, you have the opportunity to define your own version of a CDM that might better represent your environment by using custom namespaces for TBSM. This is only available in TBSM and not something possible in any other Tivoli product. If you wish to integrate with your 3rd party CMDB, internal tool or repository to build structure models in TBSM with that data, you should take the time to create a data model that fits the integration and expected use cases for TBSM in your environment. Using Netcool/Impact’s SCR API the process of getting data into the SCR database from those other sources can be simplified. The following section of the manuals discusses how to create and use a custom namespace (e.g. common data model) for TBSM and the SCR. If you implement something like this the use of the BSC may become even easier within your complex multi-vendor, multi-product environment.
Over the next few posts I will describe the process for designing and implementing the following key components of the BSM Solution and the "BSM Dashboard".