Configuring IBM Business Monitor to use Web Services Notification

Web Services Notification is a publish and subscribe vehicle for web services. You can send events from most sources to IBM® Business Monitor through web services using Web Services Notification. Web Services Notification can be used with both Java™ and .NET web services for IBM Business Monitor. Sample scripts are provided that you can use to configure your IBM Business Monitor server to support the flow of event messages.

About this task

You can use web services to publish events from any client application capable of being a web service client. This approach is valuable because web services provide platform and programming language flexibility.

You can use Web Services Notification to publish an event message to the common event infrastructure (CEI). CEI is still used for event filtering and distribution to the actual monitor model input queues. Hence, Web Services Notification serves as a simple web services interface in front of CEI.

For information about enabling security, see the RedBook Web Services Handbook for WebSphere® Application Server 6.1.

For information about the concepts of Web Services Notification and the features that are available in WebSphere Application Server 8.0 to provide an open standards approach to publish and subscribe messaging, see The developerWorks® Technical Library.

The configuration scripts are installed with IBM Business Monitor in the following directory: monitor_root\scripts.wbm\wsn. These scripts enable the Web Services Notification service by integrating with the service integration bus in WebSphere Application Server. The scripts also enable specific configuration of resources to emit events through the service integration bus (SIBus) and CEI to IBM Business Monitor.

To configure IBM Business Monitor to use Web Services Notification, complete the following steps:

Procedure

  1. Install and configure the Service Data Objects (SDO) repository application in WebSphere Application Server. Because you are using a service integration bus for enabling web services, you must use SDO as the standard format to store and retrieve Web Services Description Language (WSDL) definitions. Therefore, you must create an SDO repository that can be implemented using a database engine. For instructions, see the related link to the WebSphere Application Server information center.
  2. Copy the files that contain the configuration resources to a working directory. The files consist of jython scripts and a properties file as explained in the following table.
    Table 1. Contents of the scripts.wbm\wsn directory
    File Comments
    configEventWSN.py Use this script to set up the necessary Web Services Notification, JMS, SIBus, and CEI resources.
    removeEventWSN.py Use this script to uninstall the Web Services Notification, JMS, SIBus, and CEI resources.
    eventWSN.properties This file contains the common resource names and properties that the two scripts use.
  3. Edit the eventWSN.properties file so that it reflects the properties that are unique to your environment.
    Table 2. eventWSN.properties file properties and descriptions
    Property Description
    crtCellName = The cell name of the WebSphere Application Server
    crtNodeName = The node name of the WebSphere Application Server
    crtServerName = The server name of the WebSphere Application Server
    host = The host where WebSphere Application Server is installed. The value, localhost, is valid; you do not have to change that value.
    wsnPort = The WebSphere Application Server http_transport port
    EventServiceMdb = This file is located in the EventServiceMdb.ear file, which is located under the was_root/installedApps directory.

    For example, when the monitor toolkit is installed on Integration Designer 8.0, the EventServerMdb.jar file is located in profile_root/profile_name/installedApps/cell_name/EventService.ear.

  4. Run the following configEventWSN.py script:
    wsadmin -f <path>/configEventWSN.py
    -lang jython <path>/eventWSN.properties -profileName <profile>
    -conntype=SOAP

    where

    <path> is the path where the scripts are located

    <profile> is the name of the profile created for your IBM Business Monitor server. For example, WBMon01 wsadmin is located in <WAS_root>/bin </profile></path></profile></path></path>

    The following code shows a sample run of the script on an IBM Business Monitor unit test server that is installed in Integration Designer:

    c:\ibm\WID61\runtimes\bi_v61\bin\wsadmin -f c:\ibm\dev\WSN\scripts\configEventWSN.py
    -lang jython c:\ibm\dev\WSN\scripts\eventWSN.properties -profileName WBMonSrv_wps
    -conntype=SOAP
  5. Restart WebSphere Application Server to enable the bus definition and the JMS JNDI resources.
    Note: If security is enabled on the IBM Business Monitor server, but you do not want to use web services security during your initial Web Services Notification client testing, you can disable security on the CommonEventInfrastructure_Bus service integration bus.
    When the script has run, verify that the script created the following artifacts successfully:
    1. A Web Services Notification service
    2. An endpoint listener
    3. A Web Services Notification service point
    4. A service integration bus destination for messages inbound to CEI
    5. A Web Services Notification topic namespace
    6. A new JMS topic for messages inbound to CEI
    7. A new JMS topic that CEI uses to publish to Web Services Notification. This topic is not used to send events to IBM Business Monitor. Rather, it can be used to publish events to other Web Services Notification consumers.
    8. A CEI event group profile that CEI uses to publish to Web Services Notification
    9. A new JMS activation spec for the message-driven bean inbound to CEI
    10. Installed and configured the CEI message-driven bean
  6. If any of the artifacts in the previous step are not created, run the removeEventWSN.py script, correct the problem that caused the script to run unsuccessfully, and try step 4 again.
    wsadmin -f <path>/removeEventWSN.py
    -lang jython <path>/eventWSN.properties -profileName <profile>
    -conntype=SOAP
    

    where

    <path> is the path where the scripts are located

    <profile> is the name of the profile that was created for your IBM Business Monitor server

    The following codes shows a sample run of the script on a IBM Business Monitor unit test server that is installed in Integration Designer:

    c:\ibm\WID61\runtimes\bi_v61\bin\wsadmin -f c:\ibm\dev\WSN\scripts\removeEventWSN.py
    good-lang jython c:\ibm\dev\WSN\scripts\eventWSN.properties -profileName WBMonSrv_wps
    -conntype=SOAP 

What to do next

Now you can develop and test your Web Services Notification client to send events to IBM Business Monitor. A useful reference for developing clients is the Web Services Handbook for WebSphere Application Server 6.1.

To develop your Web Services Notification client to send events to IBM Business Monitor, you can use Business Monitor development toolkit 8.5.7 on Integration Designer 8.0. You can also use Business Monitor development toolkit 8.5.7 on Rational® Application Developer 8.5.x to develop an application client. However, you must install the requisite level of Web Services Feature Pack if you decide to use Rational Application Developer 8.5.x and Business Monitor development toolkit.