IBM®
Skip to main content
    Country/region [select]      Terms of use
 
 
    
     Home      Products      Services & industry solutions      Support & downloads      My IBM     
developerworks > My developerWorks >  Dashboard > Tivoli Business Service Management Wiki > ... > Tivoli Business Service Manager Integration Scenarios > IBM Tivoli Business Service Manager V4.2 Custom Launch Integrations
developerWorks
Log In   View a printable version of the current page.
IBM Tivoli Business Service Manager V4.2 Custom Launch Integrations
Added by obriend, last edited by obriend on Nov 11, 2009  (view change)
Labels: 
(None)

 Business Service Management

Home > Integration Scenarios > IBM Tivoli Business Service Manager V4.2 Custom Launch Integrations

IBM Tivoli Business Service Manager V4.2 Custom Launch Integrations

IBM® Tivoli® Business Service Manager V4.2 (TBSM) includes preconfigured launch options that provide navigation to other Tivoli applications. You can also configure additional launch options to most Web applications such as other Tivoli or third-party applications.

This white paper describes the steps needed to create custom launches using a URL of your choice and to enable context from the business service you are launching from to be passed to the application you are launching as part of the URL. The two following scenarios are used to illustrate the customization required:

  • A launch to Google and Google Finance from services that were manually created
  • A launch to IBM Tivoli Composite Application Manager (ITCAM) SOA from services created from the Discovery Library Adapter (DLA)

Terminology

See Table 1 for definitions of key terms and concepts that are discussed in this paper.

Table 1 Terms and Definitions used in this paper

Concept Definition
CDM The Common Data Model requires that resource instances be named according to the naming rules of their model namespace. Every manageable resource has both an identity and a name
DLA The Discovery Library Adapter extracts data about discovered resources and their relationship from a specific application and shares that data using Common Data Model terminology.
IDML The Identity Markup Language is an extension of the Common Data Model XML schema developed by IBM. The IDML is used by Tivoli Discovery Library Adapters to identify configuration items, their attributes, and relationships.
ITCAM for SOA IBM Tivoli Composite Application Manager for SOA offers integrated management tools for Web and enterprise infrastructures to aid SOA life-cycle availability and performance.
SOA Service-oriented architecture is a method for systems development and integration where functionality is grouped around business processes and packaged as interoperable services.
TADDM and CCMDB IBM Tivoli Application Dependency Discovery Manager stores and provides complete and detailed application maps of business applications and supporting infrastructure, including cross-tier dependencies, run-time configuration values, and complete change history. The new version of the TADDM software is called IBM Tivoli Change and Configuration Management Database (CCMDB).

IBM Tivoli Change and Configuration Management Database is an integrated productivity tool and database that helps you manage, audit, and coordinate the change and configuration management processes through user interfaces and workflows that are designed to facilitate cross-silo cooperation.
TBSM IBM Tivoli Business Services Manager delivers the technology for IT and business users to visualize and assure the health and performance of critical business services.
SCR Service Component Repository Is the central location in TBSM that interfaces with CDM implementation (such as TADDM and DLAs) to make discovered CDM resources available for business service monitoring with TBSM.

Customization Process Overview

The customization process creates the following custom launches:

  • Launch to an external web application such as Google without any specific service instance information.
  • Launch to an external web application that can accept "context" via its URL parameters. For our example we will launch to Google Finance and pass equity data that is contained in the TBSM service attribute fields and is different for each TBSM service instance.
  • Launch to another Tivoli product using service instance information obtained via a Discovery Library book produced by an discover library adapter (DLA)for that product. The Tivoli product must be able to be launched via a URL and be able to accept context data that was originally supplied in the discovery Library book. In our example we will launch to TEP using data supplied in Discovery Library book produced by the ITCAM for SOA Discovery Library Adapter.

To create these launches, the following processes are needed:

  • Create or select the templates and services that the customized launch will apply to.
  • Create a customized view definition which allows you to map personalized actions
  • Edit customized view definition to add custom launch URL and specifications. These launch actions will be added to the right click menus displayed in the Service Editor or Service Viewer portlet. Note that changes to the view definition will not affect the right click menu that is displayed in the Service Tree Navigation portlet.
  • If the custom launch URL uses attributes from the service model to pass instance information to launched application, you may need to enable the usage of those attributes in the view definition.
  • Advanced techniques that involve manual editing of certain XML files will enable custom launch actions to be added to the right click menus displayed in the Service Tree.

The instructions in this document assume that you are already logged into the Tivoli Integrated Portal (TIP) console with a user ID that has a role of tbsmAdminUser so that you can access the Service Administration page.

Create and Select Template and Services

This white paper provides a description of services associated with stock-trading exchanges to illustrate the techniques required to create a custom launch. A description of services associated with resources created by the Discovery Library Toolkit as a result of reading an IDML (International Development Markup Language) book produced by a Tivoli product development team. Detailed instructions on how to create all the services used as examples in the paper are available in the Appendix section.

You can also choose to select existing templates and services in your installation to follow the examples in this paper. The launch to Google scenario applies to all services and you don't have to select any specific template. The launch to Google Finance scenario can be used any template you desire and you can substitute other attributes from your template in place of the ones we have set up. The launch will work but it is unlikely that the launch context passed will result in a real equity quote.

If you are wish to use existing services derived from reading a Discovery Library book (or importing data from TADDM) that is not from ITCAM for SOA be sure to read the section on "Enabling launch related attributes derived from Discovery Library books (SOA Example)" and determine whether you have equivalent attributes in your services to implement a launch.

Create a Custom View Definition

TBSM 4.2 ships various view definitions that allow you to control the visual content that the Service Editor or Service Viewer portlet displays. The view definition also defines the actions appear as options on the Right Click menu. You can review the settings for any of the view definitions that we deliver but you cannot use the console to edit them. However, you can easily make a custom view definition based on any other existing definition which will allow edits so that you can change settings as you desire. This section will guide you in creating a "MyRelationships" which is a custom view definition based off the Relationships view definition which is the default view that the Service Viewer opens with. If you need any additional help, please refer to the TBSM Service Configuration Guide, Chapter 26 "Custom view definitions"

  1. From the Service Navigation pull down menu, select Services and then click on the Online Services node in the Service Tree. The Service Editor will display the following:


    Figure 1 View Definitions Selection

  2. You should see the current view definition listed in pull down selection field (Item 2*). If you don't see this, click on the View menu item (Item 1), scroll over the Toolbars option and enable the View Definition choice. Relationships is the default view definition, but if it is not selected, use the drop down menu to open the list of available view definitions and select Relationships. The Service Viewer will reload changing the view shown. Once that is completed, click on *Edit View Definition button (Item 3).

  3. The Edit View Definition window opens showing the setting for the Relationships view. Click on the Save as New button on the bottom of the screen. A popup window will appear where you can type in MyRelationships as the name of the new custom view definition you want to create. It will have the same settings as the Relationships view.


    Figure 2 View Definition Creation

  4. When you click OK on the popup window, the Service Editor will refresh the visual display in Viewer and use MyRelationships as the view definition. It looks identical to what was shown for Relationships since we have not yet changed any settings.

  5. View definition settings are kept as xml files in the $TBSM_DATA_SERVER_HOME/av/xmlconfig directory. The file name follows a pattern of
    ViewDefinition_xxxx.xml where xxxx is the name you assigned to the view definition.

    When you created MyRelationships view definition, the file ViewDefinition_MyRelationships.xml was also created

Enable service attribute data for configuring launch actions

In addition to action configuration settings, view definition files also configure which service attributes are available for actions. You can find which service attributes are available for a specific service by viewing the service in the Service Editor Portlet and opening the Edit Service xxxx tab. Scroll down and select the Additional tab to view the attributes. These attributes might contain data that can be used to form part of the launch URL (such as parameter data) or to set conditions to determine whether an action is applicable for a specific service. If an action is not applicable, then it can be disabled and grayed out so the user cannot select it. By default, all the attributes defined in templates are not available for actions. You must enable those attributes that you want to include in your custom launch actions. Because enabled attribute data is kept in memory for the client model of the Service View for every service instance, enable only those attributes you will truly use and not every attribute defined in templates.

This section guides you in enabling service attributes to be used for launch actions. If you need any additional help, see the "Using additional properties in right-click actions" section in the "Custom Settings" chapter of the IBM Tivoli Business Service Manager Customization Guide.

FieldToPassToModelExpr XML element

The fieldToPassToModelExpr xml element is used to identify an attribute that can be used by the view definition. The element form is:

<fieldToPassToModelExpr modelField = "AttributeName">AttributeValue
</fieldToPassToModelExpr>

where AttributeName is the name of the attribute you want to pass and AttributeValue is the value for the attribute.
You can use this format to pass an attribute for all services with a set value such as this:

<fieldToPassToModelExpr modelField = "myhost">myanez </fieldToPassToModelExpr

Generally, however, you want the attribute to contain a value from the service you are performing the action on. In that case the AttributeName must match an attribute defined in the service template and the AttributeValue must contain the AttributeName string. In other words, the AttributeName and AttributeValue fields must match. Wherever AttributeName is used in an action and if the service does not have an AttributeName attribute, then a value of null is returned.
Changing or adding fieldToPassToModelExpr information in any of the view definition files requires a recycle of the Business Service Manager data server for the change to take effect, so it best to do all the updates you need at the same time and then recycle the server.

Enabling service attributes for Trading Exchange Service

Now you want to use the following procedure to enable the MostActiveEquity and TopGainer attributes that are required for your GoogleFinance launches:

  1. Shut down the TBSM data server.

  2. Open the ViewDefinition_MyRelationships.xml with the editor of your choice and search for "fieldToPassToModelExpr." You will find a block of fieldToPassToModelExpr xml statements within an outer dataTypeMapping xml element similar to this:

    <dataTypeMapping dataTypeName="ServiceInstanceBean">
    ......
    <fieldToPassToModelExpr
    modelField="IBM_Tivoli_Monitoring_Services_sourceContactInfo">
    IBM_Tivoli_Monitoring_Services_sourceContactInfo
    </fieldToPassToModelExpr>
    </dataTypeMapping>

  3. Add the following statements after the last __fieldToPassToModelExpr and before the </dataTypeMapping> tag:

    <fieldToPassToModelExpr modelField="MostActiveEquity">MostActiveEquity
    </fieldToPassToModelExpr>
    <fieldToPassToModelExpr modelField="TopGainer">TopGainer
    </fieldToPassToModelExpr>

    The AttributeName must match exactly the display name of the attribute in the template (which is case-sensitive). Save and close the view definition file.

  4. Start the TBSM data server. (If you plan to enable more attributes for the SOA example, do not restart the server yet).

Enabling service attributes for SOA services

As mentioned previously, a DLA book provides you with data on resources and their relationships that can be used to build TBSM services. There are key items that TBSM imports from a DLA book and keeps as service attributes that are critical to enabling a launch from a DLA-derived service back to the source product. These items are:

  • The sourceContactInfo attribute is supplied as part of the ManagementSoftwareSystem class. The product generating the DLA identifies itself through the ManagementSoftwareSystem tags. In many cases, the sourceContactInfo tag identifies the URI (host name and port) of the server that supports a Web console, which can be used by TBSM as the target host system to launch back to. However, the sourceContactInfo URI varies across products. Some products supply a host name and port of a server that cannot be launched to. In other cases, the sourceContactInfo URI contains more than the host name and port and can be set up as a launchable URL. Some products allow the sourceContactInfo data to be configurable by the user.

You need to understand exactly what is being provided by DLA for this field and determine if you can use that to launch.
Note that if you can configure this field, the ideal value for a TBSM launch use is simply the URI with the fully qualified host name and port number of the UI server. A fully qualified host name (with port) rather than a short host name or IP address is required if you plan to use Single Sign On (SSO) support to eliminate multiple login requests when navigating across applications. SSO is configured based on domain names, which is why a fully qualified host name (containing domain) is required.

An example of this concept of configuring a TBSM launch point is the following IBM Tivoli Monitoring sourceContactInfo value:

<cdm: Process.ManagementSoftwareSystem sourceContactInfo=http://meywin1.raleigh.ibm.com:1920>

  • The sourceToken attribute for a resource is the ID that this management software uses to identify a particular instance in terms that it can understand. Here is an example from a Tivoli Monitoring DLA:

<cdm:sys.windows.WindowsOperatingSystem id="meywin1.raleigh.ibm.com-WindowsOperatingSystem" sourceToken="managed_system_name=Primary:MEYWIN1:NT& object_id=p@Primary:MEYWIN1:NT">

Often the sourceToken can be used in the launch URL to pass the context for the launch.

Because a TBSM service can be a composite service that reconciles data from multiple DLA books, it can retain many sourceContactInfos and sourceTokens attributes. In other words, the same resource is being monitored or managed by multiple products, each producing their own IDML book. Therefore, attribute names for these items are prefixed with a product name (such as IBM_Tivoli_Monitoring_Services_sourceContactInfo and IBM_Tivoli_Monitoring_Services_sourceToken). Note that blanks in the product name are replaced with underscores.

If a TBSM service has sourceContactInfo and sourceToken data, that data can be seen in the Edit tab of the Service Editor portlet. Click the Additional tab and scroll through the attributes to find this data.

In this example, the AcmeService child services is imported from the IBM Tivoli Composite Application Manager (ITCAM) for SOA DLA book. The ITCAM for SOA DLA V7.1 uses the sourceContactInfo field for the Tivoli Enterprise Monitoring Server (TEMS or monitoring server) and not the Tivoli __Enterprise Portal Server (TEPS or portal server). You cannot use this data to launch a Tivoli __Enterprise Portal (TEP or portal) browser client if your monitoring server and portal server are on different computers. In this example, both servers are on the same computer so the sourceContactInfo can be used. Note that future versions of the SOA DLA will allow a user to configure the sourceContactInfo to the TEPS.

Although the ITCAM for SOA DLA defines several cdm resources, only the cdm:soa.WSEndpoint objects have associated sourceTokens and only the TBSM services that are mapped from those definitions include ITCAM for SOA sourceToken attributes. TBSM creates business service instances from the other definitions but these services do not have an ITCAM sourceToken and therefore cannot be used to launch back to the ITCAM for SOA workspaces in the Tivoli Monitoring application.
You can now enable the IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceContactInfo __and the IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceToken attributes for use in launch definitions.

  1. If started, shut down the TBSM data server.

  2. Open the ViewDefinition_MyRelationships.xml file with the editor of your choice and search for "fieldToPassToModelExpr." Find the block of fieldToPassToModelExpr xml statements within an outer dataTypeMapping xml element similar to this:

    <dataTypeMapping dataTypeName="ServiceInstanceBean">
    ......
    <fieldToPassToModelExpr
    modelField="IBM_Tivoli_Monitoring_Services_sourceContactInfo">
    IBM_Tivoli_Monitoring_Services_sourceContactInfo
    </fieldToPassToModelExpr>
    </dataTypeMapping>

  3. Add the following statements after the last ToPassToModelExpr __field and before the </dataTypeMapping> tag:

    <fieldToPassToModelExpr modelField =
    "IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceContactInfo">
    IBM_Tivoli_Composite_Application_Manager_for_SOA__sourceContactInfo
    </fieldToPassToModelExpr>
    <fieldToPassToModelExpr modelField=
    "IBM_Tivoli_Composite_Application_Manager_for_SOA__sourceToken">
    IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceToken
    </fieldToPassToModelExpr>

    The AttributeName must match exactly the display name of the attribute in the template (the name is case-sensitive). Save and close the view definition file.

  4. Start the TBSM data server. (If you plan to enable more attributes for the SOA example, do not restart the server yet).

Create Launch Actions

Using the custom view definition you created in section 4, you can now edit the associated actions and add additional items. The actions you change can be associated with a specific template so that only those services that use that template will see the actions you add or change. You can also choose to have the actions you change reflected in every template.

To start our edit session for actions, reopen the Service Viewer portlet (open the Service Administration page, select Services for the navigation view, and click on any service). Select the MyRelationships custom view definition. After it has finished reloading, click the Edit View Definition button again that shows the editable settings for the MyRelationships view. Now click on the Actions tab. The following window is displayed:


Figure 3 Action Creation

You will be creating a couple of different launch actions, but all actions use the following steps:

  1. Select Add New Child Wizard __in the Edit Action field to define a new launch action.

  2. Indicate either a specific service template to work with or that you will operate on defaults set for all templates. The pop-up window is updated to show the current actions for your selection. In particular, the Right Click Menu Option table will be filled in.

  3. Click the New button that adds a new action at the bottom of the Right Click Menu Option table. Change the default value of the action to Add New Child Wizard for your new launch action.

Creating a static launch action available from all services

The static launch action is a very simple launch use case where you launch to another application using a URL. You may not need to pass specific service-instance data as parameters or context to the application you are launching. In this example, you launch to Google Website (www.google.com):

  1. Define the new launch action with parameters indicated in Figure 4. Be sure to type in the full URL needed to reach the application. Use the Action Frame field to choose whether to open a new browser window (or tab) each time the launch action is clicked or to re-use an existing window that had been already opened for this launch action. If you use " _blank", a new browser window is opened each time the Launch Google action is selected. If you supply a name such as GoogleWindow each time Google is launched, a search for a browser window with that name is made. If none is found, a new browser window is opened and assigned that as its name. Otherwise, if a browser window with that name is found, it is re-used to launch the action.


    Figure 4 Launch Action Definition

  2. Click the Set Defaults button to designate it as launchable from every service because Google is very useful.

  3. After adding a new action to the Right Click Menu Options table, change the value from Add New Child Wizard to Launch Google.

  4. Click OK to save your changes and return to the Service Viewer.


    Figure 5 Launch Action Selection

  5. Right-click on any service shown in the viewer to see your new action at the bottom of the menu. When you click it, Google is launched.


    Figure 6 New Launch Action available within the Service Viewer

Creating a dynamic launch action available from selective services

Most launch scenarios are not as simple as our Google launch example. Generally, you might want to pass some data contained in the service you are viewing to the application you are launching. You can make a URL dynamic by using a substitution variable within the URL string that references attribute data from that service.
In Section 5, you noted that the view definition files contained fieldToPassToModelExpr XML tags that defined which service attributes can be used in action definitions. You added and enabled some new attributes (such as MostActiveEquity) so that you can use them in your custom launches.

To indicate that you want to substitute the data from a particular attribute at some point in the URL, you use a substitution variable reference. This reference is the attribute name with a double underscore appended before and after the name, such as __attributeName__. If the attribute is not contained in the selected service or has not been enabled in the view definition, 'Null' is substituted in the URL string.

In this example, you launch to GoogleFinance from any of the Trading Exchange services to see detailed data for the equities that are most active on that exchange. The Google Finance Web site (finance.google.com/finance) can accept stock symbols as input parameter and your custom attributes are expected to contain stock symbols so they can be used in the URL.

  1. Define new launch action with parameters indicated in the following table.

    Action Name launchGoogleFinance
    Action Display Name Show details on Most Active Equity
    Action Description launch Google Finance for most active equity
    Action URL http://finance.google.com/finance?q=__MostActiveEquity__
    Action Frame GoogleFinanceWindow

  2. Because this launch uses an attribute that has been defined only in the TradingExchanges template, limit where that launch option is displayed. Instead of choosing the Set Defaults button that you chose for the basic Google launch, indicate the specific template that you want this action to be associated with.

  3. After adding a new action to the Right Click Menu Options table, change the value from Add New Child Wizard __to Show details on Most Active Equity.

  4. Click OK to save your changes and return to the Service Viewer.


    Figure 7 Setting up launch on a specific template

  5. If you now right-click either of the two trading exchange services shown in the viewer (NY Stock Exchange or Nasdaq), the new action is displayed at the bottom of the menu. If you right-click on any other service such as Online Services that is not based on the TradingExchanges template, that action is not visible. You can also see different launch results depending on which trading exchange service you launch from. The NY Stock Exchange launches Google finance, which shows detailed quotations for IBM because that is the value listed in the MostActiveEquity field. The launch from Nasdaq shows details on Intel.


    Figure 8 Launch actions shown on selective services

The previous example uses only one attribute in the action URL but you are not limited in how many attribute substitutions you can make. At the Google Finance site, you can supply multiple stock symbols that results in a comparison graph for those equities. You can also create another launch entry to compare the most active equity to the equity that had the top gains. Using this same technique, you can achieve similar results for different action display names and action URLs.
The URL contains the following two attributes: http://finance.google.com/finance?q=\_\_MostActiveEquity\_\_\+\_\_TopGainer\_\_
If you launch the URL from the Nasdaq service, you see a Google finance comparison chart showing both Intel and Baidu data, which represent the values set in that service for those attributes.

TIP: If you have a launch action with attributes and you see that the URL launch includes a 'NULL' value where you expect an attribute value, check for the following information:

  • Does that specific service contain that attribute and does it have a non-null value?
  • Does the view definition file for the view you are using have a fieldToPassToModelExpr tag that enables that attribute? Is the attribute name identical to your action URL and identical to the attribute name in the template?
  • Have you restarted the TBSM data server after making the changes to the view definition file?

Creating a launch to another Tivoli product associated with a service

You have seen that you can create TBSM services from the information supplied by another Tivoli product using a discovery library book. You can potentially use that information to create launches back to that product's GUI if views pertaining to those services are available. If you want to launch to another product, the first thing you must determine is the URLs they support (status or task entry points) and specifically the parameter data they require. Then determine if that parameter data has been supplied in the discovery library book and is accessible as a service instance attribute. Generally (but not always) the sourceToken attribute supplied for a resource is part or all of the parameter data needed in the URL.

Your goal is to form a launch URL by concatenating the sourceContactInfo + the status entry point + sourceToken attributes.

In this example, you want to launch to the ITCAM for SOA related workspaces in the portal console. The ITCAM product team has indicated that the Application Server Services Management or the Services Management Agent Environment workspaces can be accessed using the http:// TEPServerhost: Port///cnp/kdh/lib/cnp.html?managed_system_name= managedSystemName __ URL. Other workspace views that are set up by ITCAM for SOA might not be accessible using a URL. Often, single views from a URL that a product provides are not accessible.

Looking at the data supplied in the discovery library book, you see that a WSEndpoint definition that is associated with an application server has a sourceToken that contains the managedSystemName. In fact the sourcetoken format is "managed_system_name= managedSystemName." You can use the sourceToken in your URL formation.
If this is a ITCAM for SOA V7.1 DLA, you must verify whether the sourceContactInfo data identifies the portal server and port (in a split TEPS/TEMS system, this is not true). If it is, you have enough data (the URL, the server host: Port, and the managed system name using the sourceToken) to launch back to the ITCAM for SOA workspace in the portal console. Although you derived other service instances (such as the SOA operations and computer systems) from the DLA book, there is no usable attribute data or accessible URL panels to launch to using these services. If you expand a section of the SOA hierarchy, only the application servers (circled in red) can be used for launch purposes. If you use the Edit Service tab, you can see the IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceContactInfo and IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceToken fields.


Figure 9 SOA services available for launches

Use the following procedure to create the launch:

  1. Define a new launch action with the parameters indicated in the table. Note that you are using substitution variables (indicated in blue) in the URL to bring in the ITCAM for SOA sourceContactInfo and source token data. In the action frame, you must use CNPWindow_1 if you want to re-use an existing portal browser window. You cannot use a string of your own devising because the portal overrides your setting and forces the window name to the internal name (such as CNPWindow_x, where x represents each portal window or tab that the user has overtly opened in the portal console).

    Action Name SoaLaunch
    Action Display Name Show Application Server (ITCAM for SOA)
    Action Description launch TEP application server workspace
    Action URL __IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceContactInfo__///cnp/kdh/lib/cnp.html?__IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceToken__
    Action Frame CNPWindow_1

  2. Although this launch uses attributes that are not in every template, attributes are not strictly defined in a single template. For now use the Set Defaults attribute to allow this launch option to be displayed for all service instances. Use a different technique later on to enable this option only for those services that actually have the attributes you need.

  3. After adding a new action to the Right Click Menu Options, change the value from Add New Child Wizard __to Show Application Server (ITCAM for SOA).

  4. Click OK to save your changes and return to the Service Viewer.

  5. Right-click on any service shown in the viewer to see your new action at the bottom of the menu. If you right-clicked it from the any of the application servers instances (such as server1 under the getEnterpriseCustomer{http://ec.retail.samples.wsm.ibm.com\} node) and selected the option, it launches to the portal successfully and opens the Application Server Services Management workspace. However if you right-clicked a different type of service, such as the getEnterpriseCustomer{http://ec.retail.samples.wsm.ibm.com\} icon that is mapped to a Websphere operation, and selected the launch, it fails and you see that the attempted URL looks similar to "NULL///cnp/kdh/lib/cnp.html?NULL." The service did not contain the attributes you needed so that launch was not appropriate for that service and you should not be allowed to select it.
Conditionally enabling and disabling a launch action

To resolve the problem you encountered with the SOA launch, create an action that is available only when the attribute data is there. By directly editing the action definition file, you can accomplish this task.

When you create a new action, an XML file describing the action is created and inserted into an existing file called canvasOpenURLActions.xml located under TBSM_DATA_SERVER_Home\ av\xmlconfig_._ You can edit the XML directly to add tags that enable the actions only when a conditional expression is met.
IMPORTANT: Be sure to back up this file before making the manual changes in this procedure for creating a launch action:

  1. First locate the SOA launch action created by searching the file for "SoaLaunch" (or whatever value you assigned to the actionName) to find the following XML definition:

    <openURLAction description="Show Managed System for SOA Server"
    displayName="Show Application Server (ITCAM for SOA)"
    enableDisableExpression=""
    name="SoaLaunch"
    permissionCheckerClassName="com.micromuse.sla.map.AVCheckRADInstancePermissionsImpl"
    roleRequired="tbsmViewService" target="CNPWindow_1" visibleInGUI="true"
    >__IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceContactInfo__///cnp/kdh/lib/cnp.html?__IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceToken__
    </openURLAction>

  2. The enableDisableExpression tag can be used to add a conditional expression that determines whether the action is enabled (the user can select it from the right-click menu) or disabled (visible but grayed out and non-selectable). You do not have to check for both attributes (sourceContactInfo and sourceToken) because the toolkit always creates both if a sourceToken is available from a discovery library book. In this example, change the value of the enableDisableExpression attribute to determine if one of the attributes exists in the following specific service instances and then save the file:
    enableDisableExpression = "'__IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceContactInfo__' != 'NULL'"

  3. Any time you manually edit the canvasOpenURLActions.xml file (or any of the files in that directory), you must stop and restart the TBSM data server for the changes to take effect. When that is done, go back into the service viewer for main AcmeService or any service that is not one of the SOA application servers and view using the MyRelationships view definition. Right-click he service icon to see the "Show Application Server (ITCAM for SOA)" option at the bottom of menu, which is grayed out.

  4. Right-click one of the application server icons (server1) to see the option enabled.


    Figure 10 Conditional enablement of launch action
Alternate Launch Actions

As indicated previously in this paper, the V7.1 ITCAM for SOA DLA supplies the monitoring server host for the sourceContactInfo attribute. If you have set up the monitoring server and portal server to be on different systems, the launch action used previously does not work because there is nothing in the discovery book that supplies the portal server information. This situation may also be true for other Tivoli products that might include a back-end server instead of a user-interface server as the sourceContactInfo attribute.

The following workarounds might help you launch to the V7.1 ITCAM for SOA product:

  • If there is a single UI host server that recognizes all services related to that product, you can explicitly specify the host name and port as part of the URL action instead of using a substitution variable. For the ITCAM for SOA example, if the portal servers are all linked to a single monitoring server (producer of the discovery library book) and the myanez system is a portal server, you can change the action URL to the following URL:
    http://myanez.raleigh.ibm.com:1920///cnp/kdh/lib/cnp.html?\_\_IBM\_Tivoli\_Composite\_Application\_Manager\_for\_SOA\_sourceToken\_\_
    You also need to change the enable expression to check for the ITCAM for SOA sourcetoken rather than the sourceContactInfo attribute.

    Changing the URL in this way might not work if there are multiple portal servers that are linked to different monitoring servers. Services derived from one discovery book are not recognized in the portal server that is linked to a different monitoring server.

  • If you have multiple UI host servers that manage different domains, you might want to manually edit the sourceContactInfo field in the discovery library books before reading them in with the TBSM toolkit. You can change the field to reflect the appropriate UI host and port to use. Use this technique only if the toolkit is reading the books directly and not if the books are first being read into TADDM and then imported into the TBSM software. If you used this technique, be sure to update the books each time you install a new version because the sourceContactInfo field is continuously refreshed with the values from the latest version.

  • Lastly, you can create your own attribute field to contain the UI host name and port info in the template for the resource type you want to launch from (such as BSM_Node, BSM_Application, and BSM_AppServer). Use that attribute as a substitution variable in the action URL. After services are created from a book, you can manually update that field to reflect the appropriate values. The other two techniques are preferable if your environment allows it, but this is one approach that allows you to launch if you are in a multiple UI host environment and importing data from TADDM software. If the number of services you need to support is small, this technique can be very viable, but as they grow larger, the manual editing can become cumbersome.

Extending a custom launch beyond a custom view definition

In all the preceding examples, you have created a custom launch within a custom view definition and essentially used the View Definition Editor to define and edit the new launch action. This technique works well, but has the following limitations:

  • The new launch actions are visible only when you obtain the right-click menu from the Service Viewer portlet. If you right-click the same service in the Service Tree within the Service Navigator portlet, the customized launch actions do not show up.
  • You cannot insert a new custom launch action in an existing submenu. You must insert the new action at the top level of the right-click menu. The TBSM program has a Launch to submenu that currently contains the launches to other products or applications. Some users prefer to see all launches in that submenu rather than as separate items that can be interspersed with other non-launch custom actions.
  • You need to create a copy of any existing view definition your users use. Add the custom launch to each of those copies because your view definitions cannot be edited online. You must switch to those views when launching or change thei default view to automatically use one of the custom views.

You can avoid these limitations by directly editing the XML files that control action behavior in TBSM_DATA_SERVER_Home\ av\xmlconfig __directory. Directly editing the XML files was briefly referenced earlier in this paper when conditional enablement of launch actions was defined. Now you can learn about more changes you can manually make to alter your right-click menus in both the Service Viewer and Service Tree portlets.

IMPORTANT: These techniques are advanced. All manually changed files must be backed up first. If you introduce an error in your XML file, you might not be able to see some or all of your right-click menu options, so introduce each change independently so that you can troubleshoot any errors.

Before learning about the changes you can make, you must first understand the files affecting launch actions:

  • The canvasOpenURLActions.xml file contains the xml definitions of each action. Other files refer to actions defined here using the actionName reference.
  • The canvasDynamicSubMenuActions file defines a submenu and the actions that are included in that submenu.
  • The treeTemplates.xml file defines right-click menu options available for service instances in the Service Navigation tree view.
  • The ViewDefinition_xxx.xml files that are associated with a single view definition define which actions are available in right-click menu for services displayed
    in the Service Viewer portlet.

All the following techniques assume that you have first successfully created a launch action in a custom view. The launch action is completely defined in the canvasOpenURLActions.xml file and you do not need to update that file any further.

Displaying a new launch action in the Launch to submenu

Displaying a new launch action is one of the simpler changes to make. You can see the new launch action in the Launch to submenu shown in both the Service Viewer and Service Navigator Portlets.

  1. Edit the canvasDynamicSubMenuActions file and and search for "IntegrationTools" to find the following XML definition:

    <dynamicSubMenuAction
    name = "IntegrationTools"
    displayName = "Launch to"
    description = "Launch Integrated Products from Selected Instance."
    ......
    <!-- Old Menu Items -->
    <nextAction name = "ShowManagedSystem"/>
    <nextAction name = "ShowHOPViewLocal"/>
    <nextAction name = "ShowHOPViewRemote"/>
    <nextAction name = "ShowPhysicalTopology"/>
    <nextAction name = "ShowChangeHistory"/>
    <nextAction name = "ShowCIDetails"/>
    <nextAction name = "ShowOpenServiceRequest"/>
    <!-- End: Old Menu Items -->

</dynamicSubMenuAction>

  1. Add a new nextAction tag and use the actionName of the new launch action for the name field. Place it relative to the existing nextAction tags in the order that you want to see it on the submenu. In this example, you want to move the Launch Google and ITCAM for SOA launch to the launch submenu. You want to keep the portal-related launches together so you add the SOA launch after the current portal launch for managed systems. The Google launch is added to the end:

    <!-- Old Menu Items -->
    <nextAction name = "ShowManagedSystem"/>
    <nextAction name = "SoaLaunch"/>
    <nextAction name = "ShowHOPViewLocal"/>
    <nextAction name = "ShowHOPViewRemote"/>
    <nextAction name = "ShowPhysicalTopology"/>
    <nextAction name = "ShowChangeHistory"/>
    <nextAction name = "ShowCIDetails"/>
    <nextAction name = "ShowOpenServiceRequest"/>
    <nextAction name = "ShowManagedSystem"/>
    <nextAction name = "LaunchGoogle"/>
    <!-- End: Old Menu Items -->

  2. For the LaunchGoogle action, the example does not introduce any attributes that were used as substitution variables but you do want to introduce new attributes for the SOA Launch. Any attributes that you enable in the custom view definition (ViewDefinition_MyRelationships.xml) must be enabled in all the other view definition files. You can open the custom view definition file, copy the xml statements from that file into the appropriate locations in the other files, as shown here:

    <fieldToPassToModelExpr
    modelField="IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceContactInfo">
    IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceContactInfo
    </fieldToPassToModelExpr>
    <fieldToPassToModelExpr
    modelField="IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceToken"> IBM_Tivoli_Composite_Application_Manager_for_SOA_sourceToken
    </fieldToPassToModelExpr>

  3. After you save your changes, stop and restart the TBSM data server.

  4. Open the service tree and right-click a service instance and then open the Launch to submenu. The new options are displayed. Note that the Show Application Server (ITCAM for SOA) launch may be enabled or disabled depending on which service instance you clicked. Test the launches and confirm they are still operational.


    Figure 11 New Launch actions available from Service Tree context menu

  5. Double-click the service to have the service displayed with the Service Viewer. Ensure that you are using one existing definitions (such as B). Right-click the service and then open the Launch to submenu. Again verify that the new launch options are displayed and operational if appropriate. You must loop through this verification for each of the views you changed.

Anything you add to the Launch to submenu is dislayed for every service irregardless of template. If you have a launch that is defined to a specific template, such as the launch to Google finance, you might not want to put it into this folder. If you recall, that launch was dependent on attributes that were available only through one template, and produce a failed launched for other services not using that template. If you still want to have that type of launch in the submenu, be sure to add conditional enableDisableExpression tags to the action definition to check for the presence of the required attribute.

Displaying a new launch action in the standard views

You may want to retain a new launch action on the top level of the right-click menu or keep it restricted to a specific template, but still want to have it available on the view definitions included with the TBSM product (and not a custom view definition).

Steps for Launch actions applicable to all templates
  1. Open the custom view definition file and search for the actionName of the new launch option. Look for this launch option within an XML section similar to this:

    <templateMapping primaryTemplateName="DefaultTag">
    <expandCollapseTemplate>false</expandCollapseTemplate>
    <expandCollapseInitiallyTemplate>true</expandCollapseInitiallyTemplate>
    <groupingField>PrimaryTagName</groupingField>
    <indicatorMapping visualRepresentation="RADPrototype"/>
    <actionMapping actionName="SingleClickedOnService" clickType="~singleClicked"/>
    <actionMapping actionName="ShowRawEventsTableView" clickType="~doubleClicked"/>
    ....
    <actionMapping actionName="launchGoogle" clickType="~popupMenu"/>
    <actionMapping actionName="SoaLaunch" clickType="~popupMenu"/>
    </templateMapping>
    The DefaultTag value for the primaryTemplateName indicates these actions are the default for all templates. Copy the actionMapping statements for the new launch options

  2. Edit each of the standard view definition files (such as Relationships) and find the XML statements for the DefaultTag templateMapping. Copy the actionMapping statements for the new launch options to the end of the other actionMapping statements in this block. Note that the order of the statements is reflective of the visual order of the option in the pop-up menu so you may position them in the way you prefer.
Steps to make Launch actions applicable to a specific template
  1. Open the custom view definition file and search for the actionName of the new launch option. You can find it within an XML section similar to the following section where the primaryTemplateName reflects the name of the template you associated the launch with:

    <templateMapping primaryTemplateName="TradingExchanges">
    <actionMapping actionName="SingleClickedOnService" clickType="~singleClicked"/>
    <actionMapping actionName="ShowRawEventsTableView" clickType="~doubleClicked"/>
    <actionMapping actionName="ShowServiceInstanceEditor" clickType="~popupMenu"/>
    <actionMapping actionName="InstantiateOneHopServiceMap" clickType="~popupMenu"/>
    <actionMapping actionName="ChooseChildrenTool" clickType="~popupMenu"/>
    <actionMapping actionName="ShowMemberTemplates" clickType="~popupMenu"/>
    <actionMapping actionName="ViewTools" clickType="~popupMenu"/>
    <actionMapping actionName="IntegrationTools" clickType="~popupMenu"/>
    <actionMapping actionName="MaintTools" clickType="~popupMenu"/>
    <actionMapping actionName="launchGoogle" clickType="~popupMenu"/>
    <actionMapping actionName="launchGoogleFinance" clickType="~popupMenu"/>
    <actionMapping actionName="launchGoogleFinanceCompare" clickType="~popupMenu"/>
    </templateMapping>

  2. If this is the first time you created actions tied to this specific template, you must copy the entire templateMapping definition block. Open each standard view definition file, locate the DefaultTag templateMapping definition block, and add the new block after the default. If you have already added actions to this specific template, the standard view definition file should already contain the templateMapping definition block for that template. Simply add the new actionMapping statements to the block in the order you want them shown in the right-click menu.
Common Steps
  1. While you are still in each standard view definition file, add any attributes that you used as substitution variables in the action URL (see step 3 in section 6.4.1 for more details). Then save and close the file.

  2. Save and close all files. Then stop and restart the TBSM data server for the changes to take effect.

  3. Open the Service Viewer and use one of the standard view definitions (such as Relationships) to view a service instance. Verify that when you right-click the service instance icon, you see the new launch action on the menu. If the action is tied to a specific template, be sure to check that it is displayed only on service instances using that template.
Displaying a new launch action in the Service Navigator tree view

You may want to use a new launch action within the Service Navigator portlet when accessing a service in the service tree view. In section 6.4.1 "Displaying a new launch action in the "Launch to" submenu," you saw that including the new launch action within the Launch To submenu provides a launch from the service tree.
Use the following steps to also provide a launch from the service tree for new launch actions that are on the top level on the menu and are not within a submenu. However this technique does not limit an action to a specific template. If your action depends on attribute data that is not available on all services, be sure to add conditional enableDisableExpression tags to the action definition to check for the presence of the attributes needed.

  1. Open the treeTemplate.xml file and search for the <treeTemplate name = "ServiceInstance"> XML section. You should find in within an XML section similar to the following section that is within the treeTemplate block:

    <templateTreeMapping primaryTemplateName = "DefaultTag">
    .......
    <actionMapping
    clickType = "~popupMenu"
    actionName = "ViewTools"/>
    <actionMapping
    clickType = "~popupMenu"
    actionName = "IntegrationTools"/>
    <actionMapping
    clickType = "~popupMenu"
    actionName = "MaintTools"/>
    </templateTreeMapping>.

  2. Add a new actionMapping tag for the new launch action you want displayed on the menu. Place it relative to the existing items in the order you want it displayed. In this case, you are adding the launch Google action after the Maintenance submenu.

    ...
    <actionMapping
    clickType = "~popupMenu"
    actionName = "MaintTools"/>
    <actionMapping
    clickType = "~popupMenu"
    actionName = "launchGoogle"/>
    </templateTreeMapping>

  3. Save the file. Then stop and restart the TBSM data server for the changes to take effect.

  4. Open the Service Navigator portlet and verify that when you right-click the service instance in the tree, you see the new launch action on the menu:


    Figure 12 Creating custom launch action available from Service Tree

The preceding section concludes our discussion on how to create custom launches to other applications from TBSM context menus.

Appendix

Create Template and Services

This section indicates how you can create both the Trading Exchanges Services and an ITCAM for SOA services samples used in this white paper. If you need additional help in creating similar services see the IBM Tivoli Business Services Manager Service Configuration Guide.

Create the Trading Exchange Services

The services you build in this section create a two-level hierarchy:

  • The higher level is a service model that contains all possible online services.
  • The lower level is a service model that specifically models trading exchanges and keeps track of the most active and top gainer equities for that day.

These services are very simple services sufficient for the purposes of this paper but by no means robust examples of the powerful, dynamic service models that the TBSM software can create.


Figure 13 Online Services template structure

Create Service Templates

Create the low-level template first by completing the following steps:

  1. In the Task List at the left side of the console, select Administration -> Service Administration to open the Service Administration page. The Service Navigation portlet on that page shows the Templates portlet by default.

  2. Click the Create New Template button. The Edit Template tab opens in the service editor.

  3. Type in TradingExchanges __for the Template Name field and then type anything you want for Description. __

  4. Optionally, click the Display Icon: Browse button to open the Browse Icons window and select the icon you want for TradingExchanges. All services assigned to this template include this icon.

  5. Click the Additional tab. Then click the New Parameter button repeatedly to create the following three parameters, leaving the Default Value field blank each time.

    • Exchange

    • MostActiveEquity

    • TopGainer

  6. Click the Save button in the Edit Template tab tool bar.


    Figure 14 TradingExchanges Template

Next, create the Online_Services template and its dependencies using the following steps:

  1. Go back to the Templates portlet in the Service Navigation portlet and click the Create New Template button. The Edit Template tab opens in the service editor.

  2. Type in Online_Services __for the Template Name.

  3. Optionally click the Display Icon: Browse button to select the icon you want for Online_Services.

  4. Click the Rules tab. Then click the Create Good, Marginal, Bad Aggregation Rule button . The rule you create specifies that Online_Services services are dependent upon the child services of the TradingExchanges template and aggregates their status for the parent service.

  5. Enter the OnlineServiceStatus for the Rule Name field*,* select TradingExchanges from the menu for the Child Rule/Mapping field, and select the % of children radio button for Condition Type.

  6. Click the Save button in the Edit Template tab tool bar.


    Figure 15 Online_Services Template
Create TradingExchanges and Online_Services Services

Now you are ready to create services using the templates created in the previous section. Again you start with the lower-level TradingExchanges services.

  1. From the Service Navigation menu, select Services, and then click the Create New Service button. The Edit Service tab opens in the service editor.

  2. In both the Service Name and Display Name fields, type Nasdaq.

  3. In the Templates tab, click the TradingExchanges template in the Available Templates list and click the >> button.

  4. Click the Additional tab. Specify the field values for the parameters you specified in the TradingExchanges template. Enter these field values for the following parameters:

    • Exchange - NASDAQ

    • MostActiveEquity - INTC

    • TopGainer - BIDU

  5. Click the Save button in the Edit Service tab tool bar.

  6. Repeat Steps 1 thru 5 to create a second TradingExchanges service but use these values:

    • Service Name - NYStockExchange

    • Display Name - NY Stock Exchange

    • Exchange - NYSE

    • MostActiveEquity - IBM

    • TopGainer - GE

Note that for simplicity you are manually supplying values for the equity parameters; in reality, this type of attributes is most likely dynamically changing based on incoming events or rules.

Lastly, create the higher-level Online Services service using these steps:

  1. From the Service Navigation menu, select Services, and then click the Create New Service button. The Edit Service tab opens in the service editor.

  2. For Service Name, type Online_Services. For Display Name, type Online Services

  3. In the Templates tab, click the template Online_Services in the Available Templates list and click the >> button

  4. Click the Dependents tab; then click the Nasdaq and __NYStockExchange services __in the Available Services list and click the >> button.

  5. Click the Save button in the Edit Service tab tool bar.

At this point, the Services portlet within Service Navigator portlet should display the Services shown in Figure 1 Online Services template structure.

Create Services using the Discovery Library Toolkit

The TBSM V4.2 Discovery Library support includes a method of importing resource information from TADDM or from Discovery Library Books (also known as IdML books). Discovery Library books are produced by a Discovery Library Adapter (DLA) and included with the product. These books provide consistent definitions for the resources the product is managing based on the IBM Common Data Model (CDM).

Imported resource information is then mapped to templates defined in the TBSM software, providing a quick way of building business services in TBSM. The TBSM Service Component Repository (SCR) provides a bridging area between resources and their relationships as represented in CDM and the TBSM business service template model. As CDM resources are moved into the TBSM model, the instance class structure and relationships must fit or be "mapped" into the business model implemented by TBSM. The SCR provides a default implementation of the mappings defined through a set of XML files. This mapping may be customized by editing the XML files.
When all the resources are loaded into the SCR, you can create business services using these resources. Create a new service and add the resources from the SCR as dependents and save the service.

In this section, you create TBSM services using a Discovery Library book generated by the ITCAM for SOA DLA. The example book is included as part of the launchDefinitions.zip file. However because the eventual purpose of this example is to launch back to the source product and you do not have access to the ITCAM systems listed in our sample book, you might want to follow the steps indicated here using a DLA book created from a Tivoli product in your own environment. Products that generate an IDML book using a DLA include but are not limited to IBM Tivoli Monitoring, IBM Tivoli Network Manger, and other Tivoli z/OS products.

Import resources using a Discovery Library Book (SOA example)

Create the resources in the SCR by completing the following steps:

  1. Install the TBSM Discovery Library Toolkit and ensure that the toolkit service (Windows) or daemon (UNIX®) is running. See the IBM Tivoli Business Service Manager V4.2 installation and administration guides for detailed instructions on how to install and use the toolkit to read discovery data from either TADDM or from Discovery Library books.

  2. Run the DLA and produce an IDML book. Each product's DLA has unique instructions on how to create the Discovery Library book so refer to product documentation for details on generating a book. For ITCAM for SOA DLA, the readme.txt has instructions on how to set up the DLA but essentially you run the KD4_DLA command from the DLA_INSTALL_DIR\bin directory.

  3. After the book is created, copy it to the computer where TBSM Discovery Library Toolkit is installed and to the directory that you configured the toolkit to read books from. The defaults are:

    • For UNIX systems: $TBSM_HOME\discovery\dlbooks

    • For Windows® systems: %TBSM_HOME%\discovery\dlbooks

      If the default polling interval set for the toolkit to check for new books is unchanged, then the new book are read in 15 seconds or less. The %TBSM_HOME%\XMLtoolkit\log\msgGTM_XT.log issues a message indicating when the book has been successfully processed.

  4. Log in to the Tivoli Integrated Portal console. In the Task List on the left side of the console, select Administration -> Service Administration to open the Service Administration page. The Service Navigation portlet on that page shows the Templates portlet by default.

  5. From the Service Navigation menu, select Service Component Repository and then expand the Component Registry. Depending on the DLA book you are using and the type of resources it defines you might need to expand specific nodes (i.e. Servers) to see the service models created. For SOA, expand the SOA Components node to see resources that map to SOA operations.


    Figure 16 Service Component Repository
Create SOAServices Template

To create a template (SOAServices) for the service model that uses the SOA components from the SCR, complete the following procedure:

  1. Go back to the Templates portlet in the Service Navigation portlet and click the Create New Template button. The Edit Template tab opens in the service editor.

  2. Type SOAServices __for Template Name field.

  3. Optionally click the Display Icon: Browse button to select the icon you want for SOAServices.

  4. Click the Rules tab. Then click the Create Good, Marginal, Bad Aggregation Rule button . The rule you create in this window specifies that services are dependent upon the child services of the BSM_SOAOperationPort template.

  5. Enter BSM_SOAOperationPortsWorst for the Rule Name field*,* select BSM_SOAOperationPort from the menu for the Child Rule/Mapping field, and select any child for Condition Type.

  6. Click the Save button in the Edit Template tab tool bar.


    Figure 17 SOAServices Template
Create AcmeService Service

Now you are ready to create a TBSM service called AcmeService that uses the SOAServices template created in the previous section and the SCR resources created from the SOA DLA book.

  1. From the Service Navigation menu, select Services, and then click the Create New Service button. The Edit Service tab opens in the service editor.

  2. For both the Service Name and Display Name fields, type AcmeService.

  3. In the Templates tab, click the SOAServices template in the Available Templates list and click the >> button

  4. Click the Dependents tab; then click the "Add From Service Component Repository" button. This opens a window where you can expand the nodes in the SCR until you find the service models you want. In this case, expand the SOA Component nodes and click a few services (such as getEnterpriseCustomer, getFromEnterpriseCustomerDB, getFromThirdPartyCustomerInfoDB, and lookupCustomerInNewDB). Then click the Close button at the bottom of the window. You should see the services you selected in the Selected Services list on the left side of the window.

  5. Click the Save button in the Edit Service tab tool bar.

At this point, the Services portlet within Service Navigator portlet shows the services in the following figure:


Figure 18 Acme Service Tree and View

Downloads

launchDefinitions.zip

References

IBM Tivoli Business Service Manager Information Center at *http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=/com.ibm.tivoli.itbsm.doc/welcome.htm *includes administration, installation, customization, service configurations guides, and additional related documentation.

Copyright

®

© Copyright IBM Corporation 2009

IBM United States of America

Produced in the United States of America

IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at l"Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Other company, product and service names may be trademarks or service marks of others.

INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PAPER "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

Information in this paper as to the availability of products (including portlets) was believed accurate as of the time of publication. IBM cannot guarantee that identified products (including portlets) will continue to be made available by their suppliers.

This information could include technical inaccuracies or typographical errors. Changes may be made periodically to the information herein; these changes may be incorporated in subsequent versions of the paper. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this paper at any time without notice.

Any references in this document to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing
IBM Corporation
4205 South Miami Boulevard
Research Triangle Park, NC 27709 U.S.A.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "+Copyright and trademark information+" at www.ibm.com/legal/copytrade.shtml.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

UNIX is a registered trademark of The Open Group in the United States and other countries.


    About IBM Privacy Contact